Varying Vagrant Vagrants logo Varying Vagrant Vagrants

Hi! Welcome to the very late release post for VVV v3.0. As we follow semantic versioning, this is a breaking release, and requires slightly different update instructions.

Ubuntu 14 EOL and moving to Ubuntu 18 LTS

VVV 2 uses Ubuntu 14, but this reached end of life recently. In response Ondrej deleted the unsupported PHP packages, and all VVV 2 installs were no longer able to provision. VVV contributors had setup a package mirror in case this had happened, but it seems only 70% of the needed packages were mirrored.

For this reason, VVV 2 is no longer supported, and won’t be recieving fixes and updates.

VVV 3 moves us to a new Ubuntu 18.04 LTS box, which should cover us until 2024. Additionally, we’re using a leaner custom built box. This does mean that you will need to destroy your VM to update:

# turn off the VM
vagrant halt
# destroy the Ubuntu 14 VM
vagrant destroy
# pull down the latest update
git pull
# provision a shiny new Ubuntu 18 VM
vagrant up --provision

This will destroy the database, but luckily VVV has been creating backups for a long time, you can restore them after updating with this command:

vagrant ssh -c "db_restore"

If you turned off database backups, you can manually back up your database before updating with this command:

vagrant ssh -c "db_backup"

What Else Has Changed?

MariaDB data No Longer Inside the VM

VVV3 stores its database in database/data now, which means it will survive a vagrant destroy. If you’re having trouble provisioning mariadb, let us know on github issues.

We also added a config option to return to the old behaviour for those having problems:

general:
  db_share_type: false

We continued optimising provision in this release, and making VVV friendlier.

Vagrant Guest Additions Plugin Disabled

Our new box has recent guest additions, so this shouldn’t be needed. However, some users like this plugin, and when reprovisioning encountered problems. We’ve disabled the plugin just for VVV to avoid these issues.

Changes To Utilities

Utilities are now simpler and easier to work with and debug:

Mapped Folder Changes

With this release, we removed the /vagrant mapped folder and eliminated overlapping vagrant shared folders. This improves compatibility, the new shares are:

VVV will now copy the version and vvv-custom.yml file on provision into /vagrant inside the VM, but this folder is no longer mounted and is erased on every provision prior to copying.

Ubuntu 18 Changes

Ubuntu brings with it lots of Kernel improvements that make Ubuntu faster in a virtual machine. Expect to see small to large performance improvements in some areas depending on your machine and workload.

We also had the opportunity to update some packages, Mongodb has been updated from v3.4 to v4.0, and various security improvements have been inherited.

Provisioning Improvements

We also improved the provisioners:

VirtualBox and Vagrant Versions

If you’re using the 6.x versions of VirtualBox, be sure to update to v6.0.8 which contains several important fixes regarding shared folders.

We also now require Vagrant v2.2.4 as a minimum version.

.dev Domains Removed

We deprecated these a while ago, but vvv.dev is no longer added as a host or listened for by Nginx. We also removed vvv.local, and vvv.localhost to avoid confusion. From now on vvv.test is the dashboard URL.

As an aside, vvv gets added, and we’d like to remove it, but aren’t sure how. If you know how to do it, let us know!

Finally, a Big Thank You To Our Testers

To make sure we eliminated as many kinks and issues as possible, we had a large pool of testers, community members who took their own time to help verify and find problems. I have no doubt some still remain, and I hope a v3.1 will be out in the next week or two. Dealing with the sudden changes to Ubuntu 14 have been tough on a lot of people, and a major disruption to others, thank you for being patient!