1012 Commits

Author SHA1 Message Date
Ray Ruvinskiy
5a7e00c5b1 Add HTTPS download options to box update and box outdated
Vagrant::Box.load_metadata did not provide a way to specify the HTTPS
download options that could be specified when downloading boxes
(ca cert, ca path, client cert, insecure). As a result, while it was
possible to add a box whose metadata file needed to be downloaded with one of
those options specified, it was impossible to check for updates. The following
changes have been made to address the situation:

1. Create a DownloadMixins module to provide the --insecure, --cacert, --capth,
   and --cert command line options to all of `vagrant box add`,
   `vagrant box update`, and `vagrant box outdated`.
2. Extend `Vagrant::Box.has_update?` and `Vagrant::Box.load_metadata` to accept
   said download options.
3. Extend `box outdated` and `box update` commands to pass download options
   down.
4. Extend `Vagrant::Builtin::Action::BoxCheckOutdated` to honour download
   options.
5. Options specified on the command line take precedence over options specified
   in the machine configuration, if any.
6. Fix bug in `vagrant box add` where client cert was being passed down using
   the wrong environment key.
7. Unit test coverage in update_test and box_check_outdated_test.

Resolves #4420
2014-09-07 23:57:34 -04:00
Mitchell Hashimoto
083dce5c61 Revert "core: guard against SSH to localhost:22 [GH-4070]"
This reverts commit 62561f28448bc848fe4572a1849adea4488b0a17.

This broke WinRM. Will fix in a future version.
2014-08-30 22:55:13 -07:00
Veres Lajos
4ef996dca9 typofixes - https://github.com/vlajos/misspell_fixer 2014-08-25 20:12:25 +01:00
Mitchell Hashimoto
e198652e75 core: don't load curlrc [GH-4328] 2014-08-10 20:49:53 -07:00
Mitchell Hashimoto
15f1823d5c core: box names with colons work on Windows [GH-4100] 2014-08-08 14:47:17 -07:00
Mitchell Hashimoto
27bf597214 Add box collection test for colons 2014-08-08 14:35:05 -07:00
Mitchell Hashimoto
62561f2844 core: guard against SSH to localhost:22 [GH-4070] 2014-08-08 11:58:53 -07:00
Mitchell Hashimoto
7f5f720e0a core: Machine#reload 2014-08-06 16:46:31 -07:00
Mitchell Hashimoto
2cdcc29902 provisioners/chef: put global lock around knife exec 2014-08-06 10:24:05 -07:00
Franz Pletz
6def193567 Add config.vm.box_server_url setting
This commits adds a new config setting `config.vm.box_server_url` to set
the URL of a local VagrantCloud instance in the Vagrantfile. If the
environment variable `VAGRANT_SERVER_URL` is set, it will still be
preferred.
2014-08-01 14:38:55 +02:00
Kalman Hazins
bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00
Mitchell Hashimoto
ca6e2393bd core: providers can choose to not be defaultable [GH-3742] 2014-05-09 16:02:09 -07:00
Mitchell Hashimoto
ca428388d8 providers/docker: can set default provider to docker [GH-3662] 2014-05-06 21:49:49 -07:00
Mitchell Hashimoto
d4087db7c5 core: no active machines if there is no vagrant env 2014-05-06 13:36:42 -07:00
Mitchell Hashimoto
45fc89877c core: MachineIndex valid test is better 2014-05-05 21:50:51 -07:00
Mitchell Hashimoto
5d94ab9e60 core: if state ID is NOT_CREATED_ID, destroy machine state 2014-05-05 21:44:34 -07:00
Mitchell Hashimoto
c5b3dbbf75 core: fix final test 2014-05-01 10:12:36 -07:00
Mitchell Hashimoto
cca9bffa90 core: Can exclude providers 2014-05-01 09:50:35 -07:00
Mitchell Hashimoto
ab9f91568e core: more intuitive logic around default providers 2014-05-01 09:46:40 -07:00
Mitchell Hashimoto
ba6272cc48 Update tests 2014-05-01 09:41:59 -07:00
Mitchell Hashimoto
a9dfb6b3bd core: default provider chosen by usability and prority 2014-05-01 09:40:52 -07:00
Mitchell Hashimoto
429bd73495 core: provider has default priority of 5 2014-05-01 09:26:36 -07:00
Mitchell Hashimoto
d6b7f3a855 Fix tests 2014-04-29 17:02:10 -07:00
Mitchell Hashimoto
8c8099aebc Merge pull request #3551 from benesch/3550
core: return {} if cached synced folders file missing [GH-3550]
2014-04-27 15:55:25 -07:00
Nikhil Benesch
54e580149a core: return {} if cached synced folders file missing [GH-3550]
A missing synced folders cache indicates an empty cache, not a failure
that should be handled by the caller. The cache file is missing from
data dirs created by an earlier version of Vagrant.

