Commit Graph

823 Commits

Author SHA1 Message Date
Mitchell Hashimoto f37710a4bd Remove logger helper from action environment class 2010-09-20 09:44:51 -06:00
Mitchell Hashimoto ba8307712d Don't require root path to load an environment. (Makes `vagrant box` commands work again without a Vagrantfile) 2010-09-16 18:14:41 -06:00
Mitchell Hashimoto bae6c57230 Expose test helpers [closes GH-162] 2010-09-15 09:19:38 -06:00
Mitchell Hashimoto 90aaf5cb5e Command helpers `target_vms` now takes an optional string for the VM name 2010-09-15 08:38:56 -06:00
Mitchell Hashimoto d5fbf29ec0 Plugins. Documentation coming shortly. 2010-09-14 23:10:51 -06:00
Mitchell Hashimoto 036edfcc2a Only destroy the VM if the exception raised is not a Vagrant error 2010-09-14 00:48:31 -06:00
Mitchell Hashimoto 7c42300002 Expose the exception which triggers recovery methods through the "vagrant.error" environmental hash 2010-09-13 23:43:37 -06:00
Mitchell Hashimoto d5ad387f27 New `vagrant package` option `--vagrantfile` and changed semantics of `--include` (see CHANGELOG) 2010-09-12 23:20:13 -06:00
Mitchell Hashimoto 4b8878f5f7 Import uses the string path, rather than the pathname 2010-09-12 16:37:43 -06:00
Mitchell Hashimoto 714c94780c On import, only run destroy action if VM is created 2010-09-12 16:34:49 -06:00
Mitchell Hashimoto 7d73bec776 Disable networks only if VM is created 2010-09-12 16:31:38 -06:00
Mitchell Hashimoto e11d3bd4f7 Only halt if created and running 2010-09-12 16:29:35 -06:00
Mitchell Hashimoto 4335adc8f4 Only discard state if the VM is created 2010-09-12 16:26:32 -06:00
Mitchell Hashimoto 02cfb60387 Verify box with a string path, not pathname 2010-09-12 15:39:37 -06:00
Mitchell Hashimoto 79b303a1fc Send string, not pathname, to Minitar for decompression 2010-09-12 14:00:48 -07:00
Mitchell Hashimoto 5ce43a8ae0 Utilize pathname when available instead of doing just a File.join 2010-09-11 10:42:03 -07:00
Mitchell Hashimoto 2026bb0b1c Remove unnecessary class methods on Box class. Move commands over to use "boxes" on env 2010-09-11 10:33:49 -07:00
Mitchell Hashimoto 761da0de63 Remove method calls to "Box.find" and remove method 2010-09-11 10:21:35 -07:00
Mitchell Hashimoto 0ee21998f6 New BoxCollection class to keep track of all boxes. 2010-09-11 10:17:26 -07:00
Mitchell Hashimoto 4b17ac0f89 Environment#home_path is a Pathname object for easier manipulation 2010-09-11 09:18:33 -07:00
Mitchell Hashimoto 86465a36c0 Change method by which configuration classes register themselves to be cleaner 2010-09-11 09:02:55 -07:00
Mitchell Hashimoto f8e7431899 Retry SSH connect a few times before admitting defeat. 2010-09-09 00:28:21 -07:00
Mitchell Hashimoto a0ed4d0da8 Get rid of "mock_action_data" use "action_env" instead 2010-09-08 23:56:35 -07:00
Mitchell Hashimoto 16f3a3face Test helper `mock_environment` completely gone 2010-09-08 23:51:09 -07:00
Anko painting 650ff4b734 Allow downloading via a proxy if http_proxy environment variable is set. [closes GH-157] 2010-09-08 22:11:53 -07:00
Mitchell Hashimoto 73c223c885 Remove most of the remaining mock_environment calls. Only one remains. 2010-09-07 11:51:10 -07:00
Mitchell Hashimoto 8164644615 Converted most "mock_environment" tests to "vagrant_env" which uses real filesystem 2010-09-07 11:41:52 -07:00
Mitchell Hashimoto 3cca2f1bb4 Config loading test is now powered by real Vagrantfiles, rather than mocks 2010-09-07 11:30:48 -07:00
Mitchell Hashimoto 5f6e3acf40 Require root path on environment load 2010-09-07 10:52:58 -07:00
Mitchell Hashimoto 446d1155fe Add ruby-debug for tests in the Gemfile for MRI (both 1.8 and 1.9 version) 2010-09-07 01:19:11 -07:00
Mitchell Hashimoto 9a0834d263 Make environment tests fast again 2010-09-07 01:03:27 -07:00
Mitchell Hashimoto 5a13347fb4 Fix issue with local data store not being properly cleared for VM destruction 2010-09-07 01:02:11 -07:00
Mitchell Hashimoto 88fedb419e Update Environment#dotfile_path to take advantage of new Pathname object 2010-09-07 00:28:21 -07:00
Mitchell Hashimoto fe593c88b8 Environment#cwd and Environment#root_path are now pathname objects for more robust usage 2010-09-07 00:25:52 -07:00
Mitchell Hashimoto 84389580d6 Only run Environment#load! once 2010-09-07 00:07:22 -07:00
Mitchell Hashimoto 1478818939 Run "environment_load" action on environment load 2010-09-06 23:36:48 -07:00
Mitchell Hashimoto 1a5836ee23 Don't clear registered actions hash in tests ever 2010-09-06 19:52:46 -07:00
Mitchell Hashimoto f85401481b Create the tmp path when running tests so they pass 2010-09-06 18:29:49 -07:00
Mitchell Hashimoto 4342c87473 No need to reload the VMs hash if has a parent environment. 2010-09-06 00:09:29 -07:00
Mitchell Hashimoto ed48170b24 Remove environment "vm_name" property since it was redundant 2010-09-05 23:11:27 -07:00
Mitchell Hashimoto 23c08f2daa Configuration validation for the most common problems added 2010-09-05 11:26:38 -07:00
Mitchell Hashimoto 9cc64fcb34 Configuration classes can now be validated. Nice error message shown in case of failure. 2010-09-05 11:02:48 -07:00
Mitchell Hashimoto ad5ecf1c7f Remove unused code in Config 2010-09-05 10:18:05 -07:00
Mitchell Hashimoto 52a32820db Change the way the config is loaded to be all in one step 2010-09-05 01:13:35 -07:00
Mitchell Hashimoto ce9ff73ea4 Show proper syntax error for Vagrantfiles [closes GH-155] 2010-09-04 14:33:53 -07:00
Mitchell Hashimoto 53aaa4f264 Environment is lazy loaded for `vagrant` binary. 2010-09-04 11:10:20 -07:00
Mitchell Hashimoto f24094bba8 Converted more tests to new vagrant env helpers and removed unused code in ResourceLogger 2010-09-04 10:47:22 -07:00
Mitchell Hashimoto 260f1dcec4 Refined some tests to use real Vagrantfiles instead of mocks 2010-09-03 19:25:48 -07:00
Mitchell Hashimoto 3470d98fca Load the root path on demand. 2010-09-03 14:59:16 -07:00
Mitchell Hashimoto f85579a4de Give a nice error message if there is a syntax error in Vagrantfile [closes GH-154] 2010-09-03 14:23:47 -07:00
Mitchell Hashimoto 9590928553 If the data store is empty, delete the backing file 2010-09-03 12:05:29 -07:00
Mitchell Hashimoto e4cb2749a1 Clean nil and 'empty?' values in a data store prior to commiting 2010-09-03 12:02:44 -07:00
Mitchell Hashimoto b8a4188fa3 Config class is now responsible for loading configuration. Cleans up environment. 2010-09-03 11:16:38 -07:00
Mitchell Hashimoto 0a8540996c Action environment uses new indifferent hash util 2010-09-03 09:39:30 -07:00
Mitchell Hashimoto 3c3c9aedc9 Data store is a hash with indifferent access 2010-09-03 09:35:07 -07:00
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 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 71101c9d3d Raise interrupt error earlier so the rescue chain actually gets called 2010-09-01 14:58:22 -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 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 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 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 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 a699122260 No more logger usage for outputting to the shell 2010-08-25 22:38:24 -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 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
John Bender 5c56e46739 Merge branch 'warden' 2010-08-25 00:26:07 -07:00
Mitchell Hashimoto 23526c3746 `vagrant ssh_config` 2010-08-24 23:59:51 -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 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 cd82c8d7f8 Get rid of the PROJECT_ROOT constant. 2010-08-23 21:33:14 -07:00
John Bender e9a9e4abc0 added param expectation to export action recover call for cleanup 2010-08-22 01:08:20 -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 a98a504849 fixed lambda wront # of arguments in warden test 2010-08-22 00:08:54 -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 3541b903d5 tests added for warden 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
John Bender f8731c9a8c fixed failing template render test 2010-08-21 23:59:41 -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 22a9e3fe3d Fix regression with `package` not working. [closes GH-132] 2010-08-02 19:44:15 -07:00
Mitchell Hashimoto 1ebfc49db4 Fix failing tests due to init change 2010-08-02 19:40:41 -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 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 fea5ed67c5 Fixed error with doing a `vagrant up` when no Vagrantfile was present 2010-07-30 18:01:12 -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 836b539399 Fix tests to run on Ruby 1.9.2 2010-07-28 20:18:43 -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