Commit Graph

2267 Commits

Author SHA1 Message Date
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
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 1cbc60de1c Remove `config.package.extension` option. Use `config.package.name` instead. 2010-07-24 09:24:43 -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 dcd9c2a788 Give proper error message if bad URL given for HTTP box adding 2010-07-24 09:07:37 -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 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 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 8e82fb2691 Fix tests so they run on Ruby 1.9.2 2010-07-19 20:32:07 -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 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 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 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
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 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 e2badeb9e1 Concepts of "Hosts" introduced, preparing for host-specific behavior. 2010-07-10 22:07:10 -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 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 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 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 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 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 e8fd57fbbb Fixes to unison. Now tested and working. 2010-06-20 14:14:11 -07:00
Mitchell Hashimoto e751d3e21a Fix environment tests for new VB 3.2 min. requirement 2010-06-20 02:29:15 -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 388662c62a All shared folder tests passing. still failing tests in other areas to be worked on. 2010-06-19 11:48:13 -07:00
Mitchell Hashimoto 4c1ac8d2c1 More SF tests passing... 2010-06-19 11:44:13 -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
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 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 4e806ae325 A VM can now have a host only network on multiple adapters 2010-06-03 11:50:29 -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 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 2af2a81eb8 Chef runs (solo and client) check exit status and error if anything occurs. 2010-05-28 23:18:32 -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
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 d76e9ba26a Tests no longer clear a line 2010-05-22 18:47:08 -07:00
Mitchell Hashimoto dcbf70b91d Clean up some tests on the provision command 2010-05-22 00:54:43 -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 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
Mitchell Hashimoto 6e757e7ab7 Remove logger from the VM and put it on the environment 2010-05-20 20:35:15 -07:00
Mitchell Hashimoto 4a20bfe7fc Plain logger should emit a newline 2010-05-20 16:47:25 -07:00
Mitchell Hashimoto 91ae6178df Runner loggers now use their @runner.logger instead of "global" logger 2010-05-20 16:46:23 -07:00
Mitchell Hashimoto 470c8de099 Environment uses new logger 2010-05-20 16:36:17 -07:00
Mitchell Hashimoto 398e254c39 Moved error_and_exit and wrap_output to their own mixins 2010-05-20 16:09:00 -07:00
Mitchell Hashimoto a1794dca80 VMs have their own loggers 2010-05-20 15:49:27 -07:00
Mitchell Hashimoto fa9bdad175 Added the ResourceLogger, which will handle logging in the near future 2010-05-20 13:05:01 -07:00
Mitchell Hashimoto e6f628b98b Check key permissions on SSH execute (must be 0600) 2010-05-20 01:01:17 -07:00
John Bender af07bd0d3b renamed crontab entry template, switched to proper ssh 2010-05-19 00:19:32 -07:00
John Bender 007ecc5f1c system testing 2010-05-18 23:50:53 -07:00
John Bender ce6d95c131 rsync mostly complete, few tests left 2010-05-18 23:50:04 -07:00
John Bender 7ac7af15d3 rsync for shared folders added 2010-05-18 23:45:07 -07:00
Mitchell Hashimoto 6397ac579c Fixed "busticated" provisioning due to internal changes from multivm [closes GH-65] 2010-05-18 19:23:08 -07:00
Mitchell Hashimoto 5251d89241 Fix packaging. Broke due to internal changes from multivm. [closes GH-64] 2010-05-18 19:08:26 -07:00
Mitchell Hashimoto 4d077a1ca2 Fixed issue with two tests being named the same (got rid of warning) 2010-05-17 17:12:08 -07:00
Mitchell Hashimoto 19be5f141e `vagrant package` works with multi-VM environments 2010-05-17 14:12:11 -07:00
Mitchell Hashimoto f30645a967 `vagrant ssh-config` is now multi-vm friendly 2010-05-17 10:52:07 -07:00
Mitchell Hashimoto 586a56b5b5 `vagrant reload` works with multi-vm 2010-05-17 10:41:19 -07:00
Mitchell Hashimoto 38d485c29b `vagrant resume` with multiple VMs 2010-05-17 10:36:34 -07:00
Mitchell Hashimoto 228327c0ca `vagrant suspend` works with multi-vms 2010-05-17 01:45:57 -07:00
Mitchell Hashimoto fd12018114 `vagrant ssh` works with multi-VM 2010-05-17 01:07:42 -07:00
Mitchell Hashimoto 81e1e8932a Can now specify which VMs to up with `vagrant up` or will up all by default 2010-05-16 18:34:35 -07:00
Mitchell Hashimoto 3b4d2ab795 `vagrant halt` updated to work with multi-VM 2010-05-16 18:22:28 -07:00
Mitchell Hashimoto 5be932bf6c Destroying properly updates the dotfile 2010-05-16 18:01:53 -07:00
Mitchell Hashimoto 07e1fb7238 `vagrant status` updated to work with multi-VM 2010-05-16 17:59:18 -07:00
Mitchell Hashimoto 709c50e7b6 `vagrant status` updated to work with multi-VM. Global status not yet functional. 2010-05-16 17:40:40 -07:00
Mitchell Hashimoto 0314e6ef6c Persist/depersist VM methods replaced with dotfile updates. Active list information disabled for now. 2010-05-16 16:53:56 -07:00
Mitchell Hashimoto a56f4a43dd Up command will up multiple VMs (persisting doesn't work yet) 2010-05-15 01:51:45 -07:00
Mitchell Hashimoto 33bfe75cbd Environment loads blank VMs for non-created VMs. 2010-05-15 01:34:31 -07:00
Mitchell Hashimoto c8e36274d6 Get rid of Environment#create_vm. VMs instances are now always available 2010-05-08 20:31:12 -07:00
Mitchell Hashimoto 14bb07e08f Fix tests to not clear line 2010-05-08 20:28:42 -07:00
Mitchell Hashimoto 124a9ab19d Environment properly loads VMs 2010-05-08 15:34:43 -07:00
Mitchell Hashimoto b313d34d5b Environment config loading loads the subconfig if specified. VMs now create a new env for themselves. 2010-05-08 14:57:31 -07:00
Mitchell Hashimoto af383e222a Get rid of more references to Vagrant.config. Only one remains. 2010-05-07 22:57:25 -07:00
Mitchell Hashimoto b1b4ae2077 Remove SSH object from environment 2010-05-07 21:45:40 -07:00
Mitchell Hashimoto 2e547bda26 SSH object is now on the VM, rather than the environment 2010-05-07 21:40:32 -07:00
Mitchell Hashimoto 7419563b80 Added `config.vm.define` which will be used for multi-VMs 2010-05-07 21:19:11 -07:00
Mitchell Hashimoto d7e0172e2d `vagrant destroy` always forces the shutdown (does not attempt graceful) 2010-05-06 20:50:32 -07:00
Mitchell Hashimoto 4d042da99b If JSON parsing fails on reading the active list, just set it to an empty hash 2010-05-06 11:02:53 -07:00
Mitchell Hashimoto af1b098b9d `vagrant status --global` flag to view global status 2010-05-01 00:24:39 -07:00
Mitchell Hashimoto 13c05de702 Rename errors.yml to strings.yml and Error to Translator, since I plan on using it for general strings 2010-04-30 23:42:11 -07:00
Mitchell Hashimoto 422951f0eb ActiveList now contains meaningful information about the running VMs 2010-04-30 23:34:22 -07:00
Mitchell Hashimoto 661af82e63 Refactor up/start actions. 2010-04-29 00:38:39 -07:00
Mitchell Hashimoto fee901a899 Remove remaining Vagrant.config references. There a still a couple left... 2010-04-25 17:17:18 -07:00
Mitchell Hashimoto c28195ed26 Add '--help' to any command to immediately get help for that command. 2010-04-25 16:58:35 -07:00
Mitchell Hashimoto bbb1b70e1d Forceful halting with `vagrant halt --force` (or -f for short) 2010-04-25 16:42:12 -07:00
Mitchell Hashimoto 23857242f2 Linux system configurable via `config.linux` 2010-04-25 16:33:33 -07:00
Mitchell Hashimoto d5866a1b54 `vagrant halt` now attempts to gracefully shut down the machine (via System#halt) 2010-04-25 16:27:03 -07:00
Mitchell Hashimoto 0736f8582d Shared folder action uses new system abstraction 2010-04-25 02:08:59 -07:00
Mitchell Hashimoto 95938c652d New abstraction: Systems. Updated config and environment to properly load configured system.
This allows the OS-specific tasks to be pulled out into separate classes, so that other systems could potentially be supported. For now, a "Linux" system has been created.
2010-04-25 01:46:51 -07:00
Mitchell Hashimoto ffded418f7 Remove `vagrant down` test files 2010-04-25 00:51:30 -07:00
Mitchell Hashimoto 037263da98 Finally get rid of sleeps in test 2010-04-24 03:27:36 -07:00
Mitchell Hashimoto 4394882a7b Busy task no longer runs in a separate thread. 2010-04-24 03:26:44 -07:00
Mitchell Hashimoto 28eb56b9f8 Error if OSE version is detected 2010-04-19 17:06:27 -07:00
Mitchell Hashimoto 376cd2f24d Box verification actually raises error to undo box adding 2010-04-19 15:45:52 -07:00
Mitchell Hashimoto 3e36b4ce12 Box verification uses the runner rather than the env 2010-04-19 14:21:21 -07:00
Mitchell Hashimoto d9308f86ec Boxes now properly use scoped Environment 2010-04-19 14:15:52 -07:00
Mitchell Hashimoto 5b307a5d9b Added boxes are now verified 2010-04-19 14:14:44 -07:00
Mitchell Hashimoto c64dc43c84 Fix progress meter output for Windows 2010-04-15 17:53:54 -07:00
Mitchell Hashimoto d845e73138 Fork-and-wait SSH on Mac OS X 10.5 [closes GH-51] 2010-04-15 02:36:46 -07:00
Mitchell Hashimoto b1d3cd3d14 SIGINT twice and vagrant will immediately exit, even if busy 2010-04-14 22:30:46 -07:00
Mitchell Hashimoto 575a9f1021 Readded `vagrant down` but as an error message to assist users in migrating to `vagrant destroy` 2010-04-13 23:24:36 -07:00
Mitchell Hashimoto 1a4f934465 Remove old commands files 2010-04-13 17:25:43 -07:00
Mitchell Hashimoto 797112cf84 box remove subcommand 2010-04-13 17:18:59 -07:00
Mitchell Hashimoto f097ee3111 box list subcommand 2010-04-13 17:16:21 -07:00
Mitchell Hashimoto e5374b912e Box add testing 2010-04-13 17:10:49 -07:00
Mitchell Hashimoto c744f7afde vagrant box add 2010-04-13 17:08:36 -07:00
Mitchell Hashimoto 3107fa763f Status command 2010-04-13 17:02:43 -07:00
Mitchell Hashimoto b3277e015f Package subcommand 2010-04-13 16:46:51 -07:00
Mitchell Hashimoto b72e3640e8 Resume subcommand 2010-04-13 16:37:32 -07:00
Mitchell Hashimoto 5efa7bded5 Suspend subcommand 2010-04-13 16:36:08 -07:00
Mitchell Hashimoto 28a2fd5466 Halt command 2010-04-13 16:34:29 -07:00
Mitchell Hashimoto fa3ca57c9f ssh-config subcommand 2010-04-13 16:31:08 -07:00
Mitchell Hashimoto 4674b1983e SSH subcommand 2010-04-13 16:24:39 -07:00
Mitchell Hashimoto 453f4774e4 Reload command and some docs for other commands 2010-04-13 16:22:14 -07:00
Mitchell Hashimoto 33c3a2df45 Destroy subcommand 2010-04-13 16:19:33 -07:00
Mitchell Hashimoto 60c6ad480c Up command 2010-04-13 16:16:59 -07:00
Mitchell Hashimoto e6006eacfa Init execute test 2010-04-13 15:55:56 -07:00
Mitchell Hashimoto 95592eb7f6 `vagrant --version` outputs the version 2010-04-13 15:45:38 -07:00
Mitchell Hashimoto b4d1ee6e83 Commands specify their option parsings in the `options_spec` method. Parent takes care of the rest. 2010-04-13 15:34:26 -07:00
Mitchell Hashimoto 26c12a9a17 Init subcommand is working 2010-04-13 14:03:50 -07:00
Mitchell Hashimoto 9ce860cb40 Base tests 2010-04-13 13:54:42 -07:00
Mitchell Hashimoto bb0d3f7f93 Base command now recursively dispatches, allowing for arbitrarily complex commands such as `vagrant a b c` 2010-04-13 13:53:27 -07:00
Mitchell Hashimoto aec05eff0d Commands can now be registered as subcommands (similar to how config works) 2010-04-13 13:13:55 -07:00
Mitchell Hashimoto 5c3171a8f9 Option parsing is in on the base command 2010-04-13 01:42:11 -07:00
Mitchell Hashimoto d8387f8280 New files for the new command structure. Ignore the `vagrant-temp` binary for now. 2010-04-13 01:22:53 -07:00
Mitchell Hashimoto 46956d8caa You can now specify the host of the ssh-config with the `--host` option. 2010-04-12 21:28:37 -07:00
Mitchell Hashimoto 8218395546 ssh-config should require root path, not a created environment 2010-04-12 21:03:13 -07:00
Mitchell Hashimoto c630b028fc `vagrant ssh-config` outputs .ssh/config ready entry for current environment 2010-04-12 21:00:42 -07:00
Mitchell Hashimoto f8dee9adf9 Base boxes can now be packaged with `vagrant package` by specifying the `--base` parameter. 2010-04-12 16:29:33 -07:00
Mitchell Hashimoto 677b3b05cc Packaging uses MAC address directly from the machine 2010-04-12 16:12:37 -07:00
Mitchell Hashimoto 40e823d90a Shorten shared folders further [see GH-50] 2010-04-12 14:38:34 -07:00
Lincoln Stoll 1245a0c1c8 Shorten shared folder names
On some setups, the generated name is truncated, which causes issues
because they then look the same, and the kernel throws duplicate
filename errors. Shorten the name so this doesn't happen
2010-04-12 14:06:56 -07:00
Lincoln Stoll ea85e1d38f Shorten shared folder names
On some setups, the generated name is truncated, which causes issues
because they then look the same, and the kernel throws duplicate
filename errors. Shorten the name so this doesn't happen
2010-04-12 14:06:40 -07:00
Mitchell Hashimoto 9498226c83 Package now puts auto-generated Vagrantfile with MAC address in root. 2010-04-12 00:44:04 -07:00
Mitchell Hashimoto ecdec218b4 Included files in package now go into the include/ directory. 2010-04-12 00:29:26 -07:00
Mitchell Hashimoto f0fa8aa5df Export now uses proper function and has progress bar (like import) 2010-04-12 00:05:24 -07:00
Mitchell Hashimoto aa52d977a8 Wrapping tests in meaningful context 2010-04-11 23:42:11 -07:00
Mitchell Hashimoto 945710e068 Config JSON doesn't include 'env' 2010-04-11 23:39:22 -07:00
Mitchell Hashimoto 4d3f929b3f Sleep for a second on `vagrant destroy` if the boot mode is GUI. Required to wait for GUI to clean itself up. 2010-04-10 17:46:42 -07:00
Mitchell Hashimoto 90d2ec5ab3 Fix tests to get passing for new `vagrant destroy` command 2010-04-10 16:45:46 -07:00
Michael Johnston 4149313e7a allow setting mode to boot into, so can boot with gui which makes debugging networking setup easier 2010-04-10 16:45:01 -07:00
Mitchell Hashimoto 43f66c1693 Modify start to only boot for saved VMs, no sharing folders, etc. 2010-04-09 21:26:56 -07:00
Mitchell Hashimoto 4586bc554d Give cookbooks and role shared folders unique IDs 2010-04-09 14:22:05 -07:00
Mitchell Hashimoto a9c261090e Remove redundancy in chef solo provisioner 2010-04-09 14:17:25 -07:00
Wade Simmons 15e4b2f411 add support for roles in Chef Solo 2010-04-09 14:01:15 -07:00
Mitchell Hashimoto c0c3313fdd More redundant test code removing 2010-04-08 23:32:26 -07:00
Mitchell Hashimoto 4e54cc77a2 Remove old test mocks from the pre-instanced environment days 2010-04-08 23:28:53 -07:00
Mitchell Hashimoto 008e533c98 Chef configuration is now pulled into Chef provisioner base. Log level is able to be specified. 2010-04-08 23:17:25 -07:00
Mitchell Hashimoto 965e5a12f3 Chef server client.rb uses new templates 2010-04-08 21:07:24 -07:00
Mitchell Hashimoto 47a9d85b4e Chef solo config uses new template system 2010-04-08 20:56:48 -07:00
Mitchell Hashimoto 745aadd1a5 VM halting uses new VM#stop 2010-04-08 01:47:57 -07:00
Mitchell Hashimoto 2271a41940 Boot uses new VM#start method which only takes 1 arg 2010-04-08 01:45:19 -07:00
Mitchell Hashimoto 279704475d SharedFolder uses the proper VM#save method 2010-04-08 01:42:48 -07:00
Mitchell Hashimoto 7a533a40c9 Forwarded ports task now calls VM#save properly 2010-04-08 01:30:28 -07:00
Mitchell Hashimoto c4da4a6b9f Fix vm.save on customize. no longer needs the boolean argument 2010-04-08 01:30:00 -07:00
Mitchell Hashimoto 0c5ec7a4c7 Update destroy action to use the new destroy syntax for VM 2010-04-08 01:22:51 -07:00
Mitchell Hashimoto d44dd9a4eb `nics` on virtualbox are now called `network_adapters` 2010-04-08 01:21:22 -07:00
Mitchell Hashimoto 068c0e67c5 Update environment to use new VirtualBox methods/attributes 2010-04-08 01:13:25 -07:00
Adrian Bravo ed3e86d20f Moved node_name from command option on chef-client to the generated config file. 2010-04-02 13:52:23 -07:00
Adrian Bravo d87030a798 Added support for env.config.chef.node_name when using ChefServer. 2010-04-02 13:51:31 -07:00
Mitchell Hashimoto de4442fc77 Modify box download test to pass properly on non-windows machines 2010-04-02 13:49:47 -07:00
John Bender bd69c54379 file download from http fix with correct options for windows 2010-03-26 23:36:53 -07:00
John Bender 4e4d1a6978 error for vagrant ssh on windows, error text, mario gem, still need doc pages for links in error.yml 2010-03-25 00:09:31 -07:00
John Bender 527e101cab fix for no extract results from uri check 2010-03-23 00:03:28 -07:00
John Bender 2067f000f5 fix for uri parsing issues on windows with a small refactor thrown in on the side 2010-03-22 23:49:36 -07:00
Mitchell Hashimoto c25ff5300a Tab => Spaces 2010-03-22 00:13:48 -07:00
Mitchell Hashimoto bfcc0d3939 Whitespace fixes 2010-03-22 00:09:30 -07:00
John Bender 0c00201a6b switch to File.open for downloader temp file path to prevent minitar issues on windows 2010-03-21 23:50:08 -07:00
Mitchell Hashimoto 35e9fa53d4 Vagrant::Commands moved to instance methods on the environment rather than class methods 2010-03-20 09:15:20 -07:00
Mitchell Hashimoto 881aa833e6 Run VM customizations when restarting a halted machine [closes GH-36] 2010-03-20 01:59:32 -07:00
Mitchell Hashimoto 5bbb84efa7 Chef server validation key path now expands 2010-03-20 01:25:14 -07:00
Mitchell Hashimoto 1d518e2693 Box.find sets environment of found box 2010-03-20 01:04:56 -07:00
Mitchell Hashimoto 36648e7a12 Box#directory properly passes environment to class method 2010-03-20 00:52:28 -07:00
Mitchell Hashimoto ea25f49c63 Pass environment to box.find 2010-03-20 00:50:59 -07:00
Mitchell Hashimoto e8e2c136d3 Finally remove Vagrant::Env 2010-03-19 23:56:36 -07:00
Mitchell Hashimoto fee10c47fd Provisioning redone to use new environment 2010-03-19 22:15:20 -07:00
Mitchell Hashimoto 11780fb618 Converted Box class to use new environment 2010-03-19 21:31:43 -07:00
Mitchell Hashimoto 5db99c04d4 Removing references to Vagrant::Env 2010-03-19 21:15:45 -07:00
Mitchell Hashimoto bafd15661d `vagrant box` uses new Environment 2010-03-19 17:17:51 -07:00
Mitchell Hashimoto fddee1158d `vagrant package` now uses the environment 2010-03-19 17:05:31 -07:00
Mitchell Hashimoto 0641df7563 `vagrant resume` command now uses new environment 2010-03-19 16:53:18 -07:00
Mitchell Hashimoto c7508e91b9 `vagrant suspend` update to work with new environment 2010-03-19 16:51:59 -07:00
Mitchell Hashimoto e68994556c `vagrant reload` uses new Environment 2010-03-19 16:50:54 -07:00
Mitchell Hashimoto b461e0ee8b `vagrant halt` uses new environment 2010-03-19 16:48:36 -07:00
Mitchell Hashimoto 259a3a3836 `vagrant ssh` with new Environment 2010-03-19 16:47:38 -07:00
Mitchell Hashimoto 62de77132c `vagrant up` process converted to new Environment 2010-03-19 16:42:48 -07:00
Mitchell Hashimoto ae43f25cd2 Boot action converted to new Environment 2010-03-19 16:22:20 -07:00
Mitchell Hashimoto d384408782 SharedFolder action converted to new Environment 2010-03-19 16:19:27 -07:00
Mitchell Hashimoto e1c4f91664 ForwardPort action converted to new environment 2010-03-19 16:16:03 -07:00
Mitchell Hashimoto b5daf5ae86 `vagrant down` command and associated actions now use the new environment 2010-03-19 16:08:29 -07:00
Mitchell Hashimoto 59ae16998d Set the environment on the loaded box 2010-03-19 15:53:24 -07:00
Mitchell Hashimoto a2a59b532b `vagrant ssh` will automatically fix permissions on the private key if necessary 2010-03-19 01:57:28 -07:00
Mitchell Hashimoto 260b099dba SSH class converted to instance methods. now loads on the environment 2010-03-19 01:51:27 -07:00
Mitchell Hashimoto 689f69bd4c Loading VMs and created VMs now point back to the environment they belong to 2010-03-19 01:31:44 -07:00
Mitchell Hashimoto 2661845b5d Helper method to create a new VM on an environment. Interim method. 2010-03-19 01:27:40 -07:00
Mitchell Hashimoto 2fef27ec8b Persist/depersist VM methods implemented on new Environment 2010-03-18 18:05:34 -07:00
Mitchell Hashimoto 06947002f7 The require_* methods and check_virtualbox! integrated into new Environment 2010-03-18 17:41:51 -07:00
Mitchell Hashimoto a31bd73587 Environment.load! implemented to load a given environment in a single step 2010-03-18 15:05:46 -07:00
Mitchell Hashimoto cb2513b1ec Environment#load_config! loads from the box directory and home directory as well 2010-03-18 14:54:43 -07:00
Mitchell Hashimoto 047c094e41 Environment#load! implemented to set up an instance of environment 2010-03-18 14:43:17 -07:00
Mitchell Hashimoto 8c314e3e17 New Environment class can load home dir, box, and persisted VM 2010-03-18 14:27:53 -07:00
Mitchell Hashimoto c7f32c8be8 Beginnings of Environment class. Currently loads config partially. 2010-03-18 12:38:01 -07:00
Mitchell Hashimoto e84b17e215 Config#execute! returns the newly loaded configuration 2010-03-18 12:28:58 -07:00
Mitchell Hashimoto a7652244d5 Move stacked proc runner to the util directory 2010-03-18 12:08:33 -07:00
Mitchell Hashimoto 586878a330 Runner uses the proper key/data to output errors 2010-03-17 21:45:20 -07:00
Mitchell Hashimoto f59b255085 ActionExceptions all use the new error strings by key 2010-03-17 21:38:38 -07:00
Mitchell Hashimoto 18f761b015 Unit tests for each error_and_exit now that the message is testable 2010-03-17 21:15:48 -07:00
Mitchell Hashimoto 3c2e1bd80a All errors now go through the errors.yml files 2010-03-17 21:08:26 -07:00
Mitchell Hashimoto ac6c3a4892 Util::Errors class to parse errors from YML and render them via ERB 2010-03-17 20:42:53 -07:00
Mitchell Hashimoto 88cfaf8f27 Added class level method to render string for the TemplateRenderer 2010-03-17 19:09:17 -07:00
Mitchell Hashimoto 37de04eb9b TemplateRenderer can now render strings 2010-03-17 18:09:24 -07:00
Mitchell Hashimoto b1872c4e31 Moved template renderer until the Util namespace 2010-03-17 17:59:25 -07:00
Mitchell Hashimoto 4229b65a81 `vagrant init` now takes an optional parameter to specify the default box [close GH-6] 2010-03-17 17:15:12 -07:00
Mitchell Hashimoto 0614882800 Fix failing template renderer tests 2010-03-17 17:05:05 -07:00
Mitchell Hashimoto edc1bbec8c TemplateRenderer added in preparation for supporting ERB templates for some things... 2010-03-17 17:00:46 -07:00
Mitchell Hashimoto 723c36cb1d Give a useful error if the VirtualBox.xml is not found [close GH-30] 2010-03-17 01:25:02 -07:00
Mitchell Hashimoto ef5e73e950 File box downloader gives a nice error message if the file doesn't exist. 2010-03-15 19:18:00 -07:00
Mitchell Hashimoto dcbfe709f3 VM customization through Vagrantfile (modifying RAM, name, etc.) 2010-03-15 15:41:53 -07:00
Mitchell Hashimoto 83ddfa6695 Shared folder UID/GID now defaults to the SSH username 2010-03-15 15:13:07 -07:00
Mitchell Hashimoto 0062207ab3 Configuration now uses the new StackedProcRunner module 2010-03-15 14:27:34 -07:00
Mitchell Hashimoto 130d584322 StackedProcRunner abstraction which will be used for VM customization (in addition to configuration) 2010-03-15 14:19:28 -07:00
Mitchell Hashimoto 5bdabbc8c8 Can now specify the UID/GID of the shared folders from the Vagrantfile 2010-03-15 12:33:03 -07:00
Mitchell Hashimoto 51116438a7 Port collision detection ignores if the VM is the current VM 2010-03-15 01:00:40 -07:00
Mitchell Hashimoto de54433496 On SSH authentication failure, give a helpful error message outlining what may have gone wrong. 2010-03-15 00:50:23 -07:00
John Bender 5aeee61e83 action dependencies and unique requirement moved to actions/collection 2010-03-14 22:34:48 -07:00
Mitchell Hashimoto f6057bf80a Port collision detection now checks every VirtualBox VM, not just the active list 2010-03-14 17:54:30 -07:00
Mitchell Hashimoto 98d5454936 Collision check is now done in `prepare` of forward port action. 2010-03-14 17:35:58 -07:00
Mitchell Hashimoto c08937d899 Dotfile and active list are now updated when environment is torn down 2010-03-14 16:57:29 -07:00
Mitchell Hashimoto 05c4c2f838 Env.persist_vm also persists UUID to the ActiveList 2010-03-14 16:39:52 -07:00
Mitchell Hashimoto 62d3172e57 VM now has a `uuid` method 2010-03-14 16:28:36 -07:00
Mitchell Hashimoto 575e91e70b ActiveList supports adding/removing and saving of VM UUIDs. 2010-03-14 16:27:22 -07:00
Mitchell Hashimoto 235480fffa Reads of Vagrant::ActiveList to track the active vagrant managed virtual environments. 2010-03-14 16:08:58 -07:00
Mitchell Hashimoto 39a8a5fd94 Vagrant.config.home now returns nil if home is nil, otherwise expands path 2010-03-13 01:53:12 -08:00
Mitchell Hashimoto 98d8c1978b Properly reload configuration once all the basics are loaded 2010-03-13 01:47:48 -08:00
Mitchell Hashimoto e09dbfa367 Vagrantfile in the home path is now injected into the vagrantfile load sequence 2010-03-12 21:03:49 -08:00
Mitchell Hashimoto e9940d83df Change VirtualBox version requirement to 3.1 until virtualbox gem supports 3.0 cleanly 2010-03-12 02:10:05 -08:00
John Bender e35e2fbb04 expand path fix 2010-03-12 01:34:36 -08:00
John Bender 00eecf5bdd moved to key based ssh 2010-03-12 01:19:45 -08:00
Mitchell Hashimoto 9ba0647b64 Merge in 'flexible-provisioning' which supports abstracted provisioners, chef server, additional chef solo features, and better chef configuration overall. Also includes pluggable configuration keys. 2010-03-11 22:52:37 -08:00
Mitchell Hashimoto 3a4881bf2e Chef solo cookbooks paths can now take arrays of folders, in addition to just a single string 2010-03-11 21:59:44 -08:00
Mitchell Hashimoto 9c8db3b48a Revert up-ramping SSH timeout. Doesn't solve issue with SSH.execute slowness on internet-less machines. 2010-03-11 19:29:41 -08:00
Mitchell Hashimoto 0ebebe14a0 Re-added the sleep 2010-03-11 19:26:39 -08:00
Mitchell Hashimoto 2c1483ae80 SSH.up? timeout slowly ramps up based on configuration values, giving later attempts more time. 2010-03-11 17:59:25 -08:00
Mitchell Hashimoto b03af8ccc2 Removed sleeping from waiting for boot since the timeout should handle that 2010-03-11 17:40:27 -08:00
Mitchell Hashimoto df2f76297d Helper methods on chef config `add_recipe` and `add_role` and `run_list` 2010-03-11 01:05:57 -08:00
John Bender 751a8bfa1b file copy fix 2010-03-11 00:02:05 -08:00
Mitchell Hashimoto 5f695d8f4d Added file existence test for the validation key for chef server provisioning 2010-03-10 23:06:20 -08:00
Mitchell Hashimoto 9384917b81 Chef server provisioner works. Added the auto-creation of the client key config. 2010-03-10 22:42:42 -08:00
Mitchell Hashimoto a4428cd201 Added :chef_server provisioner shortcut 2010-03-10 21:58:51 -08:00
Mitchell Hashimoto df2e80140d Chef server provisioner 2010-03-10 21:57:51 -08:00
Mitchell Hashimoto df648803dd Pull out common chef code into its own abstract provisioner 2010-03-10 19:00:49 -08:00
Mitchell Hashimoto 759d904628 Provision action must call "prepare" on the provisioner 2010-03-10 15:12:45 -08:00
Mitchell Hashimoto 86ffbe5d32 Provision class now properly figures out the provisioner and executes it 2010-03-10 14:54:12 -08:00
Mitchell Hashimoto d81e5dc28d Remove all "chef" configuration and moved chef solo provisioning to its own class 2010-03-10 14:27:02 -08:00
Mitchell Hashimoto 6878a3ea4d Merge branch 'master' into flexible-provisioning for new shared folder API 2010-03-10 14:00:51 -08:00
Mitchell Hashimoto a71815df4e Additional shared folders can now be configured through the `config.vm.share_folder` method 2010-03-10 13:49:52 -08:00
Mitchell Hashimoto f86bc912eb Base provisioning class 2010-03-10 12:56:52 -08:00
Mitchell Hashimoto 6cfddb6c38 Tests to verify that the instance method exists for configs 2010-03-10 12:29:51 -08:00
Mitchell Hashimoto 19d00a8802 Config class now allows classes to dynamically register configuration keys. 2010-03-10 12:25:53 -08:00
Mitchell Hashimoto 3daf48b70c Config class now properly uses class variables. Not sure how this one slipped through the cracks. 2010-03-10 01:07:24 -08:00
Mitchell Hashimoto 631580fc8e Make the windows test only run on windows for now until it can pass on unix 2010-03-10 01:02:23 -08:00
John Bender b92efdfe53 windows root path fix 2010-03-10 00:30:28 -08:00
Ewen Cheslack-Postava 1bf70fd4c4 Show helpful error if importing VM fails 2010-03-09 22:00:56 -08:00
Mitchell Hashimoto 47d46d4b12 Now checks for VirtualBox installation and proper version and gives sensible error if not detected. 2010-03-09 21:47:07 -08:00
Mitchell Hashimoto 6c5ddcdf8d Windows root path checking. Interim solution. 2010-03-09 12:33:54 -08:00
Mitchell Hashimoto dfe67d71de Tests for Minitar update. 2010-03-09 11:05:33 -08:00
Mitchell Hashimoto 0c24f0e68f Tests for the init change to not use ftools 2010-03-09 10:52:06 -08:00
Jonathan Rudenberg 145f904ed3 Fix busy test to wait for thread to start 2010-03-09 09:08:11 -08:00
John Bender d550cc3a76 dup action exception and tests 2010-03-08 22:20:17 -08:00
Mitchell Hashimoto f9fff05e37 Reload uses the new 'boot' action 2010-03-08 21:13:03 -08:00
Mitchell Hashimoto d818bf856b SSH timeout is now configurable with `config.ssh.timeout` 2010-03-08 19:30:58 -08:00
Mitchell Hashimoto 2f7de333ec Fix issue with infinite looping on `vagrant resume` 2010-03-08 18:45:59 -08:00
Mitchell Hashimoto db24291b3d Fix bug where dotfile_path is a directory in the project path. Thanks brett_h 2010-03-08 13:12:58 -08:00
Mitchell Hashimoto ce7f7dd168 Refactor Vagrant::Env a bit and requiring root path. 2010-03-08 00:34:15 -08:00
Mitchell Hashimoto efe98df4b0 Added `vagrant box list` command to list added boxes 2010-03-07 21:34:53 -08:00
Mitchell Hashimoto 6194421972 `vagrant box` no longer requires a Vagrantfile in the current directory. 2010-03-07 12:44:00 -08:00
Mitchell Hashimoto 6fd10504e0 Box existence error checking is now in proper 'require_box' 2010-03-06 21:48:39 -08:00
Mitchell Hashimoto 49c98ad8af Mounting a folder now waits for the mount to succeed before continuing. Fixed a race condition between SSH daemon starting and the VBox kernel extensions loading... 2010-03-05 19:16:57 -08:00
Mitchell Hashimoto 41b25e68ec Reload action only halts the machine if its running 2010-03-05 18:03:08 -08:00
Mitchell Hashimoto 06ff3a363c Env.load_box! gives a reasonable error if the box specified in the Vagrantfile doesn't exist now. 2010-03-05 16:58:36 -08:00
Mitchell Hashimoto 0a54ea1464 `vagrant-down` now uses reusable actions (a Down action) 2010-03-05 16:47:47 -08:00
John Bender 0cdc6b5eaa moved hanging dotfile_name under Vagrant.config.vagrant 2010-03-04 23:50:08 -08:00
Mitchell Hashimoto 66bc5a19e2 Revamped provisioning JSON generation which includes the entire configuration tree. Plus better testing all around for JSON generation + configuration. 2010-03-04 22:14:44 -08:00
Mitchell Hashimoto da2150da89 Resume uses the resume action now 2010-03-04 21:22:25 -08:00
Mitchell Hashimoto 0a791d1c58 Suspending moved out to an action, command takes advantage of this action now. 2010-03-04 21:13:17 -08:00
Mitchell Hashimoto 20ed284372 Unpackage now has its own rescue implementation 2010-03-04 21:02:59 -08:00
Mitchell Hashimoto 94be71e527 Nit-pick test formatting. No code changes. 2010-03-04 00:10:15 -08:00
John Bender c952fdaa24 check if a box exists before beginning add action 2010-03-03 23:53:46 -08:00
Mitchell Hashimoto 35af1fa02b Added rescue/cleanup methods to box downloading to cleanup temporary files 2010-03-03 23:00:04 -08:00
Mitchell Hashimoto 8e7621061f vagrant-up and vagrant-halt no longer raise exceptions when the VM is not in the proper state. 2010-03-02 22:19:13 -08:00
Mitchell Hashimoto c7f040f14c vagrant-up now starts the VM if its already created, rather than giving an error. 2010-03-02 22:07:04 -08:00
Mitchell Hashimoto c119a34f0e Added vagrant-halt to forcibly shut down vagrant instance. 2010-03-02 21:53:16 -08:00
Mitchell Hashimoto f5f1405a7c HTTP downloader clears the download line once its complete so that the log output doesn't wrap 2010-02-28 22:34:07 -08:00
Mitchell Hashimoto 3d220ef5c8 HTTP downloader implemented. Boxes can now be added via HTTP! 2010-02-28 22:13:37 -08:00
Mitchell Hashimoto 9913c07ff2 Box download action now uses Vagrant "Downloaders." These are abstractions which will allow me to implement file downloading, http downloading etc. File downloading implemented here. 2010-02-28 21:42:38 -08:00
Mitchell Hashimoto 7c19419ef2 Package uses a reference to the Export action to get the temp path rather than the wonky callback. Implemented Runner#find_action for this. 2010-02-28 20:23:32 -08:00
Mitchell Hashimoto 5dd3e51788 Export action now cleans up and rescues. Package no longer cleans up temporary directory. 2010-02-28 19:56:50 -08:00
Mitchell Hashimoto e50e264747 Actions can now implement the #cleanup method which is called after all other actions have finished executing. 2010-02-28 01:47:42 -08:00
Mitchell Hashimoto dce3c032be If an "ActionException" is raised from an action, the runner will error and exit rather than continuing to raise the exception. 2010-02-28 01:24:11 -08:00
Mitchell Hashimoto 37393986e3 Implemented the "rescue" method for action runners when an exception is raised. Read documentation for more information. 2010-02-28 01:06:01 -08:00
John Bender 3c546ef2c7 check for included files before packaging 2010-02-28 00:13:55 -08:00
Mitchell Hashimoto f316e0c61c Default include files to empty array 2010-02-28 00:03:21 -08:00
John Bender 79718eb4c3 --include added to package tests passing, but still needs manual verification 2010-02-27 22:49:43 -08:00
Mitchell Hashimoto 9e41bd9a34 Moved the root shared folder to load in the start task. 2010-02-25 23:57:50 -08:00
Mitchell Hashimoto 815b253b7e Export test no longer actually hits the filesystem 2010-02-25 19:17:39 -08:00
Mitchell Hashimoto f1fc07e353 Action runner clears actions after execution 2010-02-24 00:39:12 -08:00
Mitchell Hashimoto e4548508f2 Removed some delegated methods on VM to explicitly use `vm` attribute in actions so its more runner-agnostic. 2010-02-24 00:34:54 -08:00
Mitchell Hashimoto 26f9eca141 Reworked `vagrant package` to use the new tmp directory. 2010-02-24 00:30:58 -08:00
Mitchell Hashimoto 71abd76fae If a box contains a Vagrantfile, that is now loaded in the configuration chain between the gem config and the project config. 2010-02-23 21:50:44 -08:00
Mitchell Hashimoto 3b198e208d Config clearing. 2010-02-23 21:39:56 -08:00
Mitchell Hashimoto 1a6f838baa `vagrant up` (specifically Actions::VM::Import) now uses a configured box rather than a base VM. Much cleaner! 2010-02-23 00:05:41 -08:00
Mitchell Hashimoto 10e67e85f0 Removed unpackage VM action (since its part of box now) 2010-02-22 23:09:19 -08:00
Mitchell Hashimoto 5b68f3dd10 Box actions clean up the temporary file after unpackaging 2010-02-22 22:42:31 -08:00
Mitchell Hashimoto c7e21a0c94 Moved the destroy logic out to a re-usable box action. 2010-02-22 21:32:15 -08:00
Mitchell Hashimoto 546db294ca `vagrant box remove` functionality is in 2010-02-22 21:27:57 -08:00
Mitchell Hashimoto f502587931 `vagrant box add` works completely 2010-02-22 18:57:19 -08:00
Mitchell Hashimoto 28b48929df Changed box actions and commands to use the Box class instead of passed in params. 2010-02-22 18:17:43 -08:00
Mitchell Hashimoto 1856d56431 Box downloading works (Actions::Box::Download) 2010-02-22 17:34:44 -08:00
Mitchell Hashimoto 6b705cbe42 Change `vm` attribute to be `runner` on action base to reflect what it now is. 2010-02-22 16:35:22 -08:00
Mitchell Hashimoto 35762a4308 Moved VM actions into the Actions::VM namespace. 2010-02-22 16:25:47 -08:00
Mitchell Hashimoto f60b383b75 `vagrant box` command with primitive functionality is in. Doesn't do anything productive yet. 2010-02-22 16:13:53 -08:00
Mitchell Hashimoto 47149fe9a9 Test to make sure VM is an action runner 2010-02-22 14:00:13 -08:00
Mitchell Hashimoto 2b1afa6f6f Vagrant::Env sets up the home directory (specified in config) with proper subfolders if they don't exist. 2010-02-22 01:03:08 -08:00
Mitchell Hashimoto f1fda1f0fa Pulled out action running from VM into its own Actions::Runner class 2010-02-21 22:56:22 -08:00
Mitchell Hashimoto cbcb877624 Compression tests for packaging 2010-02-20 22:58:39 -08:00
Mitchell Hashimoto d447f9e377 Package tests updated to not hit the filesystem 2010-02-20 22:44:32 -08:00
John Bender 25f5b0bcad removied emacs backup file :( 2010-02-19 01:01:22 -08:00
John Bender c644cfad1a package and unpackage moved to tar, tarruby added 2010-02-19 00:54:49 -08:00
John Bender a690b13f78 unpackage added, still uses zlib 2010-02-17 15:45:06 -08:00
Mitchell Hashimoto 8d9e53fe27 SSH.up? returns false when an abrupt disconnect occurs 2010-02-16 16:05:58 -08:00
Mitchell Hashimoto e855ae9965 vagrant-reload works 2010-02-16 15:48:03 -08:00
Mitchell Hashimoto e8e07d26f5 Forwarding ports now clears old ports first 2010-02-16 15:47:52 -08:00
Mitchell Hashimoto e825847dac VM instances can execute a single command now (VM#execute!(foo)) and added "stop" action to force immediate shutdown of VM. 2010-02-16 13:21:27 -08:00
Mitchell Hashimoto 7c61792b19 Stubbed vagrant-reload command 2010-02-16 13:04:18 -08:00
Mitchell Hashimoto 05f4845509 Provisioning can now be enabled/disabled by configuration. 2010-02-16 01:05:42 -08:00
John Bender 1c045bd447 refactored package into actions: export, package 2010-02-15 22:53:52 -08:00
Mitchell Hashimoto 2babb25686 Added before/after callbacks around import to stabilize persisting of VM UUID. 2010-02-15 22:47:26 -08:00
Mitchell Hashimoto c176a04cfa Fixed a bug with forwarded ports action 2010-02-15 22:44:15 -08:00
Mitchell Hashimoto 4ea8300766 Move hard drive action. 2010-02-15 22:40:58 -08:00
Mitchell Hashimoto ae6f086fad Forwarding ports action 2010-02-15 22:38:07 -08:00
Mitchell Hashimoto dd5abc5452 Implemented "around" callbacks on VM for convenient `before_foo` and `after_foo` callbacks 2010-02-15 19:02:23 -08:00
Mitchell Hashimoto 57de04abac Added provisioning to the "up" sequence. 2010-02-15 18:50:29 -08:00
Mitchell Hashimoto 97f9d4c5ef Run only a single trap thread at any given time. Ensure that trap threads are joined after a busy block ends. 2010-02-15 18:37:20 -08:00
Mitchell Hashimoto 874eb70911 Additional options can be passed into actions as additional arguments to the constructor 2010-02-15 18:19:59 -08:00
Mitchell Hashimoto f3cd0591d0 Refactored SSH in how it retrieves the port 2010-02-15 18:07:11 -08:00
Mitchell Hashimoto 3d27d47d34 Signal trapping for SIGINT waits for busy signal to go low 2010-02-15 17:56:48 -08:00
Mitchell Hashimoto 3c42db7dfe Merge branch 'runners' which brings in the "actions" model. 2010-02-15 15:25:22 -08:00
Mitchell Hashimoto e8df988d94 Provisioning action 2010-02-15 15:07:27 -08:00
John Bender c9d0d0d9d9 packaging and unpackaging 2010-02-15 14:49:47 -08:00
Mitchell Hashimoto 86524048ae Removed old VM code for VM creation. Lots of code removed! 2010-02-15 00:04:13 -08:00
Mitchell Hashimoto bf0aff45f6 Move hard drive action added to Up if config is set 2010-02-14 23:58:02 -08:00
Mitchell Hashimoto 6a79c4268b Added before/after callbacks around import to stabilize persisting of VM UUID. 2010-02-14 23:48:44 -08:00
Mitchell Hashimoto 11f4876b9d vagrant-up now uses pure actions rather than the hardcoded sequential instant methods. Provisioning not yet working, and moving hard drives not yet implemented. 2010-02-14 23:12:36 -08:00
Mitchell Hashimoto cb2f1ff402 Fixed a bug with forwarded ports action 2010-02-14 22:59:01 -08:00
Mitchell Hashimoto 9438b3b01e Initial up action. Not hooked up yet to the vagrant-up bin though 2010-02-14 22:47:23 -08:00
Mitchell Hashimoto 1753d97d45 Move hard drive action. 2010-02-14 22:27:06 -08:00
Mitchell Hashimoto ddfbe13b1d Shared folder action. 2010-02-14 02:36:16 -08:00
Mitchell Hashimoto b88da5a6d3 Start action 2010-02-14 02:23:09 -08:00
Mitchell Hashimoto 0fa8a94f32 Forwarding ports action 2010-02-13 12:17:59 -08:00
Mitchell Hashimoto 1a89e50da7 Import action 2010-02-13 11:56:33 -08:00
Mitchell Hashimoto d9986034b3 Base action tests 2010-02-13 11:38:11 -08:00
Mitchell Hashimoto 4ea450ba2a VM#invoke_callback now returns an array of the results of the actions which implemented the callback. 2010-02-13 11:20:24 -08:00
Mitchell Hashimoto af1fcd0ae0 Initial attempt at refactoring commands out into evented actions. Heavy documentation on the "vagrant/actions/base.rb" class. New VM action runner functionality is well tested, as well. 2010-02-12 19:53:34 -08:00
John Bender 9e3a57fc36 package command 2010-02-12 00:14:08 -08:00
John Bender 1316a9ac17 packaging working 2010-02-12 00:13:24 -08:00
Mitchell Hashimoto 7ff428d5c2 `vagrant init` command. Used for initializing directories with vagrant. 2010-02-11 00:51:21 -08:00
Mitchell Hashimoto fef985009f load_root_path! can now suppress errors if option is set 2010-02-11 00:39:11 -08:00
Mitchell Hashimoto 09bd40c207 Tests for modified 'up' command 2010-02-10 22:26:37 -08:00
Mitchell Hashimoto e5903129e1 Logger now uses singleton on the Vagrant::Logger class. Tests included. 2010-02-10 22:12:34 -08:00
Mitchell Hashimoto 39dd78c76f Util tests 2010-02-10 21:09:58 -08:00
Mitchell Hashimoto 03079d9fa6 Get rid of "VAGRANT_ENV" since that was just a hack. Log output location configurable now. 2010-02-10 13:59:25 -08:00
Mitchell Hashimoto 6c9c09c1b1 Move all commands to the Vagrant::Command class. Document all commands. 2010-02-10 13:46:22 -08:00
Mitchell Hashimoto aa2d3d58db Project directory and instance role added to provisioning JSON 2010-02-10 12:05:36 -08:00
Mitchell Hashimoto c1998d2127 And then God said unto thee, "You shall be named Vagrant." 2010-02-09 23:08:23 -08:00
Mitchell Hashimoto 8bcf633f54 Removed useless .gitignore files 2010-02-09 22:32:31 -08:00
Mitchell Hashimoto 337b5fc0f0 Chef solo is run now 2010-02-09 19:22:12 -08:00
Mitchell Hashimoto 4a6d6074d2 Chef-solo configuration script is generated and uploaded. 2010-02-09 18:29:52 -08:00
Mitchell Hashimoto 8abb4e1d6e Provisioning now generates a DNA JSON file and uploads it to the /tmp directory for use. Fixed some issues with SCPing. 2010-02-09 18:16:19 -08:00
Mitchell Hashimoto b0574aa95c Added ability to upload files via SCP with the SSH class 2010-02-09 17:08:34 -08:00
Mitchell Hashimoto d48b79e8ec SSH.up? uses Net::SSH timeouts again, for now. Looks like checking if a VM is up is finally working properly. 2010-02-09 16:48:59 -08:00
John Bender 8c2068565b starting vm test was handing, fixed and moved sleep ping loop to after initial check 2010-02-09 11:10:58 -08:00
Mitchell Hashimoto 168c7e0f39 Provisioning beginning. Not much done yet. 2010-02-09 00:31:52 -08:00
Mitchell Hashimoto 19f82e72aa VM shared folders can now be added easily. 2010-02-09 00:21:27 -08:00
John Bender 63fab09ea0 Hobo.busy refactor and mutex fix 2010-02-08 22:54:21 -08:00
John Bender 3ccdaf9182 Hobo.busy added, and tested 2010-02-08 22:38:32 -08:00
John Bender 3a3fbb44c7 move_hd during hobo up 2010-02-07 20:01:02 -08:00
Mitchell Hashimoto 7fd4ee0160 Shared folder is now properly mounted on hobo-up 2010-02-06 00:01:47 -08:00
Mitchell Hashimoto 3b53bdc79e Updated to bundler 0.9.3 gemfile format 2010-02-05 23:41:22 -08:00
Mitchell Hashimoto 21b1aa50f7 Rename config values for SSH to more human terms 2010-02-03 00:17:32 -08:00
Mitchell Hashimoto 7971d656fe Implement `forward_port` method for VMs in configuration 2010-02-03 00:02:12 -08:00
John Bender c0980d56bd tiny test refactor 2010-02-02 09:11:06 -08:00
John Bender d0f728b353 suspend and resume, test for both and failures, small refactor of the Hobo::VM#start and the use of Ping.pingecho in SSH.up? 2010-02-02 00:49:17 -08:00
Mitchell Hashimoto c9d341ae2b Hobo::Config revamp 2010-02-01 22:14:40 -08:00
Mitchell Hashimoto 303cc90a12 Waiting for a VM to boot maxes out (configurable # of times) 2010-01-31 22:38:00 -08:00
Mitchell Hashimoto 081c2a0483 hobo-up waits for successful boot now 2010-01-31 22:23:19 -08:00
Mitchell Hashimoto 3e98fc44e5 hobo-ssh 2010-01-31 18:53:35 -08:00
Mitchell Hashimoto 2353ea1f81 hobo-up now starts the VM in headless mode. hobo-down will force quit the VM if its running 2010-01-31 18:43:36 -08:00
Mitchell Hashimoto 900477d456 hobo-up now sets up the shared folder 2010-01-31 18:35:35 -08:00
Mitchell Hashimoto 32816419f5 hobo-down now properly uses the new Hobo::VM object rather than a pure VBox VM object. 2010-01-31 18:12:09 -08:00
Mitchell Hashimoto 652a157d51 Hobo::Env now loads the persisted VM as a Hobo::VM object 2010-01-31 18:10:01 -08:00
Mitchell Hashimoto 642c94429e Hobo::VM uses instance methods now since the VM is a form of state 2010-01-31 17:59:19 -08:00
Mitchell Hashimoto 4cffa15d4e hobo-down and Env.require_persisted_vm 2010-01-31 01:27:18 -08:00
Mitchell Hashimoto a394f1cd5f Hobo boot process loads the UUID as VM object rather than the raw UUID. 2010-01-31 01:16:44 -08:00
Mitchell Hashimoto 3631ff0078 hobo-up persists the UUID of the VM 2010-01-30 23:00:56 -08:00
Mitchell Hashimoto e948ce9663 Function to persist UUID 2010-01-30 22:18:18 -08:00
Mitchell Hashimoto a629889ff6 Load the path to hobo file and use that path to load UUID 2010-01-30 19:58:07 -08:00
John Bender e8d9f07c94 load_dotfile uses path traversal and not a regex 2010-01-30 01:03:18 -08:00
John Bender 62c6d91a24 walks the parent folders to find the dotfile 2010-01-30 00:46:56 -08:00
Mitchell Hashimoto f4cc3d430b Hobo up creates the VM, matches MAC addresses for NAT, port forwards SSH. 2010-01-30 00:07:58 -08:00
John Bender 4fa88e6436 persisted_uuid will be null unless the dotfile exists 2010-01-29 23:48:05 -08:00
John Bender e98e9eba24 "load! load_config! load_uuid! and a persisted_uuid added to Hobo::Env" 2010-01-29 23:22:58 -08:00
John Bender cb63c8c2ae removed block, added test to config 2010-01-29 23:22:57 -08:00
John Bender d399a2babf less bad set config value 2010-01-29 23:22:57 -08:00
John Bender dbc10a840f removed alterable config, and added a test 2010-01-29 23:22:57 -08:00
Mitchell Hashimoto 5f5b080464 Whitespace 2010-01-29 20:40:43 -08:00
Mitchell Hashimoto ed22b555f4 Logging environments (silence for tests) and some test refactor 2010-01-29 20:38:36 -08:00
Mitchell Hashimoto 6a2619be02 Goodbye virtual_box.rb, hello virtualbox gem 2010-01-29 20:22:50 -08:00
John Bender 6ea3fe39b9 compacted class default value class methods in ssh, and tightened up the tests 2010-01-26 20:49:22 -08:00
John Bender 3fd2ef5e2b ssh and ssh expect script added 2010-01-26 00:01:17 -08:00
John Bender bb3496c6a6 dot method alteration similar to git, prevents alteration of non leaf settings 2010-01-24 00:09:15 -08:00
John Bender 2883130434 config switched to hash, providing alterable version for writting to settings file 2010-01-23 23:46:16 -08:00
Mitchell Hashimoto 5b29ce59aa VirtualBox wrapper now uses import to create a VM rather than createvm 2010-01-23 23:45:34 -08:00
Mitchell Hashimoto c7769661dd Destroying VMs is now possible 2010-01-22 14:02:03 -08:00
Mitchell Hashimoto 92dd514c4d VirtualBox wrapper now uses import to create a VM rather than createvm 2010-01-22 13:34:46 -08:00
Mitchell Hashimoto 148cd091bb Stricter test coverage on env.rb 2010-01-22 01:47:28 -08:00
John Bender 62f7682f9b test refactor 2010-01-22 00:56:27 -08:00
John Bender 7cd249ec63 Hobo::Config.settings -> Hobo.config 2010-01-22 00:42:29 -08:00
Mitchell Hashimoto c59b189bfa Fixed hobo dir tests to work even if the dir is already present 2010-01-22 00:22:11 -08:00
John Bender 9ed95705f7 Hobo::Config.settings is less crappy than .config ... 2010-01-21 23:58:09 -08:00
Mitchell Hashimoto 41a474dd77 Back to mocha for now. Flexmock made stubbing awkward. 2010-01-21 23:57:31 -08:00
Mitchell Hashimoto a628274e94 Initial commit for VirtualBox class. 2010-01-21 23:54:13 -08:00
John Bender b054973dc6 env and config tested and working 2010-01-21 23:38:41 -08:00
John Bender 07be6f1ac0 config hash to dot methods 2010-01-21 23:38:41 -08:00
Mitchell Hashimoto 531aa5474d ruby-debug in tests 2010-01-21 21:36:34 -08:00
John Bender ec2e34e9e3 corrected bundler require 2010-01-21 21:08:55 -08:00
John Bender 4bb35e6af1 moved vendor require to test_helper 2010-01-21 21:07:01 -08:00
John Bender 032d0175de test_helper and passing test 2010-01-21 20:35:31 -08:00
Mitchell Hashimoto 6a8d6bcaf4 Initial Gemfile for dependencies. Touched a .gitignore for the various
folders needed.
2010-01-21 19:09:18 -08:00