75 Commits

Author SHA1 Message Date
Paul Hinze
25ff636ee2 providers/virtualbox: cleanup default vbox dhcp server
fixes #3083

Detect the presence of the default DHCP server that comes in a fresh
VirtualBox install and clean it up to prevent it from colliding with
Vagrant-managed network config.

In order to accomplish this, we:

 - add a `remove_dhcp_server` call to the virtualbox driver
 - fix dhcp options parsing to allow `:dhcp_{ip,lower,upper}`
   configuration options to make it through (so a user can override the
   removal behavior with some explicit configuration)
 - add the full `:network_name` to the details returned from
   `:read_dhcp_servers`, so we can have a durable value to pass to
   `:remove_dhcp_server`

Note that we do have to eat one more `VBoxManage list dhcpservers` for
each network interface to support this, but this seemed like a nominal
cost
2014-11-30 22:03:52 -06:00
Paul Hinze
24b6f21d1d providers/virtualbox: extract reading dhcpservers from hostonlyifs
This is just a refactor, no behavior change.

Instead of stitching together dhcpserver info in the structure returned
from `read_host_only_interfaces`, sprout a new driver method called
`read_dhcp_servers` to return that information separately.

This means that driver clients (well there's really only _one_ client in
`ProviderVirtualBox::Action::Network`) have to do a bit more work to get
interface and DHCP server information.

But this gives us (a) a cleaner and more consistent driver interface and
(b) groundwork for a fix for #3083, which will require interacting with
DHCP servers outside of the context of host-only interfaces.
2014-11-30 22:03:52 -06:00
Mitchell Hashimoto
37a4000722 providers/virtualbox: more descriptive error if empty version [GH-4657] 2014-10-24 09:20:08 -07:00
Mitchell Hashimoto
a6c0989bc6 Revert "Merge pull request #4616 from crypt1d/master"
This reverts commit aec69c462718a5a506aca6c3d22ff1f34d099510, reversing
changes made to 88754d2904ddae53f45172cfe9bf534c8e21c060.
2014-10-23 09:30:46 -07:00
Mitchell Hashimoto
aec69c4627 Merge pull request #4616 from crypt1d/master
Consider the host_ip value when handling port collisions
2014-10-23 09:26:31 -07:00
Mitchell Hashimoto
2a8f74f54a providers/virtualbox: style 2014-10-23 09:12:41 -07:00
Mitchell Hashimoto
7287604450 Merge pull request #4671 from jramnani/fix/master/nfs_exports_file_for_freebsd_guests
Fix #4658. Bad NFS exports file on OS X & BSD hosts.
2014-10-23 09:12:00 -07:00
Mitchell Hashimoto
58f7310444 providers/virtualbox: detect conflict in name [GH-4681] 2014-10-21 15:56:32 -07:00
Jeff Ramnani
bd5fd7ab18 Fix #4658. Bad NFS exports file on OS X & BSD hosts.
For FreeBSD guests, Virtualbox can sometimes report the private network
interface IP address as "0.0.0.0".  This will cause an invalid NFS
exports file to be generated for FreeBSD and OS X hosts.

Fixed by not allowing Virtualbox to report a guest IP address of
"0.0.0.0".
2014-10-20 12:35:30 -05:00
crypt1d
ca1456ff82 initial changes for forwarding port modifications 2014-10-10 13:01:04 +02:00
Mitchell Hashimoto
ae1a03903e providers/virtualbox: error if can't read VM name [GH-4047] 2014-08-08 10:49:07 -07:00
Keith Shook
93f84f53e5 Ensure VirtualBox virtual disks are stored in the correct directory round 2 2014-07-02 10:08:44 -04:00
Keith Shook
0912ddaf5f Ensure VirtualBox virtual disks are stored in the correct directory on Windows hosts 2014-07-02 08:55:00 -04:00
Akzhan Abdulin
bf2e8deebe VirtualBox driver should replace only last occurence of suggested VM name. 2014-07-02 08:52:31 -04:00
Kalman Hazins
bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00
Mitchell Hashimoto
5ca475fc7d providers/virtualbox: check VBOX_MSI_INSTALL_PATH on Win [GH-3852] 2014-05-20 19:37:18 -07:00
Adam Spiers
082bf37df8 backport GH-3277 fix for missing interpolation to older drivers
The original fix for the "missing interpolation argument :stderr" bug
was in d4b3f226, but it only addressed the driver for VirtualBox 4.3:

  https://github.com/mitchellh/vagrant/issues/3277

