Commit Graph

3215 Commits

Author SHA1 Message Date
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 3504b1dbcb Boxes modified for use with environment 2010-03-19 22:29:59 -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 32a951cb6c Removed unused method on Vagrant::Command 2010-03-19 17:10:09 -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 c6e39ddbf0 Removed namespace from command usage of TemplateRenderer, since we extend that into the class 2010-03-17 18:00:30 -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 974624e5cb Documentation on the renderer 2010-03-17 17:04:21 -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 829d1231bf Add log output to VM customization 2010-03-15 15:46:53 -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 1f216da06b Removed some code which just isn't used anymore 2010-03-15 12:38:31 -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 42007f6b80 A very basic `vagrant status` command, which simply outputs the status of the environment (whether it has been created, its on, its off, etc.) 2010-03-14 18:35:18 -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 ab1acf2479 Parenthesize argument to remove warning 2010-03-14 14:59:35 -07:00
Mitchell Hashimoto 8057e1e94e `vagrant box list` added to error message for invalid subcommand to `vagrant box` 2010-03-14 14:57:39 -07:00
Mitchell Hashimoto 6c05901fe7 Vagrant is now a good ruby gem citizen and no longer modifies the include path. 2010-03-13 03:21:04 -08:00
Mitchell Hashimoto 5598a260c2 Require the files, not puts them... its late. 2010-03-13 03:12:08 -08:00
Mitchell Hashimoto 2a6c9a762a Fixed expand pathing to work properly in vagrant.rb 2010-03-13 03:11:16 -08:00
Mitchell Hashimoto 9da68bb129 Expand paths properly for loading so that files already loaded aren't loaded twice 2010-03-13 03:08:26 -08: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 5995191972 More useful error message for using vagrant in home directory 2010-03-12 10:15:17 -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 b86ef6aab9 Silly typo fix 2010-03-11 22:44:50 -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 97e31c82ef whitespace fix 2010-03-11 00:02: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 f6bc0ff5fc Change chef solo to use `run_list` instead of `recipes` 2010-03-10 18:34:52 -08:00
Mitchell Hashimoto 759d904628 Provision action must call "prepare" on the provisioner 2010-03-10 15:12:45 -08:00
Mitchell Hashimoto 2763540b44 Move default chef solo configuration to the chef solo provisioner 2010-03-10 14:58:41 -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 0d026da21e Base class for chef solo 2010-03-10 13:01:53 -08:00
Mitchell Hashimoto f86bc912eb Base provisioning class 2010-03-10 12:56:52 -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
Ilkka Laukkanen de18f1e4a6 Replace tarruby with archive-tar-minitar.
Tarruby seems to not compile on 64-bit, and even its author says to use
another library. Minitar seems to be more active than libarchive so I
used that.

