Mitchell Hashimoto
5427392459
Logger statements for copying each box file during add
2013-03-16 10:14:32 -07:00
Martin Ehrnhoefer
24aaa7f282
Adding a box fails on Windows [GH-1424]
...
The Dir.mkdir statement fails on Windows if src and dest
reside on different partitions. Files are therefore copied
one-by-one. The #6715 workaround is not needed anymore.
2013-03-16 13:04:33 +01:00
Mitchell Hashimoto
9464796c6d
Human friendly error when metadata.json is missing from a box
2013-03-15 11:12:50 -07:00
Mitchell Hashimoto
d40ba7968c
Fix `vagrant package` to avoid nil errors [GH-1423]
2013-03-14 20:40:52 -07:00
Mitchell Hashimoto
327ca544ef
Don't load any plugins for `vagrant plugin` [GH-1418]
2013-03-14 12:58:24 -07:00
Mitchell Hashimoto
43f3764e5b
Properly quote regular expression inputs to StringBlockEditor
2013-03-14 12:41:03 -07:00
Mitchell Hashimoto
64d1b54d51
Up version for development. Moving forward.
2013-03-14 11:55:03 -07:00
Mitchell Hashimoto
1949489993
v1.1.0
2013-03-13 23:36:31 -07:00
Mitchell Hashimoto
c8b829c4d2
Properly resolve cygwin paths in Cygwin environments [GH-1366]
2013-03-13 21:50:41 -07:00
Mitchell Hashimoto
57a5edbc39
Merge pull request #1366 from johnb0011/master
...
Solve Virtualbox pathing issue running under Cygwin
2013-03-13 21:41:34 -07:00
Mitchell Hashimoto
82d8285df6
Give a success message after adding a box
2013-03-13 21:24:03 -07:00
Mitchell Hashimoto
dea881cad2
vagrant box add --force works again [GH-1413]
2013-03-13 21:20:25 -07:00
Fabio Rehm
cc20d2f91e
raise ChildProcess::LaunchError with the original message to ease debugging when running subprocesses
2013-03-09 15:31:28 -03:00
Fabio Rehm
54e0c37dbf
Fix typo on logging output
2013-03-06 19:47:28 -03:00
Mitchell Hashimoto
360051e032
Greatly improve http_proxy/https_proxy detection for box downloads
2013-03-05 00:33:56 -08:00
Mitchell Hashimoto
36b805367d
Fix all core code to use the new networking syntax
2013-03-01 16:48:10 -08:00
Mitchell Hashimoto
ade5d8a579
Human-friendly error if error copying private key [GH-580]
2013-03-01 13:51:11 -08:00
Mitchell Hashimoto
b482870173
Capture stdout/stderr when loading plugins so that it doesn't just
...
happen
2013-03-01 11:55:06 -08:00
Mitchell Hashimoto
7547a0d34a
V2 missing key returns a DummyConfig as well
2013-02-28 00:17:58 -08:00
Mitchell Hashimoto
af2690635e
Unknown keys return a DummyConfig rather than OpenStruct
2013-02-28 00:16:43 -08:00
Mitchell Hashimoto
d15acde8c0
Capture missing key calls in V1 configs and record them as warnings
2013-02-28 00:06:49 -08:00
Mitchell Hashimoto
c9ad55d9e7
Built-in hostname middleware for setting hostname
2013-02-27 21:28:09 -08:00
Mitchell Hashimoto
4254b35b7d
Fix the forward port collision handling
2013-02-27 13:40:11 -08:00
Mitchell Hashimoto
1505fc9d22
Autoload he port collision middleware
2013-02-27 13:37:50 -08:00
Mitchell Hashimoto
68aa9c8acf
Output the UI when repairing port collisions
2013-02-26 13:43:06 -08:00
Mitchell Hashimoto
79609d42bb
Additional options for the collision detection
2013-02-26 13:08:06 -08:00
Mitchell Hashimoto
e97c330281
First pass at a forwarded port collision middleware
2013-02-26 12:10:26 -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
29600d3d06
Always log the exception raised when error loading a plugin
2013-02-22 15:11:01 -08:00
Mitchell Hashimoto
1b6538354d
Be smarter about determining if plugin load failed
2013-02-22 15:10:34 -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
c68bf33d66
Specify action_name for all machine actions for action hooks
2013-02-22 12:14:15 -08:00
Mitchell Hashimoto
be01d57034
action_hooks can hook into specific actions
2013-02-22 12:12:55 -08:00
Mitchell Hashimoto
18524628b7
Hooks allow parameters and blocks to middlewares
2013-02-22 12:00:35 -08:00
Mitchell Hashimoto
6a12edeb71
Get rid of unused variable
2013-02-20 20:41:19 -08:00
John Barney
a390b9dddf
Removing tabs added by a bad .vimrc
2013-02-10 03:49:15 -08:00
John Barney
73eb86bad0
Adding Cygwin detection, and fixing pathing issue in VirtualBox driver under Cygwin
2013-02-09 19:36:56 -08:00
Mitchell Hashimoto
f837d32ae4
Rename FileUtil to Which since its too close to FileUtils
2013-02-08 22:29:53 -08:00
Mitchell Hashimoto
38e160055b
Style nitpicks on FileUtil
2013-02-08 22:20:00 -08:00
Patrick Wyatt
bd06bea3e5
Enable Windows users with SSH installed to use 'vagrant ssh'
2013-02-08 22:09:11 -08:00
Mitchell Hashimoto
595d6f7848
Record invalid key accesses as an error on config
2013-02-08 16:54:24 -08:00
Mitchell Hashimoto
d659071a82
Check for NFS errors only if we actually have NFS folders
2013-02-08 16:25:41 -08:00
Mitchell Hashimoto
6afb4326fa
Move NFS to a built-in middleware
2013-02-08 15:34:04 -08:00
Mitchell Hashimoto
050cb482f3
Better logging in the BoxAdd action
2013-02-07 18:19:42 -08:00
Mitchell Hashimoto
4144db5042
More gracefully handled plugins which cannot be found
2013-02-07 11:55:45 -08:00
Mitchell Hashimoto
cd3d2a1e8c
Call properly modifies original environment
2013-02-06 18:36:05 -08:00
Mitchell Hashimoto
4a1a990491
Raise a proper SSH error on ECONNRESET
2013-02-06 18:08:55 -08:00
Mitchell Hashimoto
acbd024fa2
Put the machine action in the middleware env
2013-02-06 16:23:35 -08:00
Mitchell Hashimoto
1df4891371
Spread out methods in provision so subclass can override
2013-02-06 16:14:59 -08:00
Mitchell Hashimoto
352fec0359
Fix some issues to get hooks working
2013-02-06 15:42:48 -08:00
Mitchell Hashimoto
b20dcc9eb8
Setup hooks in the runner
2013-02-06 15:37:12 -08:00
Mitchell Hashimoto
aa7193471f
Plugins can define action hooks via action_hook
2013-02-06 15:27:14 -08:00
Mitchell Hashimoto
83bba789a4
Hook#apply
2013-02-06 15:21:34 -08:00
Mitchell Hashimoto
d720205810
Builder supports action hooks
2013-02-06 15:06:13 -08:00
Mitchell Hashimoto
9251b880f5
Addition docs on the hook class
2013-02-06 14:30:15 -08:00
Mitchell Hashimoto
80a7c8a0cb
Hook class
2013-02-06 14:21:31 -08:00
Mitchell Hashimoto
8f24d2d98c
Remove the "easy" plugins until a future version
2013-02-06 13:46:34 -08:00
Mitchell Hashimoto
87026b2d9e
Remove old TOOD that was fulfilled
2013-02-05 22:17:00 -08:00
Mitchell Hashimoto
9f15fdeabc
Only override the SSH host/user/etc if not specified by provider
2013-02-05 21:21:56 -08:00
Mitchell Hashimoto
79beefdb0a
Do proper provider configuration merging
2013-02-05 12:22:00 -08:00
Mitchell Hashimoto
864f1b7506
Pass a proper Pathname for SSHExec to check key perms
2013-02-04 21:17:12 -08:00
Mitchell Hashimoto
434cc79a83
Properly expand config.ssh.private_key_path
2013-02-04 21:13:29 -08:00
Mitchell Hashimoto
a72cfdbc00
Improved logging and such around SSH
2013-02-04 11:44:56 -08:00
Mitchell Hashimoto
82c9b658d0
Expose the home_path to the action runner
2013-02-04 10:42:44 -08:00
Mitchell Hashimoto
b568ad0b8a
Fix package to probably put output box in pwd
2013-02-04 10:38:50 -08:00
Mitchell Hashimoto
55c905b43b
`vagrant plugin license` command.
2013-02-04 10:32:04 -08:00
Mitchell Hashimoto
7e71b73e4a
Reformat some comments to be within 80 chars
2013-02-04 10:04:31 -08:00
Eric Tipton
421c2a9b2e
fix args parser w/r/t ssh "-t" option -- it was failing b/c any associated shell commands need to be the last part of the system command
2013-02-04 06:16:32 -05:00
Mitchell Hashimoto
5d75a65382
Get rid of error "status codes" and just exit with 1
2013-02-03 18:04:43 -08:00
Mitchell Hashimoto
635949980b
Handle the case a plugin install is a plugin not found
2013-02-03 14:29:29 -08:00
Mitchell Hashimoto
2079941e7d
If the ID file doesn't exist, then don't delete it
2013-02-03 14:23:25 -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
1162c2dbfc
Instead of shelling out, use the RubyGems API to install plugins
...
This gets us an accurate name of the gem even if it is installed
from a file.
2013-02-03 13:59:43 -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
fa50f06a4c
Error if RubyGems failed.
2013-02-02 23:31:53 -08:00
Mitchell Hashimoto
a2ef7790de
Start creating the plugin middleware sequences
2013-02-02 18:42:04 -08:00
Mitchell Hashimoto
ec995b5ddf
Avoid cross-device moves when adding boxes [GH-1350]
2013-02-02 16:37:46 -08:00
Mitchell Hashimoto
165dd63f78
New HandleBoxUrl built-in middleware to handlet the "box_url" config
2013-02-01 11:31:08 -08:00
Mitchell Hashimoto
4e6496bed7
Improve subprocess logging
2013-01-31 19:47:54 -08:00
Mitchell Hashimoto
a8c7ad30ee
Be a bit more fine grained about errors that are reported for Vfiles
2013-01-31 18:52:29 -08:00
Mitchell Hashimoto
67c2e205be
Create rgloader/loader.rb files for encoded files
2013-01-31 18:48:56 -08:00
Mitchell Hashimoto
1392d9b4a5
Detect if a VM name is already taken for VirtualBox
2013-01-30 23:22:45 -08:00
Mitchell Hashimoto
7fe19d3a11
Use box directory as temporary directory to avoid cross-device [GH-1199]
2013-01-30 21:54:07 -08:00
Mitchell Hashimoto
c164a5ca81
Merge pull request #1300 from kainz/master
...
Avoid cross device activity for box creation by creating tmp dir in provider dir
2013-01-30 21:47:40 -08:00
Mitchell Hashimoto
c75ec09014
Lower IO.select timeouts to improve subprocess speeds
...
We were getting bit if the process exited while we were doing an
IO.select because it would then wait the full timeout.
2013-01-30 21:29:04 -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
e9327c4a28
Better logging in the config logger
2013-01-30 20:12:41 -08:00
Mitchell Hashimoto
c57ba9de58
Give a nice human-friendly error message when problems loading Vfile
2013-01-30 20:01:41 -08:00
Mitchell Hashimoto
75ea4e5bdd
--provision-with works properly again
2013-01-30 19:42:54 -08:00
Mitchell Hashimoto
e0f0066c99
--no-provision works properly again
2013-01-30 19:39:21 -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
a21744a12d
Merge pull request #1336 from ithinkihaveacat/return-non-zero-if-invalid-command
...
Return exit status of 1 on invalid command
2013-01-29 10:58:55 -08:00
Mitchell Hashimoto
e1b78dbfbe
Unlock the file explicitly due to some weirdness on BSD kernels
2013-01-28 21:08:22 -08:00
Mitchell Hashimoto
7531c94dbf
Allow path and exception for Lock middleware to be procs
2013-01-28 20:46:39 -08:00
Mitchell Hashimoto
9ae3a373c8
Add new middleware builtin: Lock
...
This will do a process lock by flocking a file. If it fails, it will
raise an exception of choice.
2013-01-28 17:08:37 -08:00
Mitchell Hashimoto
0d27cd5bcb
Warn if Vagrant is run outside of installers
2013-01-28 13:39:56 -08:00
Mitchell Hashimoto
d4cf03d6c5
`vagrant package` uses bsdtar
2013-01-28 13:20:42 -08:00
Mitchell Hashimoto
35aef1aa0b
Use bsdtar to repackage boxes
2013-01-28 13:18:07 -08:00
Mitchell Hashimoto
e6a0023713
Switch to bsdtar for unpackaging a box
2013-01-28 13:01:43 -08:00
Michael Stillwell
7941748db7
Return exit status of 1 on invalid command
...
Makes "vagrant destroyjj" and similar return an exit code of 1, so that
"vagrant destroyjj && vagrant up" works as expected.
2013-01-27 19:52:43 +00: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
6a3c0bd425
Call built-in supports args for imddleware
2013-01-22 12:20:02 -08:00
Mitchell Hashimoto
fb875ab642
Better logging in the GracefulHalt middleware
2013-01-22 12:13:42 -08:00
Mitchell Hashimoto
51540496a9
GracefulHalt builtin
2013-01-22 11:56:49 -08:00
Mitchell Hashimoto
e1f4e27b1b
Update docs for v2 provider interface for MachineState
2013-01-21 11:44:19 -06:00
Mitchell Hashimoto
8ad8f73846
Raise an exception if a non-MachineState is returned
2013-01-21 11:31:20 -06:00
Mitchell Hashimoto
7bdf54923a
Create the MachineState class
2013-01-21 11:25:28 -06:00
Mitchell Hashimoto
2d57afbbda
Support warnings/errors when upgrading Vagrantfiles internally
2013-01-20 22:04:50 -05:00
Mitchell Hashimoto
ffd9c1eb9c
Verify we have errors to show if we're going to show them
2013-01-18 13:37:31 -08:00
Mitchell Hashimoto
7f55d5eac8
Builtin: ConfigValidate will validate your configuration
2013-01-18 13:26:14 -08:00
Mitchell Hashimoto
37e36010e0
Remove the ErrorRecorder
2013-01-18 13:15:22 -08:00
Mitchell Hashimoto
fff021e51d
Update Chef provisioner to new validation API
2013-01-18 13:12:02 -08:00
Mitchell Hashimoto
e651eb3aa1
Add a V2 config helper to merge errors since that seems common
2013-01-18 13:03:07 -08:00
Mitchell Hashimoto
3f3c7027aa
Machine objects are passed into validate instead of env
2013-01-18 12:43:53 -08:00
Mitchell Hashimoto
a8b57ba13f
Ignore empty error groups
2013-01-18 12:27:29 -08:00
Mitchell Hashimoto
bae6555836
Remove DeprecationError
2013-01-18 12:23:29 -08:00
Mitchell Hashimoto
e0c8fadae4
I can remove the `validate!` method from the v1 root
2013-01-18 12:18:30 -08:00
Mitchell Hashimoto
42a1ce6e9d
Remove the old config validation error
2013-01-18 12:15:36 -08:00
Mitchell Hashimoto
e6f9586d83
New validation method on the root that returns errors
2013-01-18 12:14:40 -08: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
776a1e446b
Strip the value, actually, to trim the front newline
2013-01-15 21:57:10 -08:00
Mitchell Hashimoto
6c2e1c354f
Chomp values inserted into a StringBlockEditor
2013-01-15 21:55:56 -08:00
Mitchell Hashimoto
23668d4ed0
Fix some newline weirdness with StringBlockEditor
2013-01-15 21:53:11 -08:00
Mitchell Hashimoto
adec64baa4
Add the #get method to StringBlockEditor
2013-01-15 20:34:41 -08:00
Mitchell Hashimoto
335503a688
StringBlockEditor to help plugins with owning parts of files
2013-01-15 17:49:46 -08:00
Mitchell Hashimoto
5c9f27626c
Provisioner built-in uses new API
2013-01-13 16:09:32 -08:00
Mitchell Hashimoto
cf2cca3b7c
Revamp the configuration internal state for defining provisioners
2013-01-13 16:02:48 -08:00
Mitchell Hashimoto
c8053c00a4
New provisioner API. Shell provisioner adheres to it.
2013-01-13 15:48:52 -08:00
Mitchell Hashimoto
25fcb59e38
Use registries for the V2 plugin manager
2013-01-13 13:05:31 -08:00
Mitchell Hashimoto
f3b340aae0
Use registry merging for provider configs
2013-01-13 13:00:06 -08:00
Mitchell Hashimoto
45879132a3
Registries support merging
2013-01-13 12:58:48 -08:00
Mitchell Hashimoto
e66c5066e4
Plugin configuration can have scopes now, ex. provider
2013-01-13 12:38:17 -08:00
Mitchell Hashimoto
212e634c3b
Make Provision a built-in action.
...
This allows other providers to just use it.
2013-01-12 16:22:37 -08:00
Mitchell Hashimoto
22571bf05b
Rescue the EHOSTDOWN error for SSH
2013-01-12 12:47:49 -08:00
Mitchell Hashimoto
124a2ee5d3
Add the --provider optional flag to `box add`
2013-01-11 21:24:57 -08:00
Mitchell Hashimoto
48eaa93745
Raise proper error if there aren't any NIC slots available
2013-01-11 15:57:08 -08:00
Mitchell Hashimoto
102e8f23d6
Use scoped hash overrides for high-level config
2013-01-11 15:50:09 -08:00
Mitchell Hashimoto
0c612f695f
Util::ScopedHashOverride
2013-01-11 15:44:35 -08:00
Bryon Roche
b5c75b89a9
Make box creation not cross filesystems.
...
This will cause issues on modern linux which uses a tmpfs-backed tmpdir.
2013-01-07 16:19:17 -08:00
Mitchell Hashimoto
f428b288f3
Convert provider to symbol only if non-nil
2012-12-30 18:08:07 -10:00
Mitchell Hashimoto
20253c4c4f
Convert provider to symbol
2012-12-30 18:04:31 -10:00