Commit Graph

3013 Commits

Author SHA1 Message Date
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
Fabian Ruff 47de3225dd Subprocess: respect listeners on final yield 2014-07-31 11:32:25 +02:00
Elan Ruusamäe f6448e5553 Update shared_helpers.rb
typo fix
2014-07-27 11:46:18 +03:00
Ilya Vassilevsky ad54e14d65 Encode directory names to filesystem encoding for proper comparison
Dir.entries have filesystem encoding (ANSI in Windows).
Path fragments have terminal encoding (DOS).
2014-07-08 19:01:43 +04:00
Ilya Vassilevsky 764be49b55 Encode string representation of Environment object for seamless printing 2014-07-08 18:58:58 +04:00
Shawn Neal 9c20014a85 Improved box checksum verification performance
When adding large boxes verifying the checksum took noticably longer than expected because the Ruby GC was needlessly working overtime.
2014-06-23 19:17:37 -07:00
Mitchell Hashimoto 4f0e527f5d core: don't delete data dir if no data dir [GH-4017] 2014-06-12 11:30:10 -07:00
Kalman Hazins bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00
Mitchell Hashimoto 07dbe40e98 Merge pull request #3848 from shtouff/feat-capath
added capath option to curl Downloader
2014-05-20 20:50:26 -07:00
Mitchell Hashimoto f369c13e25 hosts/linux: niceer error if rdesktop not found 2014-05-20 19:58:12 -07:00
Mitchell Hashimoto 5798538b0c core: don't port collision detect UDP [GH-3859] 2014-05-20 19:35:10 -07:00
Rémi Paulmier 00a2670406 added capath option to curl Downloader 2014-05-19 18:08:23 +02:00
Mitchell Hashimoto 6353c765ae core: cygwin_path only uses cygpath in cygwin [GH-3804] 2014-05-17 12:07:43 -07:00
Mitchell Hashimoto e107202050 core: WaitForCommunicator always asks for state
This forces global-status to be up-to-date typically
2014-05-17 11:55:12 -07:00
Mitchell Hashimoto 5e9cef4efd core: only set ID on machine if data dir [GH-3827] 2014-05-17 11:41:22 -07:00
Mitchell Hashimoto 47d85d830d core: don't double-include package in tar [GH-3637] 2014-05-10 10:36:38 -07:00
Mitchell Hashimoto ca6e2393bd core: providers can choose to not be defaultable [GH-3742] 2014-05-09 16:02:09 -07:00
Mitchell Hashimoto 9c684ad2b7 core: retry acquire of dotlock [GH-3735] 2014-05-09 10:28:37 -07:00
Mitchell Hashimoto 190ba4cd27 core: can add box with name of directory [GH-3732] 2014-05-09 09:24:29 -07:00
Mitchell Hashimoto 4e52facebc core: properly yield in locker 2014-05-08 09:57:52 -07:00
Mitchell Hashimoto 86aef2249b core: don't lock machines on SSH access 2014-05-08 09:55:23 -07:00
Mitchell Hashimoto d1a26bf8ca core: add more logging to check box outdated 2014-05-07 17:21:17 -07:00
Alex Rodionov 34ec385c81 core: public_send vs send when merging configs
This fixes the problem when config keys collide with Kernel/Object
methods (private). An example is `exec` which is used in vagrant-exec
plugin.

Compare:

> old.send :exec
ArgumentError: wrong number of arguments (0 for 1+)
> old.public_send :exec
=> #<Vagrant::Config::V2::DummyConfig:0x007fe212cc05c8>
2014-05-07 19:02:21 +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 d526dd54fe core: MachineIndex#valid? checks state and ID again 2014-05-05 21:29:40 -07:00
Mitchell Hashimoto bc4d91fb73 core: Environment#cwd should expand path to full path 2014-05-05 21:17:48 -07:00
Brian Pitts 4d90fdfec5 Check usability of nfs on host 2014-05-03 16:09:08 -05:00
Mitchell Hashimoto 51ffa4181c core: Show message when checksumming box [GH-3623] 2014-05-03 09:17:49 -07:00
Mitchell Hashimoto 604ae6caa3 communicators/ssh: detect if config.ssh.shell is non-functional [GH-3040] 2014-05-01 21:35:02 -07:00
Mitchell Hashimoto 4a53b138a0 core: Allow insecure RubyGems for plugins [GH-3610] 2014-05-01 21:14:47 -07:00
Mitchell Hashimoto 169a829cd8 core: dup the provider options so we can't overwrite them 2014-05-01 10:06:03 -07:00
Mitchell Hashimoto 52bb68ba73 core: Fix some tests, revert a change 2014-05-01 10:03:49 -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 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
Adam Spiers 36e924b73e add support for bundler >= 1.6.x
bundler changed their API for Bundler::UI in 1.6.0 via this commit:

  https://github.com/bundler/bundler/commit/5e38e2d7

This caused various issues, e.g.

  https://github.com/mitchellh/vagrant/issues/3451
  https://github.com/test-kitchen/test-kitchen/issues/401

