VVV: New Install Not Working on Multiple Machines - PHP 7.2 Issue

Expected Behavior

For vagrant up to work on a new installation.

Current Behavior

Receive the following error messages about PHP 7.2 packages not being available.

    default: E: Package 'php7.2-fpm' has no installation candidate
    default: E: Package 'php7.2-cli' has no installation candidate
    default: E: Unable to locate package php7.2-common
    default: E: Couldn't find any package by regex 'php7.2-common'
    default: E: Package 'php7.2-dev' has no installation candidate
    default: E: Package 'php-imagick' has no installation candidate
    default: E: Package 'php-memcache' has no installation candidate
    default: E: Package 'php-memcached' has no installation candidate
    default: E: Package 'php-ssh2' has no installation candidate
    default: E: Package 'php-xdebug' has no installation candidate
    default: E: Package 'php7.2-bcmath' has no installation candidate
    default: E: Package 'php7.2-curl' has no installation candidate
    default: E: Package 'php7.2-gd' has no installation candidate
    default: E:
    default: Package 'php7.2-mbstring' has no installation candidate
    default: E: Package 'php7.2-mysql' has no installation candidate
    default: E: Package 'php7.2-imap' has no installation candidate
    default: E: Package 'php7.2-json' has no installation candidate
    default: E: Package 'php7.2-soap' has no installation candidate
    default: E: Package 'php7.2-xml' has no installation candidate
    default: E: Package 'php7.2-zip' has no installation candidate
    default: Main packages check and install failed, halting provision
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

Possible Solution

Upgrade to PHP 7.3 by default?

Steps to Reproduce (for bugs)

  1. git clone https://github.com/Varying-Vagrant-Vagrants/VVV.git
  2. vagrant up

Your Environment

  • VVV version: 2.6.0
  • VVV Git Branch: DEVELOP
  • Vagrant version: 2.2.2
  • VM Provider name: VirtualBox
  • VM Provider version: 5.2.26
  • Operating System and version: MacOS 10.13.6

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 36 (22 by maintainers)

Most upvoted comments

That PR got merged into develop, I think all is good, but can you test?

For existing users, a note before testing

Any database you have inside the VM will be destroyed when you update, so run vagrant up but don’t provision, and run the DB backup script. This runs on vagrant halt so all you would need to do is run that command and it’ll say backing up databases. Otherwise PHPMyAdmin and the MySQL server are accessible via the usual means.

Of course if you’re not bothered about the data inside the DB, you can ##proceed

Testing

  1. First, you’ll need the latest develop branch, so do a git pull, or clone the repo if you’re starting from scratch
  2. halt the VM if it’s running with vagrant halt
  3. vagrant destroy
  4. vagrant up --provision

At this point it should download the new box, then proceed to provision. Wait until the end, then visit http://vvv.test and see if the dashboard, sites, and the tools work as expected. The goal is that the end result should look and work exactly the same, but, on a new VM. I’m not so concerned about performance differences, mainly that all is working and functional.

Thanks for being patient while we worked through this 😃

@DrewAPicture @christopherjanzen @rogeliozarate @EricRihlmann @benedicksahagun @Mte90 @benlumia007

Ensuring it doesn’t happen again

Rather than using the official Ubuntu 18 box, the lovely @LoreleiAurora built a custom Ubuntu 18 box, and she removed everything that was unnecessary. The success of having our own box means we now have far greater control, but it also means VVV 4 will come bundled with everything the core provisioner sets up out of the box.

In future, for most users only site provisioners will be run, and updating VVV will be as simple as:

vagrant box update
vagrant destroy
vagrant up --provision

This means that spinning up a new site will also be significantly faster, as the bulk of the provisioning will no longer happen.

In the event that provisioning new boxes is broken, things would be fine, we’d just use the last working box that was built

Additionally, VVV 3 uses a mounted folder for the database directory, so it survives a vagrant destroy. Tearing down and spinning up a new instance shouldn’t cause data loss as a result. Figuring out how to migrate people to that without data loss has been a long standing blocker to moving to Ubuntu 18, but the 14 EOL necessitated it

It seems some of the packages may not have been mirrored, working on it

Thank you for fixing this over the weekend. All working again now!

@tomjn Thanks, I can confirm that a new installation is working once again.

@tomjn Thanks for the detailed reply, I did not know about the --local flag.

And thanks for fixing VVV quickly. 😃

@tomjn I’m up and running after this update!

Thanks @tomjn I can confirm that issue is still present even after recreating the machine.