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.

The 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:

New clones of hypernode-vagrant will assume the Xenial image as the configured image unless specified otherwise.

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.