Fixes #3550.
2014-04-26 15:39:25 -04:00
Mitchell Hashimoto
1a08c4def5 core: Box#in_use? as an API 2014-04-25 02:02:49 -07:00
Mitchell Hashimoto
4fb9832589 core: clean up the lock cleanup code, tests 2014-04-25 01:33:25 -07:00
Mitchell Hashimoto
da69bd60a4 Fix some tests 2014-04-23 06:22:58 -07:00
Mitchell Hashimoto
85f4a4d5ee commands/box/remove: if box is in use, warn user, ask for confirmation 2014-04-23 06:13:16 -07:00
Mitchell Hashimoto
e985308e9a core: MachineIndex::Entry#valid? method and tests 2014-04-22 17:09:44 -07:00
Mitchell Hashimoto
2660252ede core: Store the actual box data, not just the name 2014-04-22 16:46:11 -07:00
Mitchell Hashimoto
519c8af971 core: MachineIndex stores the box associated with a machine when ID is set 2014-04-22 15:26:56 -07:00
Mitchell Hashimoto
862414af12 core: lock around machine actions 2014-04-21 13:56:09 -07:00
Mitchell Hashimoto
d2e2ccb625 core: A function for diffing synced folders 2014-04-21 13:55:56 -07:00
Mitchell Hashimoto
81df70eee0 providers/docker: support building Dockerfiles 2014-04-21 13:55:54 -07:00
Mitchell Hashimoto
704ff98200 providers/docker: only sync folders if they're not already there 2014-04-21 13:55:26 -07:00
Mitchell Hashimoto
6883109d27 Fix tests 2014-04-21 13:55:25 -07:00
Mitchell Hashimoto
cabacae4cb core: return nil if cached synced folders file doesn't exist 2014-04-21 13:55:24 -07:00
Mitchell Hashimoto
4557ece4df core: SyncedFolders middleware saves what it synced 2014-04-21 13:55:23 -07:00
Mitchell Hashimoto
794cd4f287 core: MixinSyncedFolders have methods for save/reading from cache 2014-04-21 13:55:22 -07:00
Mitchell Hashimoto
ea864986fd core: Add more tests for what we recently added 2014-04-21 13:55:21 -07:00
Mitchell Hashimoto
3c9219b8c9 core: Builtin SyncedFolders accepts alternate config 2014-04-21 13:55:18 -07:00
Mitchell Hashimoto
0153e0ccbb core: Machine#action_raw for calling raw callables 2014-04-21 13:55:17 -07:00
Mitchell Hashimoto
d8bdb62ed4 core: MixinSyncedFolders lets a custom config through 2014-04-21 13:55:15 -07:00
Mitchell Hashimoto
646f0fa907 core: MachineIndex preserves the local data path for an env 2014-04-21 13:55:02 -07:00
Mitchell Hashimoto
e78d087c27 Tests passing 2014-04-21 13:54:59 -07:00
Mitchell Hashimoto
aa1abdd1c4 core: SSHExec middleware can have ssh info overridden 2014-04-21 13:54:53 -07:00
Mitchell Hashimoto
2add94ee28 core: BatchAction can run arbitrary code 2014-04-21 13:54:46 -07:00
Mitchell Hashimoto
8c7ab333a0 Squash the f-docker-hostmachine branch.
Initial work

commands/up: make sure all names to with_target_vms are strings

providers/docker: create a docker host VM if needed

providers/docker: executor abstraction for driver to eventually support remote

providers/docker: vagrant executor

providers/docker: support creating the machine

providers/docker: status works if host VM is gone

providers/docker: use start fence to get real docker output

core: Call preserves stack ordering

core: support Message post option

providers/docker: Guard some features with HasSSH checks

providers/docker: much better messaging around create/destroy

providers/docker: output the container ID on create

providers/docker: copy the hostmachine Vagrantfile to the data dir

providers/docker: should make host machine before any up action

providers/docker: HandleBox before the host machine

providers/virtualbox: functional_vboxsf to disable vboxsf

providers/virtualbox: synced folder usable method should take 2 args

providers/docker: default machine name to :default
2014-04-21 13:54:33 -07:00
Mitchell Hashimoto
9b22ccbd32 core: MachineIndex updates existing entry if name, provider, path match 2014-04-21 13:54:25 -07:00