Commit Graph

1110 Commits

Author SHA1 Message Date
Mitchell Hashimoto 59e1e43c74 Autoload the util classes. HashWithIndifferentAccess for data store 2010-09-03 09:33:15 -07:00
Mitchell Hashimoto 0f70812142 Load the host on demand in the environment 2010-09-03 00:48:38 -07:00
Mitchell Hashimoto 01df63ef6e Lazy load the environment "actions." Removes one more load from the environment load chain 2010-09-03 00:35:18 -07:00
Mitchell Hashimoto f72979df79 Added global data hash to environment. "system"-wide data bag for vagrant 2010-09-03 00:21:57 -07:00
Mitchell Hashimoto d65194d66e Only initialize a logger on the parent environment 2010-09-02 21:24:59 -07:00
Mitchell Hashimoto a84ea6a5b8 Load data store keys as symbols, not strings. 2010-09-02 21:19:44 -07:00
Mitchell Hashimoto 52e3c4d3b3 Persisting a VM uuid is now implicitly done by Vagrant::VM 2010-09-02 21:12:11 -07:00
Mitchell Hashimoto d5f351786c Fix "provisioning enabled with" message to have proper string 2010-09-02 13:48:41 -07:00
Mitchell Hashimoto 33e2b93139 Some basic cleanup of 'if' logic 2010-09-02 13:02:09 -07:00
Mitchell Hashimoto 2d80c32479 Remove the ActiveList. This will make a comeback using DataStore in the future. 2010-09-02 13:00:47 -07:00
Mitchell Hashimoto d74d95d0cd Get rid of exceptions/ folder. 2010-09-02 11:56:04 -07:00
Mitchell Hashimoto 9002b22fac Data store is now a hash and lazy load the local data store on the environment 2010-09-02 11:47:19 -07:00
Mitchell Hashimoto 4d87f198d7 Vagrant::DataStore which will be used soon for the dotfile in the project directory 2010-09-01 22:00:59 -07:00
Mitchell Hashimoto 43cdcb7808 Config can now be deserialized as well as serialized to JSON 2010-09-01 21:01:15 -07:00
Mitchell Hashimoto d2d2404961 Split config classes out into multiple files for better organization 2010-09-01 20:37:11 -07:00
Mitchell Hashimoto f697ca543e Extremely basic Radar integration 2010-09-01 19:46:11 -07:00
Mitchell Hashimoto 44963824a3 Add proper message when Vagrant is quit from interrupt 2010-09-01 18:07:47 -07:00
Mitchell Hashimoto 0094f066ca Warden properly handles interrupts 2010-09-01 16:15:24 -07:00
Mitchell Hashimoto 71101c9d3d Raise interrupt error earlier so the rescue chain actually gets called 2010-09-01 14:58:22 -07:00
Mitchell Hashimoto f00955dfa1 Remove superfluous util module includes 2010-09-01 14:52:44 -07:00
Mitchell Hashimoto 60c20565b2 Replace straight abort on interrupt with clean exit via exception 2010-09-01 14:50:15 -07:00
Mitchell Hashimoto d0bd47a5d7 Properly translate "cleaning up" messages when Ctrl-C 2010-09-01 14:40:35 -07:00
Mitchell Hashimoto a13f587bc0 Environment#error! removed (along with error? and so on) 2010-09-01 14:37:37 -07:00
Mitchell Hashimoto 3da94252b5 Get rid of util.rb. No longer used. 2010-09-01 14:30:31 -07:00
Mitchell Hashimoto bb97b388f9 Convert VM errors to I18n exceptions 2010-09-01 14:26:53 -07:00
Mitchell Hashimoto ae6e42dbbc Scope SSH errors to proper exception classes 2010-09-01 10:47:34 -07:00
Mitchell Hashimoto e7f06d7fb7 Remove ExceptionCatcher since exceptions are the way to report errors now 2010-09-01 10:04:37 -07:00
Mitchell Hashimoto 364233527e SSH no longer raises ActionException. Raises VagrantError 2010-09-01 10:00:49 -07:00
Mitchell Hashimoto 786a0f443a Provisioners raise exceptions 2010-09-01 09:36:22 -07:00
Mitchell Hashimoto f85821c268 Refactor VagrantError to be more flexible so not as many subclasses will be needed 2010-09-01 08:27:29 -07:00
Mitchell Hashimoto cf91f578fb Downloaders now raise exceptions instead of erroring environment 2010-09-01 07:22:14 -07:00
Mitchell Hashimoto a7197b3566 Autoload errors. If nothing bad happens, all those error classes don't use any memory :) 2010-09-01 07:15:37 -07:00
Mitchell Hashimoto 39663f6f11 Finish replacement of "env.error!" with exceptions in VM actions 2010-09-01 07:13:37 -07:00
Mitchell Hashimoto b72cf4c57c Convert NFS to new Warden style with 'recover' method 2010-08-30 20:09:26 -07:00
Mitchell Hashimoto aa00d15206 Few more VM actions converted to exceptions. Lots of errors gone. 2010-08-30 20:07:50 -07:00
Mitchell Hashimoto 72c3340336 About 1/3rd of the VM actions raise exceptions now 2010-08-30 19:39:11 -07:00
Mitchell Hashimoto 98bce8f836 General package action raises exceptions instead of using env.error 2010-08-28 13:54:59 -07:00
Mitchell Hashimoto 3e1ccf0c4f Convert box actions to raise exceptions rather than error environment 2010-08-28 12:31:55 -07:00
Mitchell Hashimoto ccc45ebd7a Begin moving from error_and_exit to exceptions. Fail hard! 2010-08-28 12:23:40 -07:00
Mitchell Hashimoto 354a82a177 Make some minor changes to warden to reduce the array reversals 2010-08-28 00:00:21 -07:00
Mitchell Hashimoto efbfd335ad Remove the ErrorHalt middleware, since Warden takes care of this on a larger scale 2010-08-27 23:50:14 -07:00
Mitchell Hashimoto 21e4477c39 Rip out unison syncing. It never got to see the light of day. Just didn't work out. (NFS replaced it) 2010-08-27 23:31:38 -07:00
Mitchell Hashimoto 7ddff513f0 Shell UI tests. Added option to not translate. Updated non-translated strings. 2010-08-27 23:27:35 -07:00
Mitchell Hashimoto ce080e908f Cleaned up most command string literals and SSH 2010-08-27 21:12:18 -07:00
Mitchell Hashimoto 12ce76ffd0 Convert provisioners and systems to I18n 2010-08-27 21:02:11 -07:00
Mitchell Hashimoto eee7ced10b Hosts use I18n 2010-08-27 20:53:04 -07:00
Mitchell Hashimoto d8c4985046 I18n for general actions 2010-08-27 20:50:27 -07:00
Mitchell Hashimoto 367a51fae8 Box actions now use I18n 2010-08-27 20:47:21 -07:00
Mitchell Hashimoto 1d29ba31fa I18nified all the VM actions 2010-08-27 19:46:50 -07:00
Mitchell Hashimoto 0b03502bf2 Converted final error_and_exit in ssh.rb to exceptions 2010-08-27 00:05:40 -07:00
Mitchell Hashimoto bab369e856 SSHAuthenticationFailed error 2010-08-27 00:01:27 -07:00
Mitchell Hashimoto 500a63c269 Fix some bugs in the SSH tests, replace one error_and_exit with an exception 2010-08-26 23:51:30 -07:00
Mitchell Hashimoto a206d23bc7 No need to reference Vagrant namespace directly here... 2010-08-26 23:33:44 -07:00
Mitchell Hashimoto 58237db675 Remove unused methods in environment and their translations 2010-08-26 23:30:24 -07:00
Mitchell Hashimoto afab53bf9f Scope errors into the Errors namespace. VirtualBox version errors converted to I18n 2010-08-26 23:21:28 -07:00
Mitchell Hashimoto 5c4293ae39 `vagrant box list` warning uses en.yml 2010-08-26 22:53:27 -07:00
Mitchell Hashimoto 1102eb77cc `vagrant status` output now uses the new I18n locale 2010-08-26 22:50:09 -07:00
Mitchell Hashimoto e28947f18d Use I18n gem for string database. Refactor exceptions to use I18n. 2010-08-26 21:56:38 -07:00
Mitchell Hashimoto 6d15a1dd64 Moved the resource name to a helper method in environment 2010-08-26 20:22:20 -07:00
Mitchell Hashimoto aaac5fbf1e Get rid of all Ruby warnings in Vagrant 2010-08-25 23:21:23 -07:00
Mitchell Hashimoto 3784eb82fb Fix issue with "Waiting for cleanup" message appearing twice in some cases. [closes GH-145] 2010-08-25 22:51:35 -07:00
Mitchell Hashimoto a699122260 No more logger usage for outputting to the shell 2010-08-25 22:38:24 -07:00
Mitchell Hashimoto b21fae99c5 Child UIs successfully set environment to themselves 2010-08-25 22:30:57 -07:00
Mitchell Hashimoto 5e0a7d946e Child environment UIs match the parent 2010-08-25 22:24:52 -07:00
Mitchell Hashimoto 3fdcd50ea0 Add a report progress feature to the UI 2010-08-25 22:20:14 -07:00
Mitchell Hashimoto 9ab5a7c2b1 Switch the actions over to using the new UI objects. 2010-08-25 22:13:55 -07:00
Mitchell Hashimoto e74bce8b10 Factor out the command environment initialization 2010-08-25 21:49:19 -07:00
Mitchell Hashimoto 64c3d46e1c UI class has a reference to the environment 2010-08-25 21:39:47 -07:00
Mitchell Hashimoto e3b1f7ed1e `vagrant -v` works again [closes GH-147] 2010-08-25 16:12:08 -07:00
Mitchell Hashimoto 98087243a7 Support for aliasing commands 2010-08-25 16:09:51 -07:00
Mitchell Hashimoto 83b2872ddb The `target_vms` helper in multivm with no name specified will return all VMs, not the hash [closes GH-148] 2010-08-25 16:02:29 -07:00
Mitchell Hashimoto 27d5ffa3d6 Fix vagrant status with multi-vm [closes GH-146] 2010-08-25 13:33:31 -07:00
John Bender 5c56e46739 Merge branch 'warden' 2010-08-25 00:26:07 -07:00
Mitchell Hashimoto ae516c6d6f Make include and output work with `vagrant package` 2010-08-25 00:17:27 -07:00
Mitchell Hashimoto 76715424fa Fix scoping error with status command 2010-08-25 00:07:01 -07:00
Mitchell Hashimoto c0bf4471fb `vagrant suspend` 2010-08-25 00:00:54 -07:00
Mitchell Hashimoto 23526c3746 `vagrant ssh_config` 2010-08-24 23:59:51 -07:00
Mitchell Hashimoto 3da5fc87a3 Add NamedBase for commands which take a name for multivm (optionally) 2010-08-24 23:50:20 -07:00
Mitchell Hashimoto d86884699e `vagrant ssh` and update CHANGELOG before I forget 2010-08-24 23:46:10 -07:00
Mitchell Hashimoto 7c0fe570a5 `vagrant resume` 2010-08-24 23:31:09 -07:00
Mitchell Hashimoto 5a1846f77e `vagrant reload` 2010-08-24 23:30:32 -07:00
Mitchell Hashimoto 3447dc4828 `vagrant provision` 2010-08-24 23:27:08 -07:00
Mitchell Hashimoto 4d56e68268 `vagrant package` 2010-08-24 23:25:01 -07:00
Mitchell Hashimoto 0e43d8b55f `vagrant halt` 2010-08-24 23:10:58 -07:00
Mitchell Hashimoto fd5b2dee27 `vagrant destroy` 2010-08-24 23:05:40 -07:00
Mitchell Hashimoto 8340472fc5 `vagrant up` 2010-08-24 23:03:37 -07:00
Mitchell Hashimoto ccad6af8cf Only calculate the target VMs once 2010-08-24 17:53:27 -07:00
Mitchell Hashimoto 2eb09c7aa2 Helpers to get target VMs in commands from parameters 2010-08-24 17:49:22 -07:00
Mitchell Hashimoto 2f2ac59dd5 `vagrant status` 2010-08-24 17:23:46 -07:00
Mitchell Hashimoto 127c2a426f `vagrant box list` is back in business 2010-08-24 17:02:02 -07:00
Mitchell Hashimoto 004ba551a6 Moved errors out into its own file so that vagrant.rb doesn't get too cluttered 2010-08-24 11:18:29 -07:00
Mitchell Hashimoto cc2dcf4d8f Box command to show example of a GroupBase command 2010-08-24 11:15:36 -07:00
Mitchell Hashimoto 5af0537e56 Command::GroupBase for creating subcommands for Thor. 2010-08-24 10:58:36 -07:00
Mitchell Hashimoto 1facebc3d9 Got rid of global Vagrant.ui. Moved to Environment#ui 2010-08-24 10:37:00 -07:00
Mitchell Hashimoto 48b7596357 Init command. Tests for the base command. 2010-08-24 10:27:36 -07:00
Mitchell Hashimoto 0ddda8f591 Remove all old commands. They're all being rewritten 2010-08-24 09:19:16 -07:00
Mitchell Hashimoto 4be0063d12 Tests for the CLI class 2010-08-23 23:53:27 -07:00
Mitchell Hashimoto 5e42f8bbb2 Began work on new CLI. 2010-08-23 23:44:42 -07:00
Mitchell Hashimoto 3b86122e09 Only calculate the source root once 2010-08-23 21:44:53 -07:00
Mitchell Hashimoto 4844d6c12f Moved standard library requirements to the files which use them. Cleaned up vagrant.rb quite a bit. 2010-08-23 21:43:46 -07:00
Mitchell Hashimoto cd82c8d7f8 Get rid of the PROJECT_ROOT constant. 2010-08-23 21:33:14 -07:00
Mitchell Hashimoto 9f4dcbd9a6 Bump version to 0.6.0.dev. Time to make the big changes. 2010-08-23 21:18:01 -07:00
Mitchell Hashimoto 8677bb5f12 v0.5.3 - Fixes a couple basic bugs. 2010-08-23 21:16:54 -07:00
John Bender c248db2bf9 recover argument count wrong 2010-08-22 00:52:37 -07:00
John Bender 220fff0c19 moved unpackage to warden 2010-08-22 00:49:54 -07:00
John Bender 30a84c6e50 moved export to warden 2010-08-22 00:37:15 -07:00
John Bender c519f14626 moved rescue to recover 2010-08-22 00:08:54 -07:00
John Bender 0c011e80c7 action general package moved to warden cleanup 2010-08-22 00:08:54 -07:00
John Bender c0121ac08e box download action switched to warden rescue 2010-08-22 00:08:54 -07:00
John Bender afd87c908a rebased to master and fixed test 2010-08-22 00:08:54 -07:00
John Bender 99f7b62c83 first middleware, import, moved to rescue for cleanup 2010-08-22 00:08:54 -07:00
John Bender 36f0eb8feb rescue upgraded to handle return values or calls with env errors. added error and exit call/interupt handling 2010-08-22 00:08:54 -07:00
John Bender 4e732631d8 tests for begin rescue 2010-08-22 00:08:54 -07:00
John Bender b251d9b954 begin rescue added 2010-08-22 00:08:54 -07:00
John Bender 114511742e tests added for basic warden call forwarding 2010-08-22 00:08:54 -07:00
John Bender 2c1da9566c first pass at the action warden, currently just reproducing basic rack functionality 2010-08-22 00:08:54 -07:00
Mitchell Hashimoto 7bf9c6203d Fix strange formatting from `vagrant init` [closes GH-142] 2010-08-19 22:15:47 -07:00
Mitchell Hashimoto 3c225ee768 Use File.join instead of File.expand_path in chef solo provisioner for folder paths. Allows it work on windows again. 2010-08-18 11:40:49 -07:00
Mitchell Hashimoto 0c41f6de3d Bump version for development 2010-08-03 20:11:33 -07:00
Mitchell Hashimoto 401d722ec6 v0.5.2 - Fix regression with `vagrant package` 2010-08-03 20:10:25 -07:00
Mitchell Hashimoto cf32abb210 `vagrant up` can be used the same as `vagrant resume` [closes GH-134] 2010-08-03 19:43:39 -07:00
Mitchell Hashimoto 1cbc931a6d Run chef provisioners with "-E" flag on sudo so PATH is preserved on CentOS [closes GH-133] 2010-08-03 09:14:35 -07:00
Mitchell Hashimoto f3a6dc8479 Added "IdentitiesOnly" flag to `vagrant ssh` to avoid "Too Many Auth Failures" error message 2010-08-02 19:52:11 -07:00
Mitchell Hashimoto 22a9e3fe3d Fix regression with `package` not working. [closes GH-132] 2010-08-02 19:44:15 -07:00
Mitchell Hashimoto b28743602e Make sure `vagrant init` gets proper default box 2010-08-01 19:33:04 -07:00
Mitchell Hashimoto b6719d00d9 Enable ability to supress newlines in ERB for templates using -%> 2010-08-01 17:26:37 -07:00
Mitchell Hashimoto 992bd13b19 Cleaned up the `vagrant init` command, updated CHANGELOG 2010-08-01 17:18:17 -07:00
Vitor Pellegrino e4deaec4d2 Added the option to specify a box_url when initting a new Vagrant project 2010-07-31 17:37:57 -07:00
Mitchell Hashimoto 5184f47f7f Bump version for development and update changelog 2010-07-31 11:28:55 -07:00
Mitchell Hashimoto 34464037ce v0.5.1 Maintenance release. See CHANGELOG for details. 2010-07-31 11:21:25 -07:00
Mitchell Hashimoto 0052f2515c Change default `config.chef.cookbooks_path` to handle typical default behavior for remote cookbooks 2010-07-31 10:53:57 -07:00
Mitchell Hashimoto e63cd71673 Specify remote cookbook paths which exist only the VM in cookbook_paths config. [closes GH-130] 2010-07-31 10:46:22 -07:00
Mitchell Hashimoto 6522a2f6e5 Quiet output slightly on `destroy`, `halt`, and `reload` 2010-07-31 08:36:33 -07:00
Mitchell Hashimoto fea5ed67c5 Fixed error with doing a `vagrant up` when no Vagrantfile was present 2010-07-30 18:01:12 -07:00
Mitchell Hashimoto b48b0cb299 NFS cleanup no longer errors if /etc/exports doesn't exist. [closes GH-126] 2010-07-30 09:38:45 -07:00
Mitchell Hashimoto 96ea715e30 Fixed `vagrant resume` to properly resume a suspend VM [closes GH-122] 2010-07-29 20:26:02 -07:00
Mitchell Hashimoto 8ea6d2bc40 Properly discard VM state if saved on various commands such as destroy [closes GH-123] 2010-07-29 20:15:38 -07:00
Mitchell Hashimoto d17765c3dd `config.chef.recipe_url` to download cookbooks via chef solo [closes GH-121] 2010-07-28 21:35:00 -07:00
Mitchell Hashimoto fcf1116f27 `vagrant box repackage` can now take the typical `--output` and `--include` parameters 2010-07-28 20:30:16 -07:00
Mitchell Hashimoto e7ad0ab105 Some copy change for packaging to make it more generic 2010-07-28 07:40:21 -07:00
Mitchell Hashimoto b179ee6c76 Add action for box repackaging [closes GH-120] 2010-07-28 07:35:58 -07:00
Mitchell Hashimoto 01203c117c VM::Package middleware which will properly setup env data for General::Package 2010-07-28 07:24:57 -07:00
Mitchell Hashimoto 523cb1042a Moved the packaging action out to the General namespace, since it is now generalized 2010-07-27 23:54:24 -07:00
Mitchell Hashimoto 39bf56f786 Remove unused method from package 2010-07-27 23:28:58 -07:00
Mitchell Hashimoto 1eb407a021 Fix superclass mismatch for exception.
I couldn't find where the mismatch actually was happening... will have to look harder.
2010-07-27 23:27:23 -07:00
Mitchell Hashimoto 9895f93e1d Separate vagrantfile creation in packaging and actual packaging 2010-07-27 23:22:10 -07:00
Mitchell Hashimoto d9331c9406 Raise a useful exception when an invalid callable is ran 2010-07-27 19:35:57 -07:00
Mitchell Hashimoto e74cffa6c5 Bump version for development 2010-07-27 19:11:20 -07:00
Mitchell Hashimoto 3848a2dd52 Get rid of some outdated TODOs 2010-07-26 08:56:55 -07:00
Mitchell Hashimoto 1cbc60de1c Remove `config.package.extension` option. Use `config.package.name` instead. 2010-07-24 09:24:43 -07:00
Mitchell Hashimoto 9b6747713e Remove ExceptionCatcher include from downloader action 2010-07-24 09:19:13 -07:00
Mitchell Hashimoto eed81d64f0 No need to catch action exception on downloaders. Converted to using proper environment errors. 2010-07-24 09:18:10 -07:00
Mitchell Hashimoto 05eec68bfb Unnecessary flatten call, using += instead for array addition 2010-07-24 09:16:25 -07:00
Mitchell Hashimoto dcd9c2a788 Give proper error message if bad URL given for HTTP box adding 2010-07-24 09:07:37 -07:00
Mitchell Hashimoto 14e7ff8d00 Flush all log output and sleep a bit for NFS export warning [closes GH-119] 2010-07-24 00:30:20 -07:00
Mitchell Hashimoto 555b5af2a8 Remove Environment#require_box since it is no longer used 2010-07-23 22:37:38 -07:00
Mitchell Hashimoto f472dbde44 Download the box specified by the URL if it doesn't yet exist [closes GH-113]
Thanks a lot to Vitor Pellegrino for much of the work on this.
2010-07-23 22:23:13 -07:00
Mitchell Hashimoto 4ec6196b3b Add CheckBox to up command and make the typical require_box checks 2010-07-23 22:06:17 -07:00
Vitor Pellegrino 23296093b1 Checking if a box already exists at the checking middleware 2010-07-23 21:44:13 -07:00
Vitor Pellegrino aa32d594ca Adding box_url as a possible option at vagrantfile 2010-07-23 21:41:35 -07:00
Mitchell Hashimoto 70b560a96d Goodbye Jeweler. Using gemspecs like they were meant to be used. 2010-07-23 18:28:33 -07:00
Mitchell Hashimoto 07586c1725 SIGINT twice exists immediately [closes GH-118] 2010-07-22 21:10:38 -07:00
Mitchell Hashimoto 9a81a1f49a Export doesn't continue chain if error occured 2010-07-22 09:02:28 -07:00
Mitchell Hashimoto 940693287d Export returns immediately if an error is there prior to the export [closes GH-117] 2010-07-22 09:00:23 -07:00
Mitchell Hashimoto 457f6967d1 `vagrant package` respects its parameters again (regression from middleware) 2010-07-21 22:59:25 -07:00
Mitchell Hashimoto c1d454dbee Speed up tests by adding "vagrant.test" middleware env to avoid sleeps. 2010-07-21 21:42:14 -07:00
Mitchell Hashimoto d09ebe1021 Can now ctrl-C during SSH attempts [closes GH-115] 2010-07-21 21:38:01 -07:00
Mitchell Hashimoto 4e8b6f32b4 Disable host only networks on halt [closes GH-116] 2010-07-21 21:17:34 -07:00
Mitchell Hashimoto f2242662f8 Don't return when finding disabled shared folder, continue to include others 2010-07-21 15:50:27 -07:00
Mitchell Hashimoto c875e4345a Expand the NFS shared folder path relative to root path during the extraction. 2010-07-20 13:18:00 -07:00
Mitchell Hashimoto 061bdad68a Move ResourceLogger to the Util namespace since thats more of what it is 2010-07-19 21:50:47 -07:00
Mitchell Hashimoto bba97a28c7 Run the destroy sequence instead of the specific action for handling SIGINT in import 2010-07-18 08:54:24 -07:00
Mitchell Hashimoto cb730c3410 If SIGINT is called during a sequence with an import, VM is properly destroyed 2010-07-18 08:39:31 -07:00
Mitchell Hashimoto 769431ce7c Boot verifies not erroneous environment before booting 2010-07-18 08:24:47 -07:00
Mitchell Hashimoto 1e29532255 Action environment injected with `interrupt` exception if SIGINT occurs during action chain. 2010-07-18 08:20:11 -07:00
Mitchell Hashimoto f1ad7234b9 The new Vagrant::Util::Busy. 2010-07-18 08:10:40 -07:00
Mitchell Hashimoto bbd0f0e8cb Remove Vagrant::Busy class. It will be making a comeback soon in a newly invented form. 2010-07-18 01:59:01 -07:00
Mitchell Hashimoto 8168ca3e86 Package action cleans up in the event of some environmental error 2010-07-18 01:13:50 -07:00
Mitchell Hashimoto f8909dcbfa Fix `sed` calls for linux and add proper options for the UID/GID mapping. 2010-07-17 09:58:30 -07:00
Mitchell Hashimoto 67b23be473 Linux NFS support (host) 2010-07-17 09:35:43 -07:00
Mitchell Hashimoto aee49a61ab Add Config::Top#deep_clone method to deep clone Vagrant configuration. 2010-07-17 00:02:13 -07:00
Mitchell Hashimoto 302bc348d3 Retry the BSD#nfs? call at least 10 times if a weird TypeError is raised 2010-07-16 22:00:49 -07:00
Mitchell Hashimoto 46c462d322 NFS options to configure mapall UID/GID. Vagrant can also detect this automatically (default) 2010-07-15 23:02:31 -07:00
Mitchell Hashimoto 736f032995 Mount NFS folders before provisioning 2010-07-14 23:16:13 -07:00
Mitchell Hashimoto 245ada2441 Shared folders marked with `:disabled` flag will be ignored. 2010-07-14 22:53:24 -07:00
Mitchell Hashimoto a5643d3239 Error if a forwarded port is below 1024 [closes GH-97] 2010-07-14 21:27:00 -07:00
Mitchell Hashimoto 7de7982214 CleanMachineFolder won't run if the folder is < 10 characters. Small safeguard againt unwanted rm-rfs. 2010-07-14 21:03:58 -07:00
Mitchell Hashimoto 3c1aac7ff5 CleanMachineFolder middleware to clean empty machine folders [closes GH-98] 2010-07-14 20:58:37 -07:00
Mitchell Hashimoto 8dc839e0c7 Clear NFS exports if an error occured in the environment in NFS 2010-07-13 22:58:45 -07:00
Mitchell Hashimoto 4472ce1879 NFS cleanup methods on destroy 2010-07-13 22:40:44 -07:00
Mitchell Hashimoto dc5a1be320 NFS cleanup on BSD host 2010-07-13 22:30:54 -07:00
Mitchell Hashimoto fe430ff006 Mount NFS folders on the linux system 2010-07-13 22:04:56 -07:00
Mitchell Hashimoto 18d04e8aa3 Checking for NFS no longer outputs things 2010-07-13 21:41:29 -07:00
Mitchell Hashimoto 549fad0b91 Move output helpers into the actual util class, gets rid of method missing on environment 2010-07-13 21:35:47 -07:00
Mitchell Hashimoto 3d13a071c6 Allow setting environment on builder 2010-07-13 21:31:06 -07:00
Mitchell Hashimoto 892a624756 Action environment hash has indifferent access 2010-07-13 20:57:14 -07:00
Mitchell Hashimoto a0fa3755b5 Halt on destroy will not attempt graceful [closes GH-110] 2010-07-13 20:35:47 -07:00
Mitchell Hashimoto 7e9b75f939 Rescue TypeError when checking for NFS and return false [closes GH-109] 2010-07-13 20:30:24 -07:00
Mitchell Hashimoto 1bfb99d606 Only verify NFS settings if NFS shared folders exist 2010-07-13 20:25:20 -07:00
Brian Donovan 604b978cab Fix an incorrect mock/implementation pair. 2010-07-13 09:06:57 -07:00
Brian Donovan c78a3f3e3f Include util.rb early so the included hook is set up properly.
Fixes a NoMethodError running any command that invokes Environment.load!
2010-07-13 09:06:20 -07:00
Mitchell Hashimoto e158a01d69 BSD host properly tests for `nfsd` binary 2010-07-12 22:41:41 -07:00
Mitchell Hashimoto ba78ea86c1 Restart NFSd after exporting 2010-07-12 22:37:24 -07:00
Mitchell Hashimoto 5e537f7126 Exports output is in proper format 2010-07-12 22:26:01 -07:00
Mitchell Hashimoto 9f4950375e Host NFS export 2010-07-12 22:10:17 -07:00
Mitchell Hashimoto de38af8111 Pass guest IP along to the Host#nfs_export function 2010-07-12 21:43:31 -07:00
Mitchell Hashimoto 6887f08bf7 Get host IP on NFS middleware and call proper system methods 2010-07-11 21:33:49 -07:00
Mitchell Hashimoto 30e8b3b8ce NFS middleware interface complete. Implemention on host not yet done. 2010-07-11 10:58:17 -07:00
Mitchell Hashimoto 7430cf54ff Futher work to the NFS middleware 2010-07-11 10:00:13 -07:00
Mitchell Hashimoto 1e92f0d58f Started on NFS middleware 2010-07-11 09:44:18 -07:00
Mitchell Hashimoto d309f79fbc Get rid of unused ivar on Box 2010-07-11 09:26:57 -07:00
Mitchell Hashimoto e2badeb9e1 Concepts of "Hosts" introduced, preparing for host-specific behavior. 2010-07-10 22:07:10 -07:00
Mitchell Hashimoto 9679000820 Package clears forwarded ports prior to exporting 2010-07-09 10:18:44 -07:00
Mitchell Hashimoto 409be1146f Clear forwarded ports middleware 2010-07-09 10:14:26 -07:00
Mitchell Hashimoto 8bd64de61d Properly cleanup exported box 2010-07-08 23:28:40 -07:00
Mitchell Hashimoto 62a3adb7dd Add clearing shared folders to packaging [closes GH-104] 2010-07-08 23:19:50 -07:00
Mitchell Hashimoto 0ebdf88144 ClearSharedFolders middleware 2010-07-08 23:09:42 -07:00
Mitchell Hashimoto c82308f8da `config.ssh.forward_agent` option added [closes GH-105] 2010-07-08 22:38:14 -07:00
Mitchell Hashimoto 8f0d6c8304 Merge branch 'middleware' 2010-07-08 22:05:09 -07:00
Mitchell Hashimoto 65cd1afd4f Catch remaining locations with action exceptions 2010-07-08 22:01:35 -07:00
Mitchell Hashimoto a0a6230455 Catch exceptions on download 2010-07-08 21:52:56 -07:00
Mitchell Hashimoto f558304b50 Goodbye, Actions 2010-07-08 21:35:31 -07:00
Mitchell Hashimoto 13a46ac1bd ActionException on Vagrant::Action 2010-07-08 21:30:36 -07:00
Mitchell Hashimoto ff7e9dc2ae Get rid of ActionException usage in provisioners 2010-07-08 20:48:01 -07:00
Mitchell Hashimoto b2c2c76b55 Provisioner now uses the action environment 2010-07-08 20:33:47 -07:00
Mitchell Hashimoto 5d2e3d9f6f Box destroying middleware 2010-07-08 08:32:41 -07:00
Mitchell Hashimoto 842ddd75b4 Box verification 2010-07-08 07:55:27 -07:00
Dylan Egan f5756cdfc5 Allow the node_name to be set for the ChefSolo Provisioner. 2010-07-07 23:26:08 -07:00
Mitchell Hashimoto 50af3987fc VM is no longer an action runner 2010-07-07 23:23:59 -07:00
Mitchell Hashimoto 6e93406069 Box downloading uses box environment key 2010-07-07 23:23:19 -07:00
Mitchell Hashimoto f6a53ddff0 Box adding middleware, box add uses it now 2010-07-07 23:16:56 -07:00
Mitchell Hashimoto d84225de66 Box downloading middleware 2010-07-07 22:21:37 -07:00
Mitchell Hashimoto e9bcd3fc16 Action.run can be called with a class 2010-07-07 21:03:28 -07:00
Mitchell Hashimoto 086ca5a97e Builder#use returns self, for chaining 2010-07-07 21:00:54 -07:00
Mitchell Hashimoto f45989d1d5 Power off during the package sequence if not already. 2010-07-07 20:58:20 -07:00
Mitchell Hashimoto b96acce79f Packaging middleware and modifying VM#package to use it 2010-07-07 20:47:53 -07:00
Mitchell Hashimoto 667cd56139 Export middleware 2010-07-07 20:17:32 -07:00
Mitchell Hashimoto 072e71df8a Customize uses the proper VM object 2010-07-07 09:15:30 -07:00
Mitchell Hashimoto 6d4a23b6b8 Resume uses the raw start action 2010-07-06 21:42:02 -07:00
Mitchell Hashimoto a11fb717b0 Resume middleware 2010-07-06 21:27:20 -07:00
Mitchell Hashimoto 3ed9222ea5 Suspend middleware 2010-07-06 21:22:55 -07:00
Mitchell Hashimoto d313a106a3 Provision registered actions 2010-07-06 21:12:51 -07:00
Mitchell Hashimoto 68f1e6c7e1 Make mergeable default behaviour and make flatten the explicit behavior 2010-07-06 20:50:35 -07:00
Mitchell Hashimoto 642db533ee Start, reload, halt now use middleware stacks 2010-07-06 20:35:31 -07:00
Mitchell Hashimoto 88587c3322 Easy retrieval of actions. 2010-07-06 20:16:01 -07:00
Mitchell Hashimoto 3c943834ea Builder can now use other builders or merge other builders 2010-07-06 20:08:36 -07:00
Mitchell Hashimoto 29458061df Added insert, swap, and delete helpers to Vagrant::Action::Builder 2010-07-05 20:09:39 +02:00
Mitchell Hashimoto da27f248e7 VM#destroy and VM#up now use the new middleware stack 2010-07-05 19:44:47 +02:00
Mitchell Hashimoto cfc87d4ce3 Halt checks if VM is running. No more error messages 2010-07-05 19:41:31 +02:00
Mitchell Hashimoto 77cca19b7e Destroy middleware 2010-07-05 19:17:48 +02:00
Mitchell Hashimoto a14850c564 Halt middleware 2010-07-05 18:11:28 +02:00
Mitchell Hashimoto 9ac9e49ba1 Fixed some middleware ordering and include util for checking guest additions 2010-07-05 17:51:41 +02:00
Mitchell Hashimoto d986fdf041 Provisioning 2010-07-05 17:36:34 +02:00
Mitchell Hashimoto f258746384 Middleware to destroy unused network interfaces 2010-07-05 17:18:16 +02:00
Mitchell Hashimoto 7d6c0db4ae Networking middleware 2010-07-05 04:33:34 +02:00
Mitchell Hashimoto f205a747c9 CheckGuestAdditions middleware 2010-07-05 03:53:19 +02:00
Mitchell Hashimoto de772a01ce MAC address matching middleware 2010-07-05 03:38:42 +02:00
Mitchell Hashimoto 3e51a07a80 Persisting the dotfile middleware 2010-07-05 03:30:33 +02:00
Mitchell Hashimoto c365a7ffac Environment has defaults for values. Import properly sets VM 2010-07-05 03:17:09 +02:00
Mitchell Hashimoto d4de0d7357 Options can now be passed into running actions 2010-07-05 02:46:11 +02:00
Mitchell Hashimoto d97c972a7f Boot action 2010-07-05 02:44:30 +02:00
Mitchell Hashimoto ae750288ed Only mount and do unison setup in the absense of error environments 2010-07-05 02:33:44 +02:00
Mitchell Hashimoto 73a3723608 Shared folder task 2010-07-05 02:31:30 +02:00
Mitchell Hashimoto 05a01f5953 Added ErrorHalt middleware which is prepended to all builder actions 2010-07-04 18:15:41 +02:00
Mitchell Hashimoto 221bdcbf63 Forward ports action 2010-07-04 18:07:09 +02:00
Mitchell Hashimoto 12117d6349 Customize action 2010-07-04 09:18:34 +02:00
Mitchell Hashimoto 67729304a2 Import action. Erroneous environments for actions. 2010-07-04 08:52:01 +02:00
Mitchell Hashimoto 64b533edc4 Builtin class and stubbed import middleware 2010-07-04 04:58:03 +02:00
Mitchell Hashimoto 5775292408 Registered actions can be run. Builders can use other builders 2010-07-04 04:09:02 +02:00
Mitchell Hashimoto bad5ba559f Actions on Environment and making them runnable 2010-07-04 03:48:16 +02:00
Mitchell Hashimoto c88adbc0f7 Builder fully tested 2010-07-03 18:51:40 +02:00
Mitchell Hashimoto 6eefc8e874 Initial foundation building of new action style 2010-07-03 17:34:15 +02:00
Mitchell Hashimoto ae0d9935a7 Detect if any collisions with non-hostonly networks for networking. [closes GH-102] 2010-07-02 08:37:13 -07:00
Mitchell Hashimoto 0896f096e9 Ignore non-hostonly adapters for host only networking [closes GH-101] 2010-07-01 14:26:56 -07:00
Mitchell Hashimoto e4b13ea758 `vagrant package` checks for output file existing [closes GH-100] 2010-06-29 20:57:09 -07:00
Mitchell Hashimoto 499340aa03 Increase halt timeout to 30 seconds 2010-06-29 20:42:39 -07:00
Mitchell Hashimoto c643aa1513 Fix issue with VirtualBox.version being nil in forked process 2010-06-24 10:35:32 -07:00
Mitchell Hashimoto 3006fa35c3 Remove the `.unison` folder to avoid "folder is empty" error 2010-06-22 23:54:05 -07:00
Mitchell Hashimoto 03262b0a04 Remove sync TO folder for unison prior to setting up cron 2010-06-22 23:42:45 -07:00
Mitchell Hashimoto 97f82d7140 Better, more unified logging for unison 2010-06-22 23:33:20 -07:00
Mitchell Hashimoto f3c6c7320b Better unison script locking and proper from/to 2010-06-20 21:34:36 -07:00
Mitchell Hashimoto 47403e16cc Now checks if `unison` binary is installed before running 2010-06-20 14:38:58 -07:00
Mitchell Hashimoto e8fd57fbbb Fixes to unison. Now tested and working. 2010-06-20 14:14:11 -07:00
Mitchell Hashimoto b97c257904 `setup_unison` implemented on shared folder action 2010-06-20 02:24:07 -07:00
Mitchell Hashimoto c7bbfcc5a1 `create_unison` method implemented on the system 2010-06-20 02:16:32 -07:00
Mitchell Hashimoto 67ab68df89 System `prepare_unison` method + tests 2010-06-20 02:07:32 -07:00
Mitchell Hashimoto 5f0695f776 Setup new unison scripts and set configs. 2010-06-20 01:42:31 -07:00
Mitchell Hashimoto b0879dea6a Rethinking Unison foundation. Tearing things out. 2010-06-19 11:34:37 -07:00
Mitchell Hashimoto 9e931dd350 VirtualBox minimum version bumped to 3.2 2010-06-17 23:08:38 -07:00
Mitchell Hashimoto e6760d8f5b s/nat engine/nat driver/ 2010-06-17 22:38:25 -07:00
Mitchell Hashimoto d257703496 SSH gets port from proper place in 3.2.x 2010-06-17 22:31:01 -07:00
Mitchell Hashimoto 26b837f427 Vagrant uses correct NATForwarded port for 3.2.x 2010-06-17 22:17:58 -07:00
Mitchell Hashimoto 7691b28c53 `vagrant ssh` now takes an `--execute` (or `-e`) param for executing commands [closes GH-95] 2010-06-15 22:31:51 -07:00
Mitchell Hashimoto 3be88f44fa Warning if guest additions version mismatches [closes GH-96] 2010-06-15 21:58:27 -07:00
Mitchell Hashimoto b84123dcd9 Provision command checks if VM is created 2010-06-14 13:09:32 -07:00
Mitchell Hashimoto b56994d11d Internal SSH ignores ssh config file. Also added `PasswordAuthentication no` to ssh-config output 2010-06-05 18:52:52 -07:00
John Bender eec0986bc7 switched directory syncing over to unison 2010-06-05 00:39:25 -07:00
Mitchell Hashimoto 7b6523371c No more `config.vm.project_directory`. The "v-root" shared folder is now a regular shraed folder like everything else. 2010-06-03 22:19:42 -07:00
Mitchell Hashimoto abef4d29ce Retry SCP upload 5 times as well 2010-06-03 20:58:04 -07:00
Mitchell Hashimoto 8dc57c6796 Retry SSH commands 5 times if an IOError occurs 2010-06-03 20:55:46 -07:00
Mitchell Hashimoto dc760c73b9 Reload after saving forwarded ports 2010-06-03 20:48:24 -07:00
Mitchell Hashimoto b13de6a497 If no shared folders existed, don't worry about clearing them 2010-06-03 20:35:12 -07:00
Mitchell Hashimoto 97facb08fd Do not reload VM and everything if no forwarded ports were destroyed 2010-06-03 20:34:02 -07:00
Mitchell Hashimoto b00442026f Don't run VM customizations if none were specified 2010-06-03 20:32:09 -07:00
Mitchell Hashimoto 50262cfb66 Destroy unused network interfaces on VM destroy 2010-06-03 19:59:39 -07:00
Mitchell Hashimoto 7a093340bf VM definition blocks are now stackable. [closes GH-94] 2010-06-03 19:20:15 -07:00
Mitchell Hashimoto 1e01514c4f Dup the forwarded ports array while destroying to avoid issues with changes in virtualbox gem and deleting in place 2010-06-03 12:04:21 -07:00
Mitchell Hashimoto abf6a50b5a Dup the shared folders array when destroying due to changes in virtualbox gem 2010-06-03 12:03:43 -07:00
Mitchell Hashimoto 4e806ae325 A VM can now have a host only network on multiple adapters 2010-06-03 11:50:29 -07:00
Mitchell Hashimoto bb7a309cab Verify ubuntu/debian install for host only networking 2010-06-03 11:35:50 -07:00
Mitchell Hashimoto 2d68b284d1 Some fixes with defining new interfaces on Ubuntu 2010-06-03 11:29:17 -07:00
Mitchell Hashimoto 73e9debefb Dynamically insert entry into /etc/network/interfaces file for Ubuntu 2010-06-03 11:09:31 -07:00
Mitchell Hashimoto 134ebe8405 Added new method to base system. Not implemented for linux yet. 2010-06-03 00:27:48 -07:00
Mitchell Hashimoto d16efa1a34 Join a specific host only network if name is specified. 2010-06-03 00:17:04 -07:00
Mitchell Hashimoto 77f7b09a26 Host only networks. Doesn't yet set them up within the OS but creates them on the guest. 2010-06-02 23:52:15 -07:00
Mitchell Hashimoto b63c74fad9 Forwarded ports action reloads the model after clearing 2010-05-30 18:09:36 -07:00
Mitchell Hashimoto 6fc2f4661a 1 second sleep after the halt on `down` to allow VirtualBox to clean itself up 2010-05-30 17:56:20 -07:00
Mitchell Hashimoto d7af9882f4 Allow SSH commands to ignore exit status 2010-05-29 23:33:37 -07:00
Mitchell Hashimoto eb30074eea Oops, File.rm => File.delete 2010-05-29 13:21:57 -07:00
Mitchell Hashimoto 46e9250f09 Remove the dotfile (.vagrant) if no more active VMs exist 2010-05-29 12:15:55 -07:00
Mitchell Hashimoto 503a9acf89 Verify chef binaries exist prior to running chef provisioning [closes GH-89] 2010-05-29 11:33:01 -07:00
Mitchell Hashimoto 4c8713ecd4 SSH exec! can now be given options which are used for bad exit status error messages 2010-05-29 11:18:27 -07:00
Mitchell Hashimoto ad96f0090a Properly download boxes from HTTPS sources. [closes GH-84] 2010-05-29 10:54:27 -07:00
Mitchell Hashimoto ced200e256 When verifying boxes, catch all exceptions 2010-05-28 23:26:11 -07:00
Mitchell Hashimoto 2af2a81eb8 Chef runs (solo and client) check exit status and error if anything occurs. 2010-05-28 23:18:32 -07:00
Mitchell Hashimoto 8ea9816552 Error and exit if SSH command returns non-zero exit status [closes GH-80] 2010-05-28 23:01:25 -07:00
Mitchell Hashimoto f30cdf3eea New wrapper SSH session class to emit exit status as well. Will be used in the future to raise exceptions for bad exit status. For now, works as a drop-in replacement. 2010-05-28 14:19:35 -07:00
Mitchell Hashimoto 5f57766365 Primary VM is SSH by default on call to `vagrant ssh` 2010-05-27 23:06:57 -07:00
Mitchell Hashimoto 687b925d2e Concept of a 'primary' VM in a multi-VM environment added. This VM will be the default for actions in a multi-VM environment. 2010-05-27 22:54:11 -07:00
Mitchell Hashimoto 0e4ae3530a `vagrant ssh` now queries for the ssh forwarded port, rather than relying on config 2010-05-27 18:18:25 -07:00
Mitchell Hashimoto cc0a1930d8 When handling collisions, the fixer won't set the port to something which is used by that VM later 2010-05-27 17:41:32 -07:00
Mitchell Hashimoto 61bcc761bc Error message is given if there are no auto ports available. 2010-05-27 17:37:48 -07:00
Mitchell Hashimoto 7fa0303925 Automatic 'external' port collision correction. If a forwarded port collides with any created VM and is marked to be fixed automatically, then vagrant will choose a new port automatically. 2010-05-27 17:31:36 -07:00
Mitchell Hashimoto b174645fb7 Change `instance` option to forwarding ports to `adapter` and make thoes options a hash at the end. 2010-05-27 12:34:08 -07:00
Mitchell Hashimoto 6f287aa17a Fix some small issues with up, down, and halt with the latest refactor. 2010-05-26 21:13:56 -07:00
Mitchell Hashimoto 455a44cc5d Add `--no-provision` flag to `vagrant up`. Refactor the way action options work a bit. [closes GH-87] 2010-05-26 20:58:27 -07:00
Mitchell Hashimoto c16df0d26a Simple wording changes 2010-05-25 19:20:47 -07:00
Robert O'Brien 77bcd9919d Enable port forwarding to be directed at a specific adapter (NIC), prevented entirely making standard use of TCP/IP and ensuring that port forwarding is only attempted when the NIC is using the VirtualBox NAT. 2010-05-25 19:15:05 -07:00
Mitchell Hashimoto cce82305ee When util is included, extend the class as well [closes GH-83] 2010-05-25 13:19:38 -07:00
Mitchell Hashimoto a5648abe92 Do not worry about key permissions on windows [closes GH-79] 2010-05-24 01:10:27 -07:00
John Bender 74aefa5c3d corrected bit mask for package output on windows 2010-05-22 22:46:42 -07:00
Mitchell Hashimoto b949861186 Changed semantics of 'up.' 'up' will now only provision when the VM is being created from scratch. Otherwise, it simply starts the VM. [closes GH-78] 2010-05-22 18:55:00 -07:00
Mitchell Hashimoto 156149824d Remove parallelism for now. Caused too many issues with too little benefit. 2010-05-22 15:43:27 -07:00
Andrew Clay Shafer c863457157 Added provision command
Will rerun provisioner on running vms
2010-05-22 00:52:30 -07:00
Mitchell Hashimoto 3360c37fc7 Parallelize the commands. There are some issues with this but in general it works so far. More polish needs to be done. 2010-05-22 00:33:57 -07:00
Mitchell Hashimoto 12b8ab4516 Refactor the "all or single" behavior of many commands into the base. 2010-05-21 23:38:44 -07:00
Mitchell Hashimoto a5cb80f396 Removed old progress meter module from util 2010-05-20 22:54:48 -07:00
Mitchell Hashimoto b2c2d2a4cc Downloader progress reporter now uses the environment logger 2010-05-20 22:37:39 -07:00
Mitchell Hashimoto 6e7af31616 Resource logger now has a thread-safe progress meter built-in 2010-05-20 22:28:28 -07:00
Mitchell Hashimoto 3cef90cfb9 Remove util.rb and that logger 2010-05-20 20:54:34 -07:00