Over the past couple of weeks we’ve been very busy preparing to upgrade Hypernode to the latest LTS version Ubuntu 16.04 Xenial. While for Hypernode we highly modify the Ubuntu base, upgrading to this newer version will have many advantages like newer releases of various packages. For Hypernode we build all important parts of the web stack ourselves, which means that for the major components there won’t be much to update since we’ve always run recent versions of all relevant software (PHP, NGINX, etc). But for tooling that we don’t maintain ourselves there will be some newer versions out of the box, which is great.
Upgrading to Xenial gave us the chance to automate some of our external software integration even further by building that infrastructure from scratch again. For example, now whenever Debian tags a new version for their PHP packaging we can automatically integration test freshly compiled builds with our patches all the way up to the Magento application level. This gives us even more control over the stability of Hypernode as a platform. By testing the entire stack we can be even more sure that new software we introduce to the ecosystem doesn’t get in the way of Magento.
To build a testing pipeline like this for Xenial we had to rebuild the hypernode-vagrant image from scratch as well. This release (in combination with vagrant-hypconfigmgmt (0.0.8)) makes that Ubuntu 16.04 image the default for new checkouts of hypernode-vagrant, which means that you can already start testing with a Xenial Hypernode development environment right now.
vagrant up dialogue now prompts for Ubuntu version if no
local.yml is configured. If you already have a local.yml without an
ubuntu_version defined your project will be unaffected until your remove the local.yml file and re-run
vagrant up to trigger the prompt or manually add
ubuntu_version: xenial to the top level of your
local.yml like so:
~/code/projects/hypernode-vagrant$ cat local.yml
New clones of
hypernode-vagrant will assume the Xenial image as the configured image unless specified otherwise.
~/code/projects/hypernode-vagrant$ vagrant up
Bringing machine 'hypernode' up with 'virtualbox' provider...
hypernode: What Ubuntu version do you want to use? Options: xenial, precise (deprecated) [default xenial]:
==> hypernode: Will use the Xenial version. This is the default.
==> hypernode: Your hypernode-vagrant is now configured. Please run "vagrant up" again.
If you want to keep using the Precise image either answer
precise to the dialogue, or add
ubuntu_version: precise to local.yml instead. Leaving
ubuntu_version out of the
local.yml will also fall back to Precise at this point in time (for backwards compatibility with previously generated
local.yml configurations). Additionally the hypernode-vagrant-runner tool now supports the
--xenial flag. If you encounter any problems please let us know.
Also, all production Hypernodes now have mercurial installed due to popular request.