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
Mitchell Hashimoto
9c570adbd7
Merge pull request #3301 from mitchellh/fix-issue-3285
...
core: fix prerelease gem versions
2014-04-01 22:25:43 -07:00
Mitchell Hashimoto
b6259c2ae9
core: Ignore if temporary box file doesn't exist when adding
2014-04-01 22:18:49 -07:00
Mitchell Hashimoto
666b270e0b
core: can add boxes with spaces in paths [GH-3306]
2014-04-01 22:18:37 -07:00
Mitchell Hashimoto
7d0cbcb686
Merge pull request #3318 from ecoleman/patch-1
...
core: properly escape path in cygwin bash check
2014-04-01 22:02:29 -07:00
Mitchell Hashimoto
8195f7faab
core: add test for removing box version [GH-3364]
...
/cc @berendt - Added a test
2014-04-01 21:47:51 -07:00
Christian Berendt
7d38d78fee
handle exception when removing a non existinga box version
...
When trying to remove a not existing version of an existing box an
exception is thrown. The exception should be handled and some message
(box version 0.1.2 not available) should be printed.
With this patch the exception is handled correctly by using a newly
introduced exception BoxRemoveVersionNotFound.
Example output:
You requested to remove the box 'berendt/alpine-2.7.5-amd64' with provider
'virtualbox' in version '0.0.2'. The box 'berendt/alpine-2.7.5-amd64'
exists but not in the specified version '0.0.2'.
Please double-check and try again.
The available versions for this box are: 0.1.0
Fixes issue #3344
2014-03-31 20:32:34 +02:00