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