Commit Graph

240 Commits

Author SHA1 Message Date
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
Emiliano Ticci 578393ac8e Add cleanup routine to synced folder plugin implementation 2013-12-02 11:19:09 +01:00
Mitchell Hashimoto 602505a136 providers/virtualbox: some validation around internal networks 2013-11-25 11:25:10 -08: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 cfe17076b5 providers/virtualbox: nitpick on style 2013-11-23 16:16:45 -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 aed61291e8 Update CHANGELOG 2013-11-23 11:45:06 -08:00
Mitchell Hashimoto 4e75e39ee5 Merge pull request #2426 from tmatilai/virtualbox_memory
providers/virtualbox: Add shortcut for setting the memory size for VirtualBox VM
2013-11-23 11:44:13 -08:00
Mitchell Hashimoto c00b045f53 providers/virtualbox: retry suspended check [GH-2479] 2013-11-23 11:20:22 -08:00
Mitchell Hashimoto 2c8b6ace7f providers/virtualbox: output UI 2013-11-22 19:33:17 -08:00
Mitchell Hashimoto 0b9861db7d providers/virtualbox: fix broken NFS check 2013-11-22 17:29:35 -08:00
Mitchell Hashimoto be6d4cc116 providers/virtualbox: make sure sf host paths are strings 2013-11-22 17:16:21 -08:00
Mitchell Hashimoto 35ac7da5a0 providers/virtualbox: don't use NFS middleware anymore 2013-11-22 17:13:53 -08:00
Mitchell Hashimoto 52fe93cc41 synced_folders/nfs: begin implementation (not functional) 2013-11-22 16:51:55 -08:00
Mitchell Hashimoto 9d3818a380 providers/virtualbox: use new SyncedFolders middleware 2013-11-22 16:21:14 -08:00
Mitchell Hashimoto 97148379d2 providers/virtualbox: implement the synced folder plugin 2013-11-21 17:38:17 -08:00
Mitchell Hashimoto 504707f96a Merge pull request #2482 from andyfowler/safer-vbox-names
core: safer default VM names for Virtualbox
2013-11-21 15:01:31 -08:00
phinze 4225b0eb7b provider/virtualbox: fix bad constant reference in dhcp error
refs #2454
2013-11-20 11:15:25 -06: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 d775756d18 use a safer default name for virtualbox
if the same vagrantfile is up'd in the same second in the same basedir
this caused a conflict,

