Vagrant: Vagrant 1.8.0 attempt to install VirtualBox even when other provider is installed

Created on 22 Dec 2015  Â·  6Comments  Â·  Source: hashicorp/vagrant

Starting with 1.8.0, Vagrant seems to attempt to install VirtualBox regardless of which provider being used.

I have VMware Fusion plugin installed (4.0.3) with VMware Fusion 8.0.2. Upon upgrading to 1.8.0, Vagrant now attempt to install VirtualBox every time I tried vagrant up. I've tried adding --provider vmware_fusion but the result is the same. The only workaround I see working is to use --no-install-provider.

$ vagrant --version
Vagrant 1.8.0

$ vagrant plugin list
vagrant-share (1.1.5, system)
vagrant-vmware-fusion (4.0.3)

$ vagrant plugin update vagrant-vmware-fusion
Updating plugins: vagrant-vmware-fusion. This may take a few minutes...
All plugins are up to date.

$ vagrant up
==>  Provider 'virtualbox' not found. We'll automatically install it now...
     The installation process will start below. Human interaction may be
     required at some points. If you're uncomfortable with automatically
     installing this provider, you can safely Ctrl-C this process and install
     it manually.
==>  Downloading VirtualBox 5.0.10...
     This may not be the latest version of VirtualBox, but it is a version
     that is known to work well. Over time, we'll update the version that
     is installed.
^C

$ vagrant up --provider vmware_fusion
==>  Provider 'virtualbox' not found. We'll automatically install it now...
     The installation process will start below. Human interaction may be
     required at some points. If you're uncomfortable with automatically
     installing this provider, you can safely Ctrl-C this process and install
     it manually.
==>  Downloading VirtualBox 5.0.10...
     This may not be the latest version of VirtualBox, but it is a version
     that is known to work well. Over time, we'll update the version that
     is installed.
^C

$ vagrant up --no-install-provider
Bringing machine 'default' up with 'vmware_fusion' provider...
bug core

All 6 comments

Is there a corresponding directive that can be put into a global Vagrantfile (ie. $VAGRANT_HOME/Vagrantfile) to default to the behaviour of --no-install-provider?

Ah, I see the issue here. This is relatively complex.

We use Env.default_provider to find the provider to install for a machine. The default provider however may be "VirtualBox" even if VMware is requested. In this case, we install that. We need to augment the check to:

  • Probably take into account the forced provider
  • Look at the machine index as well for a provider if the machine is already active.

Does that mean having e.g. VAGRANT_DEFAULT_PROVIDER=parallels in my env would prevent the default VB install?

That indeed would, but 1.8.1 will come out shortly so it may not be worth it.

I already have that in my env but have waited to upgrade because of the issue.

Sent from my iPhone

On 25 Dec 2015, at 04:24, Mitchell Hashimoto [email protected] wrote:

That indeed would, but 1.8.1 will come out shortly so it may not be worth it.

—
Reply to this email directly or view it on GitHub.

vagrant sucks, it doesn't work at all on windows 10. Why so many steps to make it work ? this is 2016, not 1995.

Was this page helpful?
0 / 5 - 0 ratings