which will hopefully be resolved by teaching vagrant to cope with both
API versions.
2014-04-30 23:32:16 +01:00
Mitchell Hashimoto d90bc9889a core: Lock in plugin install of a specific version 2014-04-29 16:53:12 -07:00
Mitchell Hashimoto 92df8cf6ae Handle a lot of TODOs 2014-04-29 16:50:58 -07:00
Mitchell Hashimoto 0bb523ebb0 providers/docker: use ssh_run if asking for stdin on execute 2014-04-29 16:27:22 -07:00
Mitchell Hashimoto 68fe0b4258 core: Fix bug where if outputting empty string, would output nothing 2014-04-27 18:19:44 -07:00
Mitchell Hashimoto 03e18d1668 core: better logging around locks 2014-04-27 17:21:46 -07:00
Mitchell Hashimoto 5eeaff1662 whitespace 2014-04-27 16:36:43 -07:00
Mitchell Hashimoto a1af2d920f core: MachineIndex entry invalid if machine with name not in Vagrantfile 2014-04-27 16:35:54 -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 0ed3c5174b core: delete environment lock files 2014-04-24 23:13:08 -07:00
Mitchell Hashimoto 84f889e801 core: more liberally release port leases 2014-04-24 22:59:17 -07:00
Mitchell Hashimoto f2a2d93042 Revert "core: can't add boxes from network shares [GH-3279]"
This reverts commit 41636a8a9c.

Conflicts:
	CHANGELOG.md
2014-04-24 22:50:27 -07:00
Mitchell Hashimoto 6870de3f6d core: add Vagrant.latest_version 2014-04-24 20:09:32 -07:00
Mitchell Hashimoto e40b5d6cd3 core: environment_loaded doesn't load full env 2014-04-23 06:33:46 -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 a1e6d0a85e core: Environment#action_runner sets machine_index 2014-04-22 17:15:33 -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 ce08a37d5f Very quiet mode for development 2014-04-21 13:56:39 -07:00
Mitchell Hashimoto ee99f42e45 core: only output error on batch action if not forked 2014-04-21 13:56:36 -07:00
Mitchell Hashimoto 4ced49bf0d core: Batch action says immediately when error occurred 2014-04-21 13:56:35 -07:00
Mitchell Hashimoto d96c5a81af core: Log around process locks 2014-04-21 13:56:34 -07:00
Mitchell Hashimoto 7829e9b167 core: FP collision leaser should compare ints 2014-04-21 13:56:24 -07:00
Mitchell Hashimoto 49693a6af7 core: Move FP collision leaser code to sep method so it works with alt impl 2014-04-21 13:56:22 -07:00
Mitchell Hashimoto bd7b458cbe core: forwarded port collision repair leases chosen ports [GH-2966]
In addition to checking if a port is open, we now check if a port is
"leased", which we do for a period of 60 seconds. This gives the provider
time to actually put the port into use.
2014-04-21 13:56:20 -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 623386f13c core: port collision detector can swap open port checker 2014-04-21 13:55:38 -07:00
Mitchell Hashimoto fe0db9a63e core: nicer way to assure array for pviate key path 2014-04-21 13:55:34 -07:00
Mitchell Hashimoto af7f55f47e core: When disabling, only disable the proper folders 2014-04-21 13:55:33 -07:00
Mitchell Hashimoto 05572955f6 core: log when disabling a synced folder 2014-04-21 13:55:32 -07:00
Mitchell Hashimoto 4df8636c38 core: instantiate all keys in a V2 config prior to merging
This forces everything to get a new instance, so we don't accidentally
overwrite any values across multiple machines.
2014-04-21 13:55:30 -07:00
Mitchell Hashimoto cd38f891da providers/docker: disable synced folders on destroy 2014-04-21 13:55:27 -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 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 10e51eb141 providers/docker: initial sync folders working through proxy VM 2014-04-21 13:55:20 -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 e119a5714a core: add "disable" method for synced folders, deprecate "prepare" 2014-04-21 13:55:09 -07:00
Mitchell Hashimoto 901d3c3558 core: MachineIndex sets paths to nil if empty 2014-04-21 13:55:06 -07:00
Mitchell Hashimoto 98af7c7992 core: Machine sets the local data path of the machine index 2014-04-21 13:55:04 -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 e947960c09 providers/docker: use a custom communicator to go through host VM 2014-04-21 13:54:56 -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 144c874b5a providers/docker: process-level lock on copying default Vagrantfile 2014-04-21 13:54:40 -07:00
Mitchell Hashimoto dc2f729fd3 core: Environment#lock is more useful now 2014-04-21 13:54:39 -07:00
Mitchell Hashimoto 32c9707aa1 core: MachineIndex cleans up machine lock files 2014-04-21 13:54:38 -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 d42d62ead1 core: MachineIndex#vagrant_env should silence warnings 2014-04-21 13:54:32 -07:00
Mitchell Hashimoto 2b07dec059 core: Use the MachineIndex#vagrant_env method 2014-04-21 13:54:31 -07:00
Mitchell Hashimoto a4addd0e25 core: MachineIndex keeps track of Vagrantfile name 2014-04-21 13:54:30 -07:00
Mitchell Hashimoto 09ff31e3a3 commands/global-status: add --prune flag 2014-04-21 13:54:29 -07:00
Mitchell Hashimoto df4dfc36e7 MachineIndex lock is a monitor to allow recursion 2014-04-21 13:54:28 -07:00