Commit Graph

215 Commits

Author SHA1 Message Date
Mitchell Hashimoto 7480b65e9d providers/virtualbox: use caps for snapshot list 2015-10-08 08:46:36 -04:00
Mitchell Hashimoto c36b682e40 providers/virtualbox: fix error if no snapshots 2015-10-07 22:22:55 -04:00
Mitchell Hashimoto 8c0e38b397 providers/virtualbox: snapshot restore 2015-10-07 16:48:29 -04:00
Mitchell Hashimoto c635352b89 providers/virtualbox: list snapshots, progress for delete 2015-10-07 16:41:58 -04:00
Mitchell Hashimoto d0e8ecfc73 providers/virtualbox: snapshot save/delete 2015-10-07 16:16:53 -04:00
Mitchell Hashimoto 0586412f9d providers/virtualbox: fix some crashing bugs 2015-10-06 16:22:48 -04:00
Mitchell Hashimoto 2c936b2e37 providers/virtualbox: tidying up the linked clone feature 2015-10-06 14:11:41 -04:00
Mitchell Hashimoto d519d927fa Merge branch 'VB-linked-clone-support' of https://github.com/mpoeter/vagrant into mpoeter-VB-linked-clone-support 2015-10-06 13:50:34 -04:00
Mitchell Hashimoto 2299715b41 providers/virtualbox: code review comments 2015-10-01 17:01:27 -04:00
Mitchell Hashimoto 061a91d09b providers/virtualbox: workaround IPv6 routing bug in VB
VirtualBox has a bug where the IPv6 route is lost on every other
configuration of a host-only network. This is also triggered when a VM
is booted.

To fix this, we test the route-ability of all IPv6 networks, and
reconfigure if necessary. This is very fast but we still only do this if
we have any IPv6 networks.
2015-09-30 18:19:37 -07:00
Mitchell Hashimoto ec0b0fb7f9 providers/virtualbox: IPv6 host only networks 2015-09-30 17:23:25 -07:00
Manuel Pöter 2a2f0a4751 Use hash of machine name for lock file to avoid problems with invalid characters for file names. 2015-08-12 14:25:54 +02:00
Manuel Pöter f4d1d068f9 Merge branch 'master' into VB-linked-clone-support 2015-07-13 10:56:17 +02:00
Mitchell Hashimoto 536ea0729b providers/virtualbox: name for private network chooses right interface
[GH-5389]
2015-07-08 18:35:44 -06:00
Manuel Pöter 9d63ca4dd2 Acquire lock to prevent concurrent creation of master VM for the same box. 2015-06-03 13:31:43 +02:00
Seth Vargo 08f240668b Minor cleanup 2015-05-30 12:02:10 -07:00
Joakim Bergman 2b3411965a virtualbox: handle a list of bridged nics
This change allows you to specify multiple network interfaces to bridge
to, picking the first found.

