409 Commits

Author SHA1 Message Date
Mitchell Hashimoto
f3cf23e873 Ability to specify no parallelism on the environment 2013-04-16 15:13:00 -07:00
Mitchell Hashimoto
efaabea5c0 Use vagrant tmp directory for boxes [GH-1442] 2013-04-07 14:48:56 -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
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
368dddd950 Allow only one Environment#batch to run at a time per env 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto
d6a84b5ca4 Environment#batch and forcing disable through env var 2013-04-03 08:31:42 -07:00
JD Harrington
8cd74fee16 Allow override of default_provider
Set the VAGRANT_DEFAULT_PROVIDER environment variable to override the
value of default_provider.
2013-04-03 08:31:42 -07:00
Mitchell Hashimoto
2e50a238fc Provider plugins can provide arbitrary options 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto
8156185f5d Don't error too early when config.vm.box is not properly set 2013-03-29 12:54:01 -07:00
Mitchell Hashimoto
72e0a691db Don't load plugins.json plugins in Bundler env 2013-03-28 17:02:54 -07:00
Mitchell Hashimoto
327ca544ef Don't load any plugins for vagrant plugin [GH-1418] 2013-03-14 12:58:24 -07:00
Fabio Rehm
54e0c37dbf Fix typo on logging output 2013-03-06 19:47:28 -03:00
Mitchell Hashimoto
ade5d8a579 Human-friendly error if error copying private key [GH-580] 2013-03-01 13:51:11 -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
1bda157188 Only look for Vagrantfile if no more specific was given 2013-02-23 11:59:44 -08:00
Mitchell Hashimoto
60a1b035e7 For hooks, put the environment in the action env 2013-02-22 15:52:57 -08:00
Mitchell Hashimoto
3b2a82003e The hook callable has to be an Action builder so the hooks are called 2013-02-22 15:28:48 -08:00
Mitchell Hashimoto
9750069312 Better logging around environment hooks 2013-02-22 14:43:43 -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
6a12edeb71 Get rid of unused variable 2013-02-20 20:41:19 -08:00
Mitchell Hashimoto
4144db5042 More gracefully handled plugins which cannot be found 2013-02-07 11:55:45 -08:00
Mitchell Hashimoto
79beefdb0a Do proper provider configuration merging 2013-02-05 12:22:00 -08:00
Mitchell Hashimoto
82c9b658d0 Expose the home_path to the action runner 2013-02-04 10:42:44 -08:00
Mitchell Hashimoto
01756dc964 Fix the UI so the output shows the proper machine name 2013-02-03 14:23:07 -08:00
Mitchell Hashimoto
78e9853b71 The resource in the UI doesn't show up if it is nil 2013-02-03 14:20:40 -08:00
Mitchell Hashimoto
3df6088db0 Make plugin loading more robust to errors 2013-02-03 14:13:27 -08:00
Mitchell Hashimoto
5882d5dad6 VAGRANT_NO_PLUGINS can be used to skip plugin loading 2013-02-03 13:03:00 -08:00
Mitchell Hashimoto
693b825eb1 Don't use the RC file, use the JSOn state file 2013-02-03 12:53:52 -08:00
Mitchell Hashimoto
a2ef7790de Start creating the plugin middleware sequences 2013-02-02 18:42:04 -08:00
Mitchell Hashimoto
67c2e205be Create rgloader/loader.rb files for encoded files 2013-01-31 18:48:56 -08:00
Mitchell Hashimoto
c5120fdd5e Don't fail too early with bad Vagrantfiles [GH-1345] 2013-01-30 20:16:10 -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
c3cc513609 Create the setup_version file to track our directory layout version 2013-01-25 16:37:54 -08:00
Mitchell Hashimoto
2d57afbbda Support warnings/errors when upgrading Vagrantfiles internally 2013-01-20 22:04:50 -05:00
Mitchell Hashimoto
0bd0752bf2 Environment#data_dir
This is basically a directory to store state.
2013-01-18 11:37:49 -08:00
Mitchell Hashimoto
25fcb59e38 Use registries for the V2 plugin manager 2013-01-13 13:05:31 -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
c0c3e7bf43 Remove Vagrant::DataStore
We just don't use it yet and the old implementation was sketchy. I was
not happy with it.
2012-12-26 21:45:24 -08:00
Mitchell Hashimoto
3baa31460f Store machine ID in "id" file in data directory.
Instead of storing an "active" hash in the local_data of an Environment,
we now place the ID of a machine in the "id" file of the machine data
directory. This file is read upon re-instantiation in order to load the
proper state.
2012-12-26 21:45:23 -08:00
Mitchell Hashimoto
d18edc3ce5 Detect a V1 environment and stub upgrade process 2012-12-26 21:45:23 -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
5cb2f3275a Get rid of a silly constant for subdirs in Environment
The data is only used once anyways so just use a local variable.
2012-12-26 21:45:23 -08:00
Mitchell Hashimoto
e88d735cb6 Make configured VM providers default to an empty one 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