Commit Graph

146 Commits

Author SHA1 Message Date
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
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