Page MenuHomePhabricator

Guest additions in default image not compatible with VirtualBox 4.3.x
Closed, ResolvedPublic

Description

Mac OS X 10.9
Vagrant 1.3.5
VirtualBox 4.3.6 r91406

Trying to "vagrant up" the freshly git cloned vm, I get the following warning during the installation:

[default] The guest additions on this VM do not match the installed version of
VirtualBox! In most cases this is fine, but in rare cases it can
cause things such as shared folders to not work properly. If you see
shared folder errors, please update the guest additions within the
virtual machine and reload your VM.

Guest Additions Version: 4.1.12
VirtualBox Version: 4.3

Followed by this error later on:

Failed to mount folders in Linux guest. This is usually beacuse
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:

mount -t vboxsf -o uid=id -u vagrant,gid=getent group www-data | cut -d: -f3 /vagrant /vagrant
mount -t vboxsf -o uid=id -u vagrant,gid=id -g www-data /vagrant /vagrant

Which seems to be this underlying error on the vm, when the additional tools try to start:

VbglR3Init failed with rc=VERR_FILE_NOT_FOUND

Googling the underlying error on the VM, it seems like the warning might be the explanation and that the additions need to be updated. I'll try to do that (so far, everything advice I found while googling failed), but the vm's additional tools probably needs to be updated, as someone starting with the latest version of VirtualBox would probably run into the same issue.


Version: unspecified
Severity: normal
OS: Mac OS X 10.8

Details

Reference
bz59712

Event Timeline

bzimport raised the priority of this task from to Needs Triage.Nov 22 2014, 2:21 AM
bzimport set Reference to bz59712.

After installing the additional tools manually via the VirtualBox UI, then shutting down the machine and trying to start it up again using vagrant, the errors are gone:

Mamou-Air:vagrant kouiskas$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Clearing any previously set forwarded ports...
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] -- 80 => 8080 (adapter 1)
[default] Running 'pre-boot' VM customizations...
[default] Booting VM...
[default] Waiting for machine to boot. This may take a few minutes...
[default] Machine booted and ready!
[default] Setting hostname...
[default] Configuring and enabling network interfaces...
[default] Mounting shared folders...
[default] -- /vagrant
[default] -- /vagrant/logs
[default] -- /tmp/vagrant-puppet/manifests
[default] -- /tmp/vagrant-puppet/modules-0

It stops there, however, seemingly not running MediaWiki-specific stuff seen in https://www.mediawiki.org/wiki/MediaWiki-Vagrant/Initial_run

No web server seems to be running on the machine either, and thus 127.0.0.1:8080 doesn't bring up a web page.

Running "vagrant provision" seems to have done the trick (still running, downloading stuff). I imagine it normally only runs when the vm is first brought up. And since the first time I brought up my vm it didn't fully start, vagrant didn't try to run the provisions automatically when my vm finally started properly.

My vm works now, but I imagine anyone trying to install the latest of everything (on OSX at least) will run into the same problem until the incompatibility between the additional tools bundled with the mediawiki vm and the latest version of virtualbox is resolved.

There is a puppet class that checks the installed guest additions and prompts the user to update when they are outdated, but that obviously only works if mounting succeeds since puppet is run inside the VM via a mount.

I wonder if we could bundle https://github.com/dotless-de/vagrant-vbguest or a workalike?

  • Bug 59938 has been marked as a duplicate of this bug. ***

(In reply to comment #3)

There is a puppet class that checks the installed guest additions and prompts
the user to update when they are outdated, but that obviously only works if
mounting succeeds since puppet is run inside the VM via a mount.

I wonder if we could bundle https://github.com/dotless-de/vagrant-vbguest or
a workalike?

Yeah, we probably should. That or host our own image with up-to-date Guest Additions. I'm a bit overloaded at the moment so patches from anyone would be very welcome.

vagrant plugin install vagrant-vbguest works nicely to solve the guest additions upgrade problem on my local install.

I spent about an hour trying to find a way to bundle this plugin in the mediawiki-vagrant project with no success. My vagrant/ruby fu was not up to the challenge. I don't seem to be the only person who has wanted to accomplish such things. The current "best" solution seems to be yet another plugin [0] that is discussed in detail on the author's blog [1].

[0]: https://github.com/fgrehm/bindler
[1]: http://fabiorehm.com/blog/2013/07/15/vundler-dead-easy-plugin-management-for-vagrant/

Change 107518 had a related patch set uploaded by BryanDavis:
Bundle vagrant-vbguest plugin

https://gerrit.wikimedia.org/r/107518

Change 107518 merged by jenkins-bot:
Bundle vagrant-vbguest plugin

https://gerrit.wikimedia.org/r/107518