most notably, all jenkins jobs sit in a 'workspace' directory, which
breaks if more than one job launches from the same trigger.
2013-11-09 15:54:46 -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
Teemu Matilainen 3368ef610a Add shortcut for setting the memory size for VirtualBox VM 2013-10-28 00:43:33 -03: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 a36f06f28f Update CHANGELOG 2013-09-15 16:39:54 -07:00
Mike Rowehl 251cafe5e4 Call the rest of the middleware stack all the time. 2013-09-13 09:34:40 -07:00
Mitchell Hashimoto 154b32e561 Merge pull request #1745 from jheise/master
providers/virtualbox: static ip addresses on public networks
2013-09-02 15:10:33 -07:00
Mitchell Hashimoto a96efcdec9 providers/virtualbox: only set default name on first up [GH-1817] 2013-08-31 22:43:33 -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 0f4ba6dc3b providers/virtualbox: Run post-boot after boot but before wait for SSH
[GH-2048]
2013-08-29 16:44:32 -07:00
Mitchell Hashimoto 261d0ef6cd core: WaitForCommunicator - more robust wait for boot
This is a new built-in middleware that is more robust for
waiting for boots. The "max_tries" configuration is now gone, it is
timeout based. Future commits will make this even better as the
SSH communicator will implement the new "wait_for_ready" in a better
way.
2013-08-29 16:27:00 -07:00
Mitchell Hashimoto 2b7a1297c8 core: set `disabled: true` for disabling forwarded port [GH-1922] 2013-08-29 12:25:53 -07:00
Mitchell Hashimoto c2012ff944 commands/up: flag --no-destroy-on-error [GH-2011] 2013-08-29 12:13:02 -07:00
Mitchell Hashimoto d4c7e20110 core: ProvisionerCleanup task to run cleanup on provisioners 2013-08-29 11:13:43 -07:00
Mitchell Hashimoto 54ac2e8448 Merge pull request #1713 from akalyaev/respect-nec-type-option-for-private-networks-1704
core: respect :nic_type option for private network. Fixes #1704
2013-08-28 22:44:20 -07:00
Michael Lex 172a5dac5a allow port-forwarding of the same port number but with different protocols [GH-1108] 2013-08-16 12:10:03 +02:00
Timo Sugliani 75da036f42 Cosmetic typo error. 2013-07-24 08:55:12 +01:00
Mitchell Hashimoto b2ee015d00 VirtualBox no longer removes network interfaces [GH-1324] 2013-07-23 17:36:48 -05:00
Mitchell Hashimoto 92a61f96a0 Config validation error if :id in pre-import VBoxManage 2013-07-23 17:36:47 -05:00
Mitchell Hashimoto 5f34a694f5 VBoxManage customizations can run at different events [GH-1247] 2013-07-23 17:36:47 -05:00
Mitchell Hashimoto 4151df884a Forwarded ports don't auto-correct by default [GH-1701] 2013-07-20 00:15:11 -04: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
Kazuhiro NISHIYAMA 889067666b pass guest_ip option from config to driver [GH-1121] 2013-07-18 15:03:13 +09:00
Mitchell Hashimoto 3e9c1cfcde Default VM name for VirtualBox contains Vagrantfile VM name [GH-1281] 2013-07-18 00:05:23 -04:00
Mitchell Hashimoto 3028940adb NFS allows access from all networks on VM [GH-1204] 2013-07-18 00:01:49 -04:00
Mitchell Hashimoto 0dfc6455ae Update CHANGELOG 2013-07-13 09:22:53 +09:00
Antek Baranski 28e7ae1d05 Enable setting the IP address on DHCP based private network 2013-07-12 17:18:38 -07: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 e941c549f2 box_url downloading happens before config validation [GH-1061] 2013-07-10 20:10:33 -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 3d1332c86f virtualbox: only configure networks if there are some [GH-1796] 2013-06-09 13:37:15 -07:00
Jon Heise 7a89ab7fad patching network.rb to allow setting static ip's on public networks 2013-05-18 23:41:33 -07:00
Anton Kalyaev 098516e80e respect :nic_type option for private network. Fixes #1704 2013-05-10 15:45:50 +04: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 780a312fc9 Built-in DestroyConfirm middleware 2013-04-19 14:14:29 -06:00
Mitchell Hashimoto 0e7a9d3c91 Mount VBox shared folders with proper owner/group [GH-1611] 2013-04-16 17:09:32 -07:00
Mitchell Hashimoto c1f53a4ace ssh-config doesn't raise exception when VB machine not created [GH-1562] 2013-04-09 08:47:52 -07:00
Mitchell Hashimoto a9b2ab33ad Convert network type to symbol so that strings can be used 2013-04-08 10:39:26 -07:00
Mitchell Hashimoto 88b34d3b71 Message on `up` that VM is already running [GH-1558] 2013-04-08 09:09:23 -07:00
Mitchell Hashimoto 142cc4bef7 rtcuseutc as sane default for VBox [GH-912] 2013-04-07 15:04:38 -07:00
Mitchell Hashimoto c34c8b39c3 Expand Cygwin path to Windows for VirtualBox shared folders 2013-04-06 22:08:41 -07:00
Mitchell Hashimoto 373a1d8633 Properly expand cygwin paths to Windows path for vboxmanage 2013-04-06 22:06:33 -07:00
Mitchell Hashimoto 2a542dab02 Switch configure_networks to capabilities system 2013-04-03 23:08:33 -07:00
Mitchell Hashimoto 28d3f274d8 First capability for linux 2013-04-03 23:01:43 -07:00
Mitchell Hashimoto 4ffc2c3b74 Invalid configuration keys are caught and shown in user friendly way
[GH-1484]
2013-04-03 16:18:37 -07:00
Mitchell Hashimoto fc708bc139 Respect :mac option for networks [GH-1536] 2013-04-03 15:41:42 -07:00
Mitchell Hashimoto acd494d148 Get rid of debug exception 2013-04-03 12:50:04 -07:00
Mitchell Hashimoto 36edc4a0fd Re-disable parallel on virtualbox 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto bd60d6b283 Lock around chdir in Subprocess for thread safety 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto c84c609633 Gracefully handle errors in parallel cases 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto 79ba9df881 Respect the "disabled" flag for shared folders for VirtualBox [GH-1004] 2013-04-03 08:31:41 -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 d9c1b4b3fc Default forward port adapter for VirtualBox should be 1 2013-03-25 14:32:15 -07:00
Mitchell Hashimoto 43d85930ed Improve network interface detection to avoid crash [GH-1480] 2013-03-22 10:51:07 -07:00
Mitchell Hashimoto 230a3ca0bf Force to_i on adapters for forwarded ports in VirtualBox 2013-03-22 10:47:25 -07:00
Mitchell Hashimoto a4745fb426 Properly handle forward port collision detection with auto-correct
[GH-1472]
2013-03-21 16:33:06 -07:00
Mitchell Hashimoto df23c2a8fa Move guest addition check to later, after boot [GH-1179] 2013-03-21 13:59:13 -07:00
Jan Schumann d42b7745e4 added dhcp configuration option for private networks 2013-03-20 20:18:32 +01:00
Mitchell Hashimoto c94f61d274 Only prepare NFS settings for VirtualBox if NFS is enabled 2013-03-18 13:21:06 -07:00
Eivind Uggedal c45d3ee728 Fix wrong reference to Errors::NFSNoHostonlyNetwork introduced in 022c1da [GH-1437]. 2013-03-18 14:30:26 +01:00
Mitchell Hashimoto 022c1daec0 Raise error if no hostonly network on VBox with NFS [GH-1437] 2013-03-17 22:33:02 -07:00
Mitchell Hashimoto f03175b4af Don't "return" if FP less than port 1024 [GH-1421] 2013-03-15 15:15:54 -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 5b18cfae28 Raise properly namespaced errors in VM boot 2013-03-06 14:46:25 -08:00
Mitchell Hashimoto 36b805367d Fix all core code to use the new networking syntax 2013-03-01 16:48:10 -08:00