```ruby
config.vm.network "public_network",
  bridge: ["en4: Thunderbolt Ethernet",
           "en6: Broadcom NetXtreme Gigabit Ethernet Controller",
           "en0: Wi-Fi (AirPort)"]
```
2015-05-07 18:23:11 +02:00
Hugues Lismonde 887f94260e Support Regexp usage for bridge configuration 2015-02-11 11:07:03 +01:00
Seth Vargo d2874064f4 Use .key? instead of .has_key? 2015-01-05 18:29:01 -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
Chris Jones b19abebdf0 Grammar fix to the network interface bridge question 2014-10-31 15:16:02 -04:00
Mitchell Hashimoto 4ffaaf119e providers/virtualbox: more hints when choosing interface [GH-4463] 2014-10-23 10:24:07 -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
Mikhail Zholobov 5197945e56 providers/virtualbox: Remove unused method "using_nfs?"
Related to [GH-4344]
2014-10-23 11:04:21 +04:00
Mitchell Hashimoto 7988f0fb7c Fix broken unit tests 2014-10-22 09:44:48 -07:00
Mitchell Hashimoto 7ccec33460 providers/virtualbox: define a sync_folders action to setup NFS
[GH-4344]
2014-10-22 09:26:38 -07: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 951dc934cc providers/virtualbox: cleaner ignore DHCP 2014-09-04 14:20:03 -07:00
Simo Leone 71119590e8 Fix NFS when DHCP settings use a custom IP range
Only use the static IP if it is indeed a static IP. Otherwise assume
it's DHCP and get the IP that way.
2014-09-02 13:17:30 -07:00
Mitchell Hashimoto 0f3e4242df Merge pull request #3934 from xstevecs/master
providers/virtualbox: Disable automatic enablement of hostiocache
2014-08-06 10:27:20 -07:00
Steve McConville de7ed34120 Changed hardcoded number of interfaces, fixes #4206. 2014-07-17 09:52:57 +01:00
steve 9444e2dc43 Disable automatic ennoblement of hostiocache
This can cause behavior that requires re stat’ing
files to for the guest to realize they have
changed. Prevents manually dialing this option.
2014-05-29 10:27:00 -07:00
Kalman Hazins bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00
Mitchell Hashimoto a8d51a2452 providers/virtualbox: remove old print 2014-05-01 21:19:14 -07:00
Mitchell Hashimoto 9c420b8738 providers/virtualbox: set proper mac address on priv net [GH-3588] 2014-04-30 17:09:29 -07:00
Mitchell Hashimoto 9a16af10ad core: Use Machine#state wherever possible so we update the index 2014-04-21 13:51:23 -07:00
Mitchell Hashimoto 0f70ce7e46 providers/virtualbox: style nitpick 2014-03-11 08:48:33 -07:00
Mitchell Hashimoto d0cd2464b2 providers/virtualbox: only clear forwarded ports if there are any 2014-02-13 21:04:56 -08:00
Mitchell Hashimoto 8d3afa73d2 providers/virtualbox: config to skip guest additions check 2014-02-08 18:35:09 -08:00
Mitchell Hashimoto ea77194384 providers/virtualbox: more detailed output 2014-01-17 21:03:01 -08:00
Mitchell Hashimoto 5b449c8000 providers/virtualbox: many `detail` level output 2014-01-17 21:03:00 -08:00
Mitchell Hashimoto 2f7163386d providers/virtualbox: don't error when intnet set to "true" [GH-2751] 2014-01-03 08:31:14 -08:00
Mitchell Hashimoto 3f2d3886b2 providers/virtualbox: fix package [GH-2739] 2014-01-02 10:09:05 -08:00
Paul Hinze fc66ec1660 providers/virtualbox: allow and prefer static guest IPs for NFS
Since vbox guest properties are proving to be less reliable than we had
hoped, bring back the static config parsing mechanism for finding a
guest IP to hand to NFS. If we find a static IP (or set of IPs) we'll
use that instead of trying to probe guest properties.

This retains NFS support for DHCP interfaces while regaining the
reliability that we previously had when static IPs were required.
2013-12-28 17:01:08 -06:00
Mitchell Hashimoto c1141dded3 providers/virtualbox: don't clear /etc/exports on BSDs for NFS [GH-2645] 2013-12-13 22:03:14 -08:00
Mitchell Hashimoto 55931d507e Merge branch 'nfs-sync-folder-cleanup' of https://github.com/emyl/vagrant into emyl-nfs-sync-folder-cleanup
Conflicts:
	plugins/providers/virtualbox/action.rb
2013-12-06 15:06:34 -08:00
Emiliano Ticci 07bbca426e NFS/VBox: remove dedicated cleanup action in favour of native routine. 2013-12-04 12:29:09 +01:00
Emiliano Ticci c95fc4e27c VirtualBox shared folders: remove dedicated cleanup action in favour of native routine. 2013-12-04 12:22:01 +01: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 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 0b9861db7d providers/virtualbox: fix broken NFS check 2013-11-22 17:29:35 -08:00
Mitchell Hashimoto 9d3818a380 providers/virtualbox: use new SyncedFolders middleware 2013-11-22 16:21:14 -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
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 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 c2012ff944 commands/up: flag --no-destroy-on-error [GH-2011] 2013-08-29 12:13:02 -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
Mitchell Hashimoto b2ee015d00 VirtualBox no longer removes network interfaces [GH-1324] 2013-07-23 17:36:48 -05:00
Mitchell Hashimoto 5f34a694f5 VBoxManage customizations can run at different events [GH-1247] 2013-07-23 17:36:47 -05: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 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 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 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 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 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 bd60d6b283 Lock around chdir in Subprocess for thread safety 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 43d85930ed Improve network interface detection to avoid crash [GH-1480] 2013-03-22 10:51:07 -07:00
Mitchell Hashimoto a4745fb426 Properly handle forward port collision detection with auto-correct
[GH-1472]
2013-03-21 16:33:06 -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