-
Notifications
You must be signed in to change notification settings - Fork 139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
generic/fedora30 (virtualbox) VB guest update error with vagrant-vbguest #65
Comments
@attila123 have you tried the obvious? Removing the vbguest plugin and/or confirming you have VirtualBox 6.0.8? |
@ladar I am sure removing the "VirtualBox Graphical User Interface Version 6.0.8 r130347" |
@attila123 I just wanted you to try provisioning the box without the plugin, so that we can confirm it's plugin specific. I don't want to ship boxes that require a plugin, but I have no issue fixing minor compatibility issues, if it doesn't break anything. I just don't have the resources to test every box (up to 40 now), on all 6 hypervisors... it gets even tougher if you include different host OSes (Win/Mac/endless Linux distros). As for this issue... this config module/script is what sets up the VirtualBox version of the Fedora 30 images... so if we can identify what's needed, that's where it will go. https://github.com/lavabit/robox/blob/master/scripts/fedora30/virtualbox.sh |
@ladar Your box would not require but rather support vagrant-vbguest if you would add the support. But currently it is unclear how to support vagrant-vbguest so I opened an issue for them (see above). Maybe the solution should come from their side by making it clear in their logs that those messages are coming from their plugin (virtualbox users may not remember what plugins they installed and they should not be considered vb guest additions experts). So let me create one more issue for them. Update: actually virtualbox should have this improvement and show which plugin is logging... |
I cannot uninstall vagrant plugins for some reason:
|
@attila123 looks like your setup is corrupted. Do you have Either way your plugin gem files should be stored in your
Which will use a clean |
Yes looks like my setup was corrupted, so I decided to uninstall vagrant (distro package) and deleted /opt/vagrant and ~/.vagrant.d directories and installed vagrant again (from distro package).
it worked fine (with no vagrant plugins). Now the author (or dev) of the vagrant-vbguest commented that the error may came from the fact that the VM did not have the |
@attila123 since you have an image up and run the following, and post the output: which vboxadd
sudo updatedb
locate vboxadd
dnf whatprovides "*/vboxadd"
sudo su
which vboxadd |
@ladar I executed the commands:
Also I did robox/scripts/fedora30/virtualbox.sh Line 61 in be20ce6
|
@attila123 @fnordfish it appears
The service name/rules might be different. I don't have one handy to test. |
So, the issue with installing guest additions via distribution packages is that, they are often out of sync with what people have on their host machines. Some distos make it impossible to install a specific version, newer versions are released with great time difference, or not released for specific versions of the guest OS release at all. So, the best way - at least from our perspective - would be to seed the box with guest additions installed from sources (using the iso file |
@fnordfish some of the roboxes do compile the guest agents from source (using the 5.2.38 I think), if no official distro package is available, or the official version is very outdated. The problem was the build/install process from the ISO was rather fragile, so I felt the repo packages would be more "reliable." It seems with the Fedora 30 (based on your error message) uses a relatively recent release. I'd say 6.0.4 based on this URL: All of that being said, if what you've chosen to do (always compile from source), then you need to detect the OS, and check for the official package, and remove it first. Even if the VBox install script "replaces" an existing install, you're sure to have issues when the OS updates itself -- not to mention having dangling files (like a systemd config) which doesn't get removed. On RPM based distros, you can look for the guest agent with something like
And remove it with:
Of course it's better to use the package manager, specifically What's seen is scripts look for the You can look at the P.S. Other commands to look for (off the top of my head) are |
@attila123 @fnordfish it seems that we've confirmed the issue is with the plugin. Removing the agent doesn't seem like the right choice for a base box image. Is there some other fix/workaround that is appropriate or should I close this issue? P.P.S. If you do write a cross platform package detect/remove/install script, let me know, I could use it for several of my projects. I'd like to check for all the build requirements so I don't get as many, "this failed to compile" issues. So far I've only written something primitive for #!/bin/bash
if [ `id -u` != 0 ]; then
tput sgr0; tput setaf 1
printf "\nRoot permissions are required to install this project.\n\n"
tput sgr0
exit 1
fi
PACKAGES=( patch httpd mod_ssl mod_wsgi mysql-devel openssl-devel libffi-devel python-pip python-ply python-devel python-pycparser python-memcached python-dateutil python-dateutil15 python-crypto2.6 MySQL-python pyOpenSSL )
for pkg in "${PACKAGES[@]}"
do
TEST=`rpm -q --whatprovides $pkg`
if [ "$?" -gt 0 ]
then
echo "Installing $pkg missing"
yum --assumeyes --enablerepo=epel install $pkg
fi
done |
@ladar I agree, vbguest should probably try to remove/cleaup packaged installs by itself - again not putting any requirements on the boxes since they can't be "enforced" anyways :) |
OK, thanks for discussing the issue, so based on the comments I am closing this issue here as there is an agreement that the issue should be solved in vagrant-vbguest plugin. |
I created a Vagrantfile similar to this:
When I run
vagrant up
(on Linux) it fails:I have the vagrant-vbguest plugin installed if that matters.
Box version: generic/fedora30 (virtualbox, 1.9.18)
Update: indeed this problem is related to vagrant-vbguest. Could this vagrant box support vagrant-vbguest? Otherwise the following workaround in the Vagrantfile works (I found it in some other Vagrantfile):
The text was updated successfully, but these errors were encountered: