Commit Graph

129 Commits

Author SHA1 Message Date
Paul Hinze 88ab9f7402 providers/virtualbox: read netmask from dhcpservers
This should fix the cleaning up of the default VirtualBox dhcpserver,
which we've been fighting with for ages over in #3083. We were checking
for a structure _including_ a netmask, but the driver was not populating
netmask.
2015-01-21 10:51:39 -08:00
Seth Vargo d2874064f4 Use .key? instead of .has_key? 2015-01-05 18:29:01 -05:00
William Kolean 084d2c06de enable symlinks before adding shared folder 2015-01-01 16:00:17 -05:00
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 aec69c4627, reversing
changes made to 88754d2904.
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
mpoeter c20624bfdc Add support for linked clones for VirtualBox. 2014-09-09 19:17: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 387692f9c8). 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
Mitchell Hashimoto 6d26c86c4c Properly detect missing VirtualBox [GH-1918] 2013-07-12 17:13:10 +09:00
Mitchell Hashimoto fd644c5105 Forward ports can specify host/guest IP to bind to [GH-1121] 2013-07-10 20:30:15 -07:00
Mitchell Hashimoto ba91602628 Bind default SSH to 127.0.0.1 [GH-1785] 2013-06-09 15:15:59 -07:00
Mitchell Hashimoto e0f8114103 Detect missing Linux kexts via vboxnetctl error message [GH-1671] 2013-04-30 09:45:00 -07:00
Mitchell Hashimoto ad5873d330 More robust VBoxManage error checking. [GH-1669] 2013-04-29 10:11:53 -07:00
Mitchell Hashimoto d8ff2cb5ad Attempt to read guest additions version from showvminfo [GH-1575] 2013-04-22 20:38:57 -07:00
Mitchell Hashimoto 373a1d8633 Properly expand cygwin paths to Windows path for vboxmanage 2013-04-06 22:06:33 -07:00
Mitchell Hashimoto bc2a9fe780 VBoxManage errors show stderr 2013-03-31 20:45:54 -07:00
Mitchell Hashimoto 0a86deedf1 better comments on the last change 2013-03-29 13:15:11 -07:00
Mitchell Hashimoto 30053638af Human friendly error on exit code 126 from VBoxManage 2013-03-29 13:14:00 -07:00
Mitchell Hashimoto c8b829c4d2 Properly resolve cygwin paths in Cygwin environments [GH-1366] 2013-03-13 21:50:41 -07:00
Mitchell Hashimoto 57a5edbc39 Merge pull request #1366 from johnb0011/master
Solve Virtualbox pathing issue running under Cygwin
2013-03-13 21:41:34 -07:00
Mitchell Hashimoto 7f736f934c Improve VBox kernel module detection for Gentoo [GH-710] 2013-03-13 21:39:05 -07:00
Mitchell Hashimoto 65e3614226 Namespace VBoxManage errors properly 2013-03-06 14:47:28 -08:00
Mitchell Hashimoto 082cc7f92d Retry setting default name for VirtualBox VM [GH-1368] 2013-02-23 11:52:29 -08:00
John Barney a390b9dddf Removing tabs added by a bad .vimrc 2013-02-10 03:49:15 -08:00
John Barney e0949085a0 No longer need VBoxmanage.exe to be in PATH in Cygwin. 2013-02-10 01:40:59 -08:00
Mitchell Hashimoto 387692f9c8 Enable symlinks on vboxsf for VirtualBox 4.2 [GH-713] 2013-02-06 11:51:59 -08:00
Mitchell Hashimoto 1392d9b4a5 Detect if a VM name is already taken for VirtualBox 2013-01-30 23:22:45 -08:00
Mitchell Hashimoto 9d2f26604e Properly handle paused VirtualBox VMs [GH-1184] 2013-01-30 22:47:45 -08:00
Mitchell Hashimoto 7a9363e8a1 Fix ordering of forwarded_port call 2013-01-04 16:35:13 -10:00
Mitchell Hashimoto b9f6afd2a0 Scrub LD_LIBRARY_PATH prior to executing VBoxManage 2012-12-16 10:37:43 -08:00
Mitchell Hashimoto 42f157143f Forward-port fix for OS X and VirtualBox bug from 1-0-stable 2012-11-20 11:00:19 -08:00
Mitchell Hashimoto 678c6a070d VirtualBox 4.2 support 2012-09-13 19:11:32 -07:00
Mitchell Hashimoto 44b4b9dfef Move drivers to the VirtualBox plugin. Use Machine class.
This starts the transition of replacing VM with Machine. Machine still
isn't ready to fully replace VM but by moving it now, I'm able to find
the spots that need to be fixed. At this point `vagrant status` works
with the new provider interface.
2012-07-24 21:32:38 -07:00