Commit Graph

2575 Commits

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