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