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
Takekazu Omi
7da9648089
fix subprocess external encode issue. https://github.com/mitchellh/vagrant/issues/3706
...
in io.rb
subprocess resuts convert external encoding to utf-8
in subprocess.rb
command line argument convert utf-8 to external encoding
2014-05-08 17:59:45 +09: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
Mitchell Hashimoto
5f5d3d5ef0
core: MachineIndex more aggressively reloads data
2014-04-21 13:54:27 -07:00
Mitchell Hashimoto
9b22ccbd32
core: MachineIndex updates existing entry if name, provider, path match
2014-04-21 13:54:25 -07:00
Mitchell Hashimoto
72030d2180
Note provisioners that don't work on Windows guests
2014-04-21 13:54:02 -07:00
Mitchell Hashimoto
0dc40e1680
core: MachineIndex can have extra data attached to it
2014-04-21 13:53:38 -07:00
Mitchell Hashimoto
1c29c39f1b
core: generalize the autostart stuff so we don't have a bunch of specials
2014-04-21 13:53:35 -07:00
Mitchell Hashimoto
9dd9fff637
core: check if provider is usable when requesting a machine
2014-04-21 13:53:10 -07:00
Mitchell Hashimoto
bc2e3727a9
core: Add usable? check to providers
2014-04-21 13:53:07 -07:00
Mitchell Hashimoto
aad8e7f80d
core: provision "once" or "always" [GH-2421]
2014-04-21 13:52:30 -07:00
Mitchell Hashimoto
c4a4b998df
core: Test eager loading of WinRM
2014-04-21 13:51:51 -07:00
Mitchell Hashimoto
d608e0bdfd
Eager load WinRM
...
/cc @sneal - How is this? It is dirty, but at least then it doesn't have
a global performance impact on Vagrant if you're not using WinRM
2014-04-21 13:51:50 -07:00
Mitchell Hashimoto
cddd878656
core: Don't set index uuid file if data dir is nil
2014-04-21 13:51:28 -07:00
Mitchell Hashimoto
b38876ac50
core: pass along the UI class so we don't get a silent UI
2014-04-21 13:51:26 -07:00
Mitchell Hashimoto
4349800374
core: Silence ruby warnings when loading external machines
2014-04-21 13:51:25 -07:00
Mitchell Hashimoto
a0e9f46251
core: commands can use the IDs from anywhere to control
2014-04-21 13:51:24 -07:00
Mitchell Hashimoto
9a16af10ad
core: Use Machine#state wherever possible so we update the index
2014-04-21 13:51:23 -07:00
Mitchell Hashimoto
48cf2c38f7
core: MachineIndex is enumerable
2014-04-21 13:51:21 -07:00
Mitchell Hashimoto
13a4db391a
core: Machine updates state cache when querying state
2014-04-21 13:51:20 -07:00
Mitchell Hashimoto
44e379e961
core: Machine sets index entries on ID sets
2014-04-21 13:51:19 -07:00
Mitchell Hashimoto
8a6bdbf710
core: Environment#machine_index
2014-04-21 13:51:17 -07:00
Mitchell Hashimoto
a29f5d7e01
core: Add MachineIndex#delete
2014-04-21 13:51:16 -07:00
Mitchell Hashimoto
69a290eb9d
core: replace "-" in UUIDs with ""
2014-04-21 13:51:15 -07:00
Mitchell Hashimoto
ac032db6a6
core: MachineIndex has precision locking for entries
2014-04-21 13:51:14 -07:00
Mitchell Hashimoto
016afc7922
core: Basic MachineIndex class, starting point
2014-04-21 13:51:13 -07:00
Mitchell Hashimoto
f07ee5754a
core: Configurable communicator
2014-04-21 13:51:02 -07:00
Ramon de la Fuente
f6a5e20688
Add autostart as an option for vagrant boxes
...
Added specs for the environment and vagrantfile. Added a methd to retrieve
autostart_machine_names. Changed the plugin up/command to use autostart_machine_names
when no argument was given to the command.
2014-04-21 13:50:57 -07:00
Mitchell Hashimoto
e05bfa979e
core: remove temp file when done with box
2014-04-17 08:58:38 -07:00
Mitchell Hashimoto
ec35190cfc
core: use process.alive? to avoid exceptions
2014-04-13 14:24:25 -07:00
Mitchell Hashimoto
00962c7c2a
commands/box/repackage: better error if box not found
2014-04-12 18:00:33 -07:00
Mitchell Hashimoto
2cb6a21a5a
core: Fix tests, which found broken logic in synced folders
2014-04-11 16:28:38 -07:00
Mitchell Hashimoto
2b47478d6a
core: all symlinks for synced folders are expanded [GH-3444]
2014-04-11 16:21:12 -07:00
Mitchell Hashimoto
3aad85fa30
style
2014-04-11 09:56:35 -07:00
Mitchell Hashimoto
cd2c99972b
core: No need to map! here
2014-04-11 09:32:25 -07:00
Mitchell Hashimoto
44d7c6849d
Merge pull request #3441 from berendt/sort_versions_and_print_listing
...
commands/box/remove: sort versions and print them as listing
2014-04-11 09:32:08 -07:00
Christian Berendt
8dffbe5db8
sort versions and print them as listing
...
before this patch:
```
$ vagrant box remove --box-version 0.2.9 berendt/ubuntu-14.04-amd64
You requested to remove the box 'berendt/ubuntu-14.04-amd64' version '0.2.9' with
provider 'virtualbox', but that specific version of the box is
not install. Please double-check and try again. The available versions
for this box are:
0.2.11, 0.2.10
```
after this patch:
```
You requested to remove the box 'berendt/ubuntu-14.04-amd64' version '0.2.9' with
provider 'virtualbox', but that specific version of the box is
not install. Please double-check and try again. The available versions
for this box are:
* 0.2.10
* 0.2.11
```
2014-04-11 11:39:38 +02:00
Christian Berendt
c43bd27ffe
print version when removing a specific box
...
Example:
$ vagrant box remove --box-version 0.2.9 berendt/ubuntu-14.04-amd64
Removing box 'berendt/ubuntu-14.04-amd64' with provider 'virtualbox' in version '0.2.9'...
2014-04-11 10:05:03 +02:00
Mitchell Hashimoto
41636a8a9c
core: can't add boxes from network shares [GH-3279]
2014-04-09 14:15:26 -07:00
Mitchell Hashimoto
d8ec7b02c4
commands/package: Nicer error if includes has symlinks [GH-3200]
2014-04-09 10:52:33 -07:00
Mitchell Hashimoto
e748aadf4f
core: give users chance to quit for upgrade [GH-3212]
2014-04-09 09:58:30 -07:00
Mitchell Hashimoto
1bef7dec61
Add comment to clarify
2014-04-05 09:37:59 -07:00
Mitchell Hashimoto
1cd266da9d
core: randomize perm test filename
2014-04-05 09:36:55 -07:00
Mitchell Hashimoto
5f12126d32
core: network issues don't halt Vagrant during box update check [GH-3391]
2014-04-05 09:25:03 -07:00
Mitchell Hashimoto
0e46c5d9de
core: Raise predictable error if box metadata downlaod fails
2014-04-05 09:20:03 -07:00
Mitchell Hashimoto
5b360d0990
core: BoxCollection#find version constraint can benil
2014-04-02 19:50:44 -07:00
Mitchell Hashimoto
d1caf8c624
core: Allow direct box adding again
2014-04-02 19:45:49 -07:00
Mitchell Hashimoto
3371c37162
TemplateRenderer can take a new root [GH-3231]
2014-04-02 09:53:20 -07:00
Mitchell Hashimoto
a1d9121852
synced_folders/smb: verify PowerShell v3 is running or later [GH-3257]
2014-04-02 09:45:42 -07:00
Mitchell Hashimoto
32d86ca42b
core: don't allow version for old-style box [GH-3260]
2014-04-02 09:32:34 -07:00
Mitchell Hashimoto
af7a589231
core: outdated check checks local boxes [GH-3321]
2014-04-02 08:37:03 -07:00
Mitchell Hashimoto
36ad327ec1
core: ignore if box doesn't exist on update check [GH-3326]
2014-04-02 08:24:38 -07:00
Mitchell Hashimoto
097dd2917c
core: better error when adding box with malformed version [GH-3332]
2014-04-01 22:48:52 -07:00
Mitchell Hashimoto
8c8c6c132c
core: lock prerelease gems
2014-04-01 22:28:33 -07:00