60 Commits

Author SHA1 Message Date
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
Mitchell Hashimoto
18492d5d70 Remove VirtualBox Hostname middleware 2013-02-27 21:30:01 -08:00
Mitchell Hashimoto
3c47f4f3bc SetHostname middleware uses hostname 2013-02-27 21:29:33 -08:00
Mitchell Hashimoto
c9ad55d9e7 Built-in hostname middleware for setting hostname 2013-02-27 21:28:09 -08:00
Mitchell Hashimoto
21c218e32f Line up equal signs because I'm anal about it 2013-02-27 19:12:45 -08:00
Mitchell Hashimoto
54bcac2e7a Only error if minor or major version of guest additions is different 2013-02-27 19:10:49 -08:00
Mitchell Hashimoto
5d82123da9 VirtualBox should use the new port forwarding collision detection stuff 2013-02-26 13:38:00 -08:00
Mitchell Hashimoto
6afb4326fa Move NFS to a built-in middleware 2013-02-08 15:34:04 -08:00
Mitchell Hashimoto
a76556f3eb Fix missing translation error in set_name 2013-02-08 15:17:50 -08:00
Mitchell Hashimoto
165dd63f78 New HandleBoxUrl built-in middleware to handlet the "box_url" config 2013-02-01 11:31:08 -08:00
Mitchell Hashimoto
6d002eb4c1 Fix a little logging typo 2013-02-01 10:51:53 -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
4fa194899d VirtualBox config: "name" to set the VM name [GH-1126] 2013-01-30 23:03:21 -08:00
Mitchell Hashimoto
9d2f26604e Properly handle paused VirtualBox VMs [GH-1184] 2013-01-30 22:47:45 -08:00
Mitchell Hashimoto
76ca35a095 Sanitize folder names for default virtualbox name [GH-1223] 2013-01-30 22:17:10 -08:00
Mitchell Hashimoto
f713082280 auto_nat_dns_proxy VirtualBox provider config option [GH-1313]
When set to false, Vagrant will no longer try to automatically manage
NAT DNS proxy settings with VirtualBox.
2013-01-30 21:03:02 -08:00
Mitchell Hashimoto
f9a843ddd0 Fix hostonly network adapter IP for VirtualBox 2013-01-30 10:52:49 -08:00
Mitchell Hashimoto
d26aea142e NFS properly detects hostonly network for VirtualBox 2013-01-30 10:43:53 -08:00
Mitchell Hashimoto
7eec127704 Support refreshing the machine cache 2013-01-30 10:37:40 -08:00
Mitchell Hashimoto
64042a5d35 Downloading the box_url component works again 2013-01-30 10:24:47 -08:00
Mitchell Hashimoto
ca0af2866e Change output to not include the name 2013-01-23 09:45:56 -08:00
Mitchell Hashimoto
9cb86706b8 Make all the VirtualBox middleware aware of synced folders 2013-01-23 09:42:19 -08:00
Mitchell Hashimoto
31448c4cd4 Use the new GracefulHalt built-in for VirtualBox 2013-01-22 12:07:37 -08:00
Mitchell Hashimoto
d5c5c4f523 Convert all VirtualBox provider internals to use new state API 2013-01-21 11:38:37 -06:00
Mitchell Hashimoto
7f55d5eac8 Builtin: ConfigValidate will validate your configuration 2013-01-18 13:26:14 -08:00
Mitchell Hashimoto
84c45a854c Remove the ProvisionerCLeanup action from VirtualBox 2013-01-13 16:03:34 -08:00
Mitchell Hashimoto
212e634c3b Make Provision a built-in action.
This allows other providers to just use it.
2013-01-12 16:22:37 -08:00
Mitchell Hashimoto
48eaa93745 Raise proper error if there aren't any NIC slots available 2013-01-11 15:57:08 -08:00
Mitchell Hashimoto
102e8f23d6 Use scoped hash overrides for high-level config 2013-01-11 15:50:09 -08:00
Mitchell Hashimoto
ccc4da0d32 Remove the old networking code 2013-01-11 15:23:20 -08:00
Mitchell Hashimoto
48995f6036 Support mac address and nic_type for host only networks 2013-01-11 15:22:55 -08:00
Mitchell Hashimoto
d09dc91d1b Add support for bridged networks again 2013-01-11 15:21:09 -08:00
Mitchell Hashimoto
37e158c9b2 Configure networks on the VM 2013-01-11 15:06:38 -08:00
Mitchell Hashimoto
da7f227fff Forwarded ports use the new high-level configuration 2013-01-11 14:51:49 -08:00
Mitchell Hashimoto
7e5f175d2c Check port collisions now uses the new high-level networking 2013-01-11 14:44:27 -08:00
Mitchell Hashimoto
2d8f9baf7f New Network VirtualBox middleware to handle the changes.
Note this is a WIP (hence committed on a branch)
2013-01-11 14:16:00 -08:00
Mitchell Hashimoto
2d3c0b7148 VirtualBox forwarding port uses new network calls 2013-01-04 16:22:38 -10:00
Mitchell Hashimoto
54a2f6b89e Change boot_mode to a provider config gui.
OLD:

