161 Commits

Author SHA1 Message Date
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
8299ac38bd Rework v1 forward_port call to append forward port networks 2013-01-10 12:06:08 -08:00
Mitchell Hashimoto
7a9363e8a1 Fix ordering of forwarded_port call 2013-01-04 16:35:13 -10:00
Mitchell Hashimoto
559cf25b5f Temporarily disable Network action while it is broken 2013-01-04 16:25:20 -10:00
Mitchell Hashimoto
2d3c0b7148 VirtualBox forwarding port uses new network calls 2013-01-04 16:22:38 -10:00
Mitchell Hashimoto
a2cf0270a3 Remove network validation on config. We'll re-add this later. 2013-01-04 16:13:02 -10:00
Mitchell Hashimoto
640b296f5a Explicitly set error handling for port collision on resume 2013-01-04 16:11:40 -10:00
Mitchell Hashimoto
be36c702d6 Booting new VirtualBox VM should check for port collisions 2013-01-04 16:08:37 -10:00
Mitchell Hashimoto
5c950d8200 Remove old forward_port method for configuration. Use network 2013-01-04 15:48:54 -10:00
Mitchell Hashimoto
cd969e1e05 Remove the dotfile_name configuration option.
The dotfile is gone now so the configuration option is obselete
2012-12-26 21:45:24 -08:00
Mitchell Hashimoto
d54d58c09c Call finalize! properly on provider configurations 2012-12-26 21:44:43 -08:00
Mitchell Hashimoto
e955596939 Set a default for the "gui" option for VirtualBox 2012-12-25 09:18:47 -08: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
2cfc5986d2 Wording changes in the status command. VM => machine 2012-12-24 10:00:28 -08:00
Mitchell Hashimoto
8fe0f86dbd The --provider flag for up now actually does something. 2012-12-23 21:23:08 -08:00
Mitchell Hashimoto
8cc4910fa9 Merge commit that got missed. Ignore changes in this comit. Read message
This branch brings in a whole lot of awesome. The name does not do it
justice. The list of things that comes into play here:

* "virtualbox" is no longer hardcoded anywhere in core. It is the default
  provider, yes, but it is 100% possible now to slip in another provider
  and have it work.

* `vagrant up --provider` is a thing. This allows you to specify an
  alternate provider. Note that the other commands don't support
  `--provider` yet so its not THAT useful, but its getting really close.

* True V2 configuration is in place. That means that `Vagrant.configure`
  calls now are loading a completely new configuration version, and old
  1.0.x Vagrantfiles are V1 configuration. V1 configuration is upgraded
  automatically internally, so backwards compatibility is maintained.
  Magic, people, magic.

* `config.vm.provider` is the major new configuration option. This is
  how provider-specific configuration will be done. For example, Vagrant
  has always provided a way to make a pass of `VBoxManage` calls to
  customize your VM via `config.vm.customize` in V1. This now exists
  as a VirtualBox configuration option. See the example here:
  https://gist.github.com/98f5a0df6a05286dfb73

* Unit tests no longer depend on VirtualBox being installed, because for
  unit tests we slip in a "no-op" provider, which is a fully valid
  Vagrant provider plug-in that does... NOTHING! Brilliant!

* Lots of core middleware executor improvements that make writing and
  using middleware stacks a lot more enjoyable. Enjoy a set of "standard
  library middlewares" provided by Vagrant in Vagrant::Action::Builtin.

The multi-provider is really shaping up here.
2012-12-23 16:34:09 -08:00
Mitchell Hashimoto
178c47992c Remove unused files 2012-12-23 16:29:26 -08:00
Mitchell Hashimoto
a671fdcbcb Upgrade sub-VM defines from old config 2012-12-23 16:29:26 -08:00
Mitchell Hashimoto
3808ea377f Upgrade all other default configurations to V2 2012-12-23 16:29:26 -08:00
Mitchell Hashimoto
bf53abca76 VM config upgrades provisioners 2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
ed6123ac77 Upgrade all VM configs except provisioners (TODO still) 2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
9f6b091575 Comment clarification 2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
9f893534f1 Upgrade VM customizations 2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
e88d735cb6 Make configured VM providers default to an empty one 2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
553d4a828a Make sure provider config is always available even if no block was given 2012-12-23 16:29:25 -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
1ee470a551 Begin work on supporting provider-specific configuration
This works by registering a `config` with `:provider => true` with the
same name as your provider. Vagrant will then automatically configure
the provider when `config.vm.provider` is used.
2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
666f9f802d When upgrading V1 vm config, don't set on new if it wasn't set before 2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
b6c6614fd8 Basic upgrade support for the vm config settings. VERY basic. 2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
5adcb0fc43 Merge pull request #1232 from paulmars/master
Altered messages so they were _not_ self referencing.
2012-12-21 12:15:02 -08: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
Paul McKellar
2b0c4e6385 Change description of plugins to avoid self referencial definitions. e.g. 'destroy' will destroy your VM 2012-11-19 13:10:04 -08:00
Mitchell Hashimoto
67855be77b Add the Environment#machine method
This will eventually replace the Environment#vms method. Because of the
introduction of providers, the environment doesn't know what the backing
of the machines will be (and they're _machines_ now, not _vms_).
Instead, users of Environment will now call `#machine` on the
environment to retrieve a machine with the given backing provider as it
needs it.
2012-11-07 21:45:09 -08:00
Mitchell Hashimoto
83e99bbe4e config.vm.provider (although it doesn't do anything yet) 2012-11-07 20:38:41 -08:00
Mitchell Hashimoto
d254d6f718 Configure the V2 kernel. 2012-11-06 21:28:44 -08:00
Mitchell Hashimoto
2de124e296 Turn provisioners to V2 2012-11-06 21:21:36 -08:00
Mitchell Hashimoto
81ca275792 Providers to V2 2012-11-06 21:20:55 -08:00
Mitchell Hashimoto
5a33b7ee54 Hosts to V2 2012-11-06 21:20:22 -08:00
Mitchell Hashimoto
1d2beff649 Guests to V2 2012-11-06 21:14:45 -08:00
Mitchell Hashimoto
45f211b19e Communicators to v2 plugins. 2012-11-06 21:14:10 -08:00
Mitchell Hashimoto
e8370f0098 Convert comands to V2 plugins. 2012-11-06 21:09:29 -08:00
Mitchell Hashimoto
399437e758 Mark core config classes as upgrade safe 2012-11-03 21:41:04 -07:00
Mitchell Hashimoto
6df6f6764f Remove plugin activation. It really isn't necessary.
It was only used in a couple places and it isn't necessary since you can
do the loading within the actual blocks themselves.
2012-11-03 20:29:34 -07:00
Mitchell Hashimoto
335d9fad1f Merge pull request #1191 from lorello/master
Fix change_host_name on Ubuntu Hardy
2012-11-02 21:32:59 -07:00
Mitchell Hashimoto
f72054b195 Merge pull request #1209 from pbrisbin/arch-fix-3
Additional Arch host class fixes
2012-11-02 21:29:44 -07:00
Dan Carley
fec9410814 Omit empty lines in Puppet provisioner output
The sudo() block and/or the Puppet provisioner often returns newline
characters as separate strings. This makes the chomp() ineffective and
results in extraneous spacing between the output lines.

Separate out the call to chomp() so that we only do it once. Then only
output info if that line is not an empty string.
2012-10-30 11:24:10 +00:00