Using the –no-provision directive for Vagrant when resuming machines
It seems that there is an active issue when resuming machines using Vagrant that triggers provisioning scripts on resume and not just when doing the original
vagrant up command.
The issue here is that I already have the build script executed on the original vagrant build of the machine. The scripts may not be idempotent, and could overwrite content or damage the active machine.
In our Vagrant file, we use the provision capability regularly, so we would not want to have to build all sorts of logic around that unless necessary because Vagrant did this natively in the past.
Workaround Using the –no-provision Parameter
Rather than run a
vagrant resume as you saw above which triggered the build script again, you can simply use a
vagrant up --no-provision which will bring the machine up and reconnect any SSH connections and NFS shares, but it will ignore any provision directives from the Vagrantfile:
Hopefully this will be solved in a patch or future update to Vagrant. The post deals specifically with version 1.8.1 that presented the problem. It may also be present in other versions.