Commit Graph

2275 Commits

Author SHA1 Message Date
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