config.vm.boot_mode = :gui

NEW:

config.vm.provider :virtualbox do |vb|
  vb.gui = true
end
2012-12-25 09:00:06 -08:00
Mitchell Hashimoto
6478139cee Move config.vm.customize to VirtualBox specific option 2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
66849fda20 When recovering on import and destroying, force it 2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
3c0341b7be Disable DNS proxy for 12.10 too 2012-10-12 20:03:25 -07:00
Paul Visscher
f36ab8a165 Fixes a bug with DNS resolution in Ubuntu 12.10. 2012-10-08 22:12:41 -04:00
Mitchell Hashimoto
391dc39267 Merge branch 'machine-abstraction'
This branch brings in the "machine abstraction" code. This is a major
milestone in the development of Vagrant as it abstracts all of the
VirtualBox-specific code out into a plugin. There is zero VirtualBox
specific code in the core ("lib/") directory at this point. Read on for
important points.

== Gotchas

White it is technically possible now to write plugins for other
providers, there is still major work to be done to make this feasible.
The plugin interface itself is pretty much done, but there are some
issues:

* ":virtualbox" is the hardcoded provider to be used at the moment.

* There is no way to configure a provider. For example,
  `config.vm.customize` would never work for anything other than
  VirtualBox, so there needs to be a way to have provider-specific
  configuration. This will come soon.

* Shared folders and networking need to be rearchitected to be friendly
  for multiple providers, since it is unrealistic that a provider such as
  EC2 could provide the same level of networking, for example.

* There is no way easy way (like `vagrant package --base`) to create
  boxes for providers other than VirtualBox. This will be addressed in a
  whole new feature of Vagrant probably in a future release after
  provider stuff has shipped.

== Writing a Provider

To write a provider, you create a Vagrant plugin that defines a
"provider". See the "plugins/providers/virtualbox/plugin.rb" for more
details. Providers themselves have an exremely simple API. The burden
for writing providers mostly rests on the fact that you must define
complex middleware sequences.

Lots more work to come in the future, but this is a BIG MILESTONE!
2012-08-19 19:27:09 -07:00
Mitchell Hashimoto
85a4fb82a8 vagrant package a single VM works! 2012-08-15 21:04:37 -07:00
Mitchell Hashimoto
b659191a02 vagrant up! 2012-08-14 22:38:41 -07:00
Mitchell Hashimoto
aaeb060f33 vagrant provision 2012-08-14 21:21:31 -07:00
Mitchell Hashimoto
7aa083d259 vagrant reload now works with the new machine abstraction 2012-08-14 21:12:41 -07:00
Mitchell Hashimoto
0cc63c05e2 vagrant destroy fully works 2012-08-13 23:31:12 -07:00
Mitchell Hashimoto
2fc18f7207 destroy gets a little farther, and properly halts the VM 2012-08-13 23:18:50 -07:00