125 Commits

Author SHA1 Message Date
Mitchell Hashimoto
7926f7f051 core: box URLs can be authenticated by hooking 2014-03-01 11:38:04 +01:00
Mitchell Hashimoto
9026e54da9 core: fix Environment tests 2014-02-08 14:54:40 -08:00
Mitchell Hashimoto
86454ddac9 core: Environment#lock tests 2014-02-08 14:50:52 -08:00
Mitchell Hashimoto
cdf1d7f318 core: get rid of all uses of config_global 2014-02-06 20:22:15 -08:00
Mitchell Hashimoto
b2fa785d07 core: Environment loads proper version of box 2014-02-05 21:19:51 -08:00
Mitchell Hashimoto
e111b7a691 core: environment tests pass 2014-02-05 21:19:12 -08:00
Mitchell Hashimoto
6cddb92407 core: error if newer home dir version is detected 2014-02-05 21:19:05 -08:00
Mitchell Hashimoto
b52d33e0af core: upgrade to v1.5 box dir format if it can 2014-02-05 21:19:04 -08:00
Mitchell Hashimoto
a03bc763f9 core: tests around the environment setup_version 2014-02-05 21:19:01 -08:00
Mitchell Hashimoto
e2ec46bb4d core: environment tests passing on Windows 2014-01-15 11:40:53 -08:00
Mitchell Hashimoto
8a56d0ae5e core: be sure to close tempfile handle so Windows can delete it 2014-01-15 11:24:03 -08:00
Mitchell Hashimoto
93e365bb33 core: Vagrant::Environment uses new host settings 2014-01-07 19:11:08 -08:00
Mitchell Hashimoto
1a51f42ee7 core: update rspec, fix deprecations 2013-12-03 18:42:21 -08:00
Mitchell Hashimoto
8d99382993 core: allow custom callables in hooks 2013-11-24 21:07:11 -08:00
Mitchell Hashimoto
f5cc112a4b core: allow hooks to send arbitrary data 2013-11-24 21:01:41 -08:00
Mitchell Hashimoto
0506f47a4a core: get tests passing again 2013-11-23 16:43:15 -08:00
Fabio Rehm
a0c1cc0231 core: Add spec for running environment hooks with a custom Action::Runner 2013-10-29 13:28:04 -02:00
Mitchell Hashimoto
95aba27e59 core: VAGRANT_VAGRANTFILE affects only project vagrantfile [GH-2130] 2013-09-05 14:46:26 -07:00
Mitchell Hashimoto
0f089c5671 --[no-]parallel for vagrant up 2013-04-16 15:22:14 -07:00
Mitchell Hashimoto
f3cf23e873 Ability to specify no parallelism on the environment 2013-04-16 15:13:00 -07:00
Mitchell Hashimoto
96ebd3e8f7 Providers can support multiple box formats if they choose to.
Currently, providers must match a box format exactly the same
as that provider's name. i.e. the virtuabox provider needs a
"virtualbox" box and the "vmware_fusion" provider needs a
"vmware_fusion" box. Now, the provider can specify what the box format
is they want and support multiple if wanted.

Other box formats are specified in the provider definition within
a plugin:

    class Plugin < Vagrant.plugin("2", "provider")
      # ... other stuff

      provider("foo", box_format: ["virtualbox", "other_format"]) do
        # .. same
      end
    end

Now when using the example "foo" provider above, boxes for both
"virtualbox" or "other_format" are searched for. If both are found,
the order in which the formats exist determines precedence.
2013-04-06 18:21:16 -07:00
Mitchell Hashimoto
fbdd46a130 On Windows, prefer USERPROFILE for home directory path 2013-04-06 15:53:58 -07:00
Jeff LaBarge
8746d0193d Remove redundant test that breaks if VAGRANT_DEFAULT_PROVIDER is set. 2013-04-04 13:47:37 -07:00
Mitchell Hashimoto
52a2f48b20 Provider-specific configuration overrides via 2nd block param
Example:

Vagrant.configure("2") do |config|
  # ...

  config.vm.provider :virtualbox do |p, vb_config|
    vb_config.vm.box = "virtualbox_box"
  end
end
2013-04-03 14:57:14 -07:00
Mitchell Hashimoto
a9f269af24 Tests for GH-1478 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto
d6a84b5ca4 Environment#batch and forcing disable through env var 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto
7c5d118e0d Use Dir.mktmpdir for tests more 2013-02-26 11:32:44 -08:00
Mitchell Hashimoto
c9d9bf679b Get rid of a pending test 2013-02-26 11:30:51 -08:00
Mitchell Hashimoto
803269f729 Test to make sure hooks return the action runner result 2013-02-24 18:00:01 -08:00
Mitchell Hashimoto
499d1ff8bf VAGRANT_VAGRANTFILE env var to specify alternate filename for Vfile 2013-02-23 12:07:23 -08:00
Mitchell Hashimoto
46db50680b environment_unload hook 2013-02-22 13:54:28 -08:00
Mitchell Hashimoto
3c343c0623 Environment#hook allows hooks to be run at arbitrary points 2013-02-22 12:22:10 -08:00
Mitchell Hashimoto
7eec127704 Support refreshing the machine cache 2013-01-30 10:37:40 -08:00
Mitchell Hashimoto
e66c5066e4 Plugin configuration can have scopes now, ex. provider 2013-01-13 12:38:17 -08:00
Mitchell Hashimoto
a30a92bb4f active_machines should return name as a symbol 2012-12-30 11:51:22 -10:00
Mitchell Hashimoto
4c46091746 Environment#primary_machine_name and use it for with_target_vms
This makes the single-provider and default provider semantics work with
primary VMs.
2012-12-30 11:12:56 -10:00
Mitchell Hashimoto
9257fe3d98 Environment#active_machines
This returns a list of active machines for the environment. An active
machine is a machine that at one point was created by Vagrant.
2012-12-27 19:28:05 -10:00
Mitchell Hashimoto
4e649cc987 Upgrade V1-style dotfile to V2
See the code and comments for details on how this is done. As usual, we
are very careful about this so as not to inadvertently destruct real
user data.
2012-12-26 22:41:42 -08: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
cc18492c7a Local data path introduced
The local data path is set to the `ROOT_DIR/.vagrant` by default and is
a directory where Vagrant can store environment-local state. This can be
overriden on a per-Environment basis using the `local_data_path`
option.
2012-12-26 21:45:23 -08:00
Mitchell Hashimoto
6478139cee Move config.vm.customize to VirtualBox specific option 2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
a6e0d3908f Create a "dummy" provider for tests 2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
ac7958a43b Environment#primary_machine takes a provider argument. Use it. 2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
128c06e78d Environment#default_provider 2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
819140bbc2 Don't error if box doesn't exist on load 2012-12-23 16:29:23 -08:00
Mitchell Hashimoto
f2b91d26fd Load the configuration per machine, so that provider boxes work
Boxes are provider-specific, and we don't know the provider until
Environment#machine is called, so we need to build up the machine
configuration during this time.
2012-12-23 16:29:23 -08:00
Mitchell Hashimoto
1559f7b7a7 Get rid of the old Environment#vms calls. Use #machine everywhere. 2012-12-23 16:29:23 -08:00
Mitchell Hashimoto
2ef6ff10f0 Cache the machine objects created in Environment#machine.
Each machine and provider backing should be represented by only one
machine.
2012-11-07 22:08:06 -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
f52f8ecc97 Get tests passing again, use V2 config in tests. 2012-11-07 20:06:55 -08:00