Environment:
OSX 10.10.3 (10.10.4 upgrade waiting for reboot)
Vagrant 1.7.2 installed from .dmg
VirtualBox 4.3.28r100309
I've been bringing up Ubuntu 12.04.5 LTS boxes for a while. Provisioned using Puppet and tested with vagrant-serverspec.
After the box is brought up fine I find that the "vagrant up" process is still running a child process:
$ ps -ef | fgrep vagrant
501 47041 1 0 8:46am ?? 0:00.13 ruby /opt/vagrant/bin/../embedded/gems/gems/vagrant-1.7.2/bin/vagrant up --color
all.ubuntu-safeshare.devAs you can see, the parent of this process is not my shell but init.
The Puppet provisioner passes fine, the "serverspec" provisioner fails a couple of tests because it doesn't wait enough, but otherwise it exits.
The process holds the lock on the Vagrant box so I can't re-provision it (e.g. to rerun tests) until I kill it.
A simple "kill 47041" is enough.
The process doesn't have any children (according to "pstree", and it doesn't output anything to its stdout or stderr.
This is the list of installed plugins:
$ vagrant plugin list
landrush (0.18.0)
vagrant-cachier (1.2.0)
vagrant-host-shell (0.0.4)
vagrant-serverspec (1.0.1)
vagrant-share (1.1.3, system)
I manage to get the same behaviour even with "--no-provision" flag, which might rule out any provisioner interfering.
If I look for processes while "vagrant up --no-provision" is running I see two processes pretty much all the time, one of them has init (pid 1) as its parent all this time too, then the parent (the direct bash child) exits but the other process stays behind and holds the lock.
From looking at the "--debug" output, it seems that all the external commands executed by Vagrant are VBoxManager, could this be a VirtualBox bug?
Thanks.