Tests not fixed yet.
2010-03-09 10:38:02 -08:00
Jonathan Rudenberg 68d709eab9 Fix reference to File.cp since no longer using ftools 2010-03-09 09:51:57 -08:00
Jonathan Rudenberg 6e0f171514 Remove ftools requirement (deprecated in 1.9) 2010-03-09 09:12:02 -08:00
Mitchell Hashimoto 6a3b7370aa Load action runner before all other files 2010-03-09 08:45:14 -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 1139ec9e0c SSH.up? actually times out properly now 2010-03-08 19:17:43 -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 b4e25143dc error_and_exit now uses `abort`, which prints to stdout before exiting 2010-03-04 21:05:43 -08:00
Mitchell Hashimoto 20ed284372 Unpackage now has its own rescue implementation 2010-03-04 21:02:59 -08:00
Mitchell Hashimoto bf738d4db5 Developer documentation for box actions 2010-03-04 20:58:50 -08:00
Mitchell Hashimoto a88e75f357 Runner developer documentation 2010-03-04 00:25:17 -08:00
Mitchell Hashimoto be47236c37 ActionException developer documentation 2010-03-04 00:08:25 -08:00
Mitchell Hashimoto 94280943f4 Actions::Base developer documentation 2010-03-04 00:08:25 -08:00
Mitchell Hashimoto 816a1734e4 Vagrant::Box developer documentation 2010-03-04 00:08:25 -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
Mitchell Hashimoto affe1cd9ad Log output for additional files 2010-02-28 00:41:09 -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 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 2ee850011b Clear config after load paths are setup 2010-02-23 23:56:53 -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 bd551174ba Removed traces of ovf_file usage in actions 2010-02-22 23:15:21 -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 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 d447f9e377 Package tests updated to not hit the filesystem 2010-02-20 22:44:32 -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 cf0615ac9b Provisioning action 2010-02-15 22:53:05 -08:00
Mitchell Hashimoto a67dd3cb6f Removed old VM code for VM creation. Lots of code removed! 2010-02-15 22:51:48 -08:00
Mitchell Hashimoto c176a04cfa Fixed a bug with forwarded ports action 2010-02-15 22:44:15 -08:00
Mitchell Hashimoto b115fc0ea0 Initial up action. Not hooked up yet to the vagrant-up bin though 2010-02-15 22:42:57 -08:00
Mitchell Hashimoto 5f64240edb Start 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 9e6478c0d6 Import action 2010-02-15 22:36:24 -08:00
Mitchell Hashimoto 0ceee33a51 VM#invoke_callback now returns an array of the results of the actions which implemented the callback. 2010-02-15 22:33:37 -08:00
Mitchell Hashimoto 063ea60d40 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-15 22:32:12 -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 ebc3c70f8b SSH.execute uses the new port helper 2010-02-15 18:52:33 -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 816b29eb18 Removed duplicate code (from a merge conflict) 2010-02-15 15:31:35 -08:00
Mitchell Hashimoto 2cdd3f35fc Removed "tarruby" dependency 2010-02-15 15:27:47 -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 e77c780e0d Add defined? check for defining PROJECT_ROOT to suppress warnings 2010-02-13 11:50:01 -08:00
Mitchell Hashimoto 1288b229d1 Require action base before everything else as well 2010-02-13 11:48:13 -08:00
Mitchell Hashimoto 0864d7c2d3 Merge branch 'master' into runners to add nice file requiring in vagrant.rb 2010-02-13 11:47:02 -08:00
Mitchell Hashimoto 8f63272403 Cleaned up the requiring of files in vagrant.rb 2010-02-13 11:43:58 -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 a4b9375abf spelling correction 2010-02-12 00:24:17 -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 f2636355c1 `vagrant init` command. Used for initializing directories with vagrant. 2010-02-12 00:11:49 -08:00
Mitchell Hashimoto f2f92d7ffa Get rid of "VAGRANT_ENV" since that was just a hack. Log output location configurable now. 2010-02-12 00:09:04 -08:00
Mitchell Hashimoto 119d91eafb Move all commands to the Vagrant::Command class. Document all commands. 2010-02-12 00:07:39 -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 45fbac92f9 The 'up' command will now error if an instance already exists 2010-02-10 22:21:55 -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 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 ba77944d67 Removed some unnecessary requires 2010-02-10 01:53:05 -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 dccfeafa2e Revert "changed rescue to ensure block in Busy.busy"
Tests ensure that the ensure block within the mutex handles setting busy to false in the case of an exception.
2010-02-09 09:30:40 -08:00
John Bender d1912c811f changed rescue to ensure block in Busy.busy 2010-02-09 07:26:34 -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
Mitchell Hashimoto 9cfa89855d Ensure busy turns to false when an exception is raised, rather than catching the exception. Moved the ensure within the synchronize block so its protected by the mutex. 2010-02-08 23:32:04 -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 cb89290b62 altered logging format 2010-02-08 22:00:13 -08:00
John Bender 0be599164e subclassed the logger in util.rb, fixed gemfile path in bin/* 2010-02-07 23:14:11 -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 424afdae67 Get rid of useless "require" at top of config 2010-02-05 23:33:32 -08:00
Mitchell Hashimoto d9841880c0 Typo 2010-02-03 00:42:07 -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 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 45c3eef18f Prettier error messages 2010-01-30 20:01:34 -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 e9d731cfcf Got some binaries in, a shell for VM management 2010-01-29 22:21:35 -08:00
Mitchell Hashimoto ed22b555f4 Logging environments (silence for tests) and some test refactor 2010-01-29 20:38:36 -08:00
Mitchell Hashimoto f1e16f6518 Env required YAML 2010-01-29 20:25:10 -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 7cd249ec63 Hobo::Config.settings -> Hobo.config 2010-01-22 00:42:29 -08:00
Mitchell Hashimoto 4f72534121 Hard code MAC address for NIC. Must match the base VM. 2010-01-22 00:15:37 -08:00
John Bender 9ed95705f7 Hobo::Config.settings is less crappy than .config ... 2010-01-21 23:58:09 -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 6a8d6bcaf4 Initial Gemfile for dependencies. Touched a .gitignore for the various
folders needed.
2010-01-21 19:09:18 -08:00