This backports the fix to the drivers for VirtualBox 4.0, 4.1, and 4.2.
2014-04-30 16:06:20 +01:00
Mitchell Hashimoto
b08c1a62ce Removing some old files 2014-04-29 16:48:12 -07:00
Yavor Nikolov
2cbaa98751 Fix processing of VBOX_INSTALL_PATH 2014-04-26 11:05:32 +03:00
Mitchell Hashimoto
c1f14320bd providers/docker: process-level lock on host machine up 2014-04-21 13:55:13 -07:00
Mitchell Hashimoto
afb61b1466 providers/virtualbox: synced folder supports the "disable" method 2014-04-21 13:55:12 -07:00
Oscar Renalias
8f4ae68f56 Fixes mitchellh/vagrant #3361 for VirtualBox 4.2.x, including internal networks 2014-03-31 21:32:12 +03:00
Oscar Renalias
094be9dc50 Fixes mitchellh/vagrant #3361 for VirtualBox 4.3.x, including internal networks 2014-03-31 21:31:51 +03:00
Oscar Renalias
cd6f24b2d9 Fixes mitchellh/vagrant #3361 for VirtualBox 4.2.x 2014-03-31 20:36:24 +03:00
Oscar Renalias
0314453f46 Fixes mitchellh/vagrant #3361 for VirtualBox 4.3.x 2014-03-31 20:36:16 +03:00
Mitchell Hashimoto
d4b3f226dd providers/virtualbox: fix missing interpolation [GH-3277] 2014-03-20 17:57:17 -07:00
Mitchell Hashimoto
a8fa2d5ffe providers/virtualbox: import progress works on Windows 2014-03-12 20:02:05 -07:00
Marc Schlaich
5694c7dc2f providers/virtualbox: retry list vms [GH-2831] 2014-03-12 16:23:32 +01:00
Mitchell Hashimoto
3324756e12 providers/virtualbox: don't log in trap context 2014-02-23 22:09:15 -08:00
Mitchell Hashimoto
56e85bc989 Merge pull request #2906 from frosario/cable_connected
providers/virtualbox: connect cable for bridged networking
2014-02-03 03:05:16 -08:00
Freddie Rosario
ccf14bb398 Applying bugfix for cableconnected issue to earlier releases of virtualbox 4.x series 2014-01-28 11:05:44 -05:00
Freddie Rosario
cd0c7dfbd9 Bugfix for github issue 2890.
Changing default behavior of vagrant up to enable "cableconnected" on bridged network devices
2014-01-28 10:54:39 -05:00
Mitchell Hashimoto
eae2edf063 providers/virtualbox: retry list hostonlyifs [GH-2831] 2014-01-15 19:55:31 -08:00
Paul Hinze
c25172d0f7 providers/virtualbox: support DHCP interfaces for NFS
Previously, we required a host-only interface with a static IP for NFS
to work in VirtualBox, because we needed access to the guest's IP in
order to properly configure mount commands.

After boot, VirtualBox exposes the IP addresses of a guest's network
adapters via the "guestproperty" interface.

This adds support for reading VirtualBox guest properties to the
VirtualBox driver and utilizes that support to prepare NFS settings,
which removes the necessity for a static IP for NFS to work.

In this commit we also start building out scaffolding for unit testing
vbox actions and drivers.

Test plan:
 - Prepare a Vagrantfile with the following:
   * private network with type: :dhcp
   * synced folder with nfs: true
 - Boot a VM from this Vagrantfile using the virtualbox provider
 - Machine should boot successfully with working synced folder
2013-12-03 10:21:28 -05:00
Mitchell Hashimoto
2d957cdaab providers/virtualbox: internal networks [GH-2020] 2013-11-25 11:13:46 -08:00
Mitchell Hashimoto
c8be50c69e providers/virtualbox: get rid of some 4.3 global state 2013-11-23 16:30:09 -08:00
Mitchell Hashimoto
2044c7445e Merge pull request #2484 from andyfowler/virtualbox-parallel-import
provider/virtualbox: virtualbox parallel box import
2013-11-23 16:23:07 -08:00
Mitchell Hashimoto
56eb53d8af Merge pull request #2483 from andyfowler/retryable-customize
providers/virtualbox: use Retryable for Virtualbox customize & sane_defaults actions
2013-11-23 16:12:20 -08:00
Mitchell Hashimoto
c00b045f53 providers/virtualbox: retry suspended check [GH-2479] 2013-11-23 11:20:22 -08:00
Andy Fowler
b13122cab7 use Retryable for virtualbox customize + defaults
when up-ing several boxes at once, VBoxManage modifyvm gets cranky and throws random lock errors. this adds the existing retryable logic to
the customize and sane_defaults actions, both of which fire a bunch of
modifyvm commands, all of which are fine to run multiple times.
2013-11-09 18:16:47 -05:00
Andy Fowler
2e9286b4d3 use vbox4.2 driver parallel-safe box import in 4.3
uses what @smoyer did for vbox 4.2 in vbox 4.3,
tested against VBoxManage 4.3.2
2013-11-08 12:48:37 -05:00
Scott Moyer
c2a3a30e35 Update the virtualbox driver to import base boxes into a unique(ish) VM folder to prevent collisions. 2013-11-07 17:07:29 -05:00
Stephan Meissl
889233ed94 Automatically enable symlinks on vboxsf for VirtualBox 4.1 (see #713 and 387692f9c8fa4031050646e2773b3d2d9b2c994e). 2013-10-23 23:00:07 +02:00
Mitchell Hashimoto
b2070eec53 providers/virtualbox: Support VirtualBox 4.3 [GH-2374] 2013-10-15 11:42:22 -10:00
Tomdarkness
27c7243219 Move exception raising back into retryable block in VirtualBox driver command execution
By moving the exception throwing back into the retryable block it actually enables the retryable to function properly by retrying, if appropriate, when an certain exception is raised.
2013-10-11 18:32:54 +01:00
Mitchell Hashimoto
79fa7000fa providers/virtualbox: don't touch DYLD_* anymore.
Subprocess handles this
2013-09-20 17:57:44 -07:00
Mitchell Hashimoto
c38d28f1c5 providers/virtualbox: 4.2 max network adapters to 36 [GH-1886] 2013-08-29 16:50:20 -07:00
Mitchell Hashimoto
1841723478 Add read_mac_addresses to 4.2 VirtualBox driver [GH-1690] 2013-07-20 00:02:05 -04:00
Mitchell Hashimoto
14ae9ed039 Comment 2013-07-18 13:56:45 -04:00
Mitchell Hashimoto
900f7e4d63 Error if VBox 4.2.14 is running. 2013-07-18 13:54:53 -04:00