Mitchell Hashimoto
fb8f0c010b
Reload config after downloading box during `up` [closes GH-231]
2010-12-31 21:41:05 -06:00
Mitchell Hashimoto
e12d96d4df
Only automount NFS folders which have guest path specified
2010-12-31 02:24:49 -06:00
Mitchell Hashimoto
c1be64ae61
Shared folders with no guest path are not automounted [closes GH-184]
2010-12-31 02:19:27 -06:00
Mitchell Hashimoto
82d26f29e8
Tests passing for shared folder mount changes.
2010-12-30 21:06:21 -06:00
Mitchell Hashimoto
681c4a1233
Fix tests dealing with VirtualBox 4 version checks
2010-12-30 21:04:23 -06:00
Mitchell Hashimoto
e19788701e
Don't disable networks on halt/destroy.
2010-12-24 19:02:11 -08:00
Mitchell Hashimoto
c32ab0442c
Change the mechanism by which useless host only networks are detected and destroyed
2010-12-24 18:57:44 -08:00
Mitchell Hashimoto
4d8e3dc1bf
Make this test actually test something
2010-12-24 18:41:18 -08:00
Mitchell Hashimoto
2018fd8645
"vbox-prev" bug still exists, but filename changes for VB4
2010-12-24 18:35:46 -08:00
Mitchell Hashimoto
e4488c415e
Update destroy to use new API for VB4
2010-12-24 15:19:31 -08:00
Mitchell Hashimoto
2358130c0e
Show error if host only networking on Windows
2010-12-21 19:52:41 -08:00
Mitchell Hashimoto
e98db8dc86
Determine SSH on main thread for up? to fix issues with multi-thread access on JRuby
2010-12-19 10:27:07 -08:00
Mitchell Hashimoto
59ae5747d0
Use timeout library instead of threads to check for VM boot
2010-12-18 18:50:59 -08:00
Brian P O'Rourke
e1ed00f14c
Enumerate vms according to definiton order.
2010-12-14 22:24:02 -08:00
Mitchell Hashimoto
d0e3cf1210
config.puppet.options can be a string as well
2010-12-14 21:57:12 -08:00
Brice Figureau
6b46949550
Allow passing options to the Puppet provisioner
...
This allows for instance to pass the --modulepath options like this:
config.vm.puppet.options = ["--modulepath","modules"]
Which would call puppet with "--modulepath modules".
Signed-off-by: Brice Figureau <brice@daysofwonder.com>
2010-12-14 21:53:57 -08:00
Brice Figureau
446ab32e0e
Allow to recursively include files when packaging a box
...
This allows to bundle with a box a set of puppet manifests or chef cookbooks.
This supports both shell globbing and recursive copy of full directories.
Usage:
vagrant package ... --include=manifests
This would bundle the whole manifests/ directory
vagrant package ... --include=id*
This would bundle all files with prefix id in the produced box
Signed-off-by: Brice Figureau <brice@daysofwonder.com>
2010-12-14 21:51:33 -08:00
James Turnbull
6548bc9324
Adds a basic Puppet provisioner to Vagrant
...
This uses the Puppet binary and assumes a .pp file will be present
on the host machine.
By default it looks for manifests in the `manifests` directory (in the same root as
wherever your Vagrantfile is located). The default file uses the name of the box
being configured, for example `lucid.pp`. Both options are configurable.
2010-12-07 16:57:00 -08:00
Mitchell Hashimoto
54f86f236c
Test to verify solaris system
2010-12-07 16:52:18 -08:00
Mitchell Hashimoto
331e0841e5
Box collection reloads after downloading during CheckBox. [closes GH-229]
2010-11-30 20:19:24 -08:00
Ches Martin
8bff03fb80
BaseVMNotFoundError -> BaseVMNotFound and test [closes GH-200]
2010-11-03 21:35:39 -07:00
Mitchell Hashimoto
ef50361f95
Nicer error message when box is not found. [closes GH-195]
2010-10-21 17:50:41 -07:00
Mitchell Hashimoto
39407694e3
Validate only certain command sequences [closes GH-188]
2010-10-13 18:59:25 -07:00
Mitchell Hashimoto
82d73ebe3c
General validation middleware
2010-10-13 18:40:12 -07:00
Mitchell Hashimoto
6337cefb8b
Disable Vagrantfile validation completely on load. see coming commits...
2010-10-12 21:08:33 -07:00
Mitchell Hashimoto
341e7916f4
Port collision type mismatches fixed. [closes GH-185]
2010-10-09 01:21:52 -07:00
Mitchell Hashimoto
ebf1fa2fb1
Check if file exists on root path traversal [closes GH-182]
2010-10-08 18:23:38 -07:00
Mitchell Hashimoto
f90016bb6f
Only validate on the second-pass of loading configuration
2010-10-08 10:52:34 -07:00
Mitchell Hashimoto
5fcf10d6cd
Validations to assure base MAC address is set
2010-10-08 10:44:19 -07:00
Mitchell Hashimoto
c6b0fae318
Load sub-VM configuration on first-pass, allowing box loading for sub-VMs. [closes GH-166] [closes GH-181]
2010-10-08 10:34:33 -07:00
Mitchell Hashimoto
48e5f4fb86
Vagrantfiles with only one `config.vm.define` are now considered multi-VM.
2010-10-08 09:50:34 -07:00
Mitchell Hashimoto
ba9cb19808
Configuration only validates on final Vagrantfile proc, allowing multi-VM to work correctly
2010-10-08 09:44:17 -07:00
Mitchell Hashimoto
e36a9d3a0c
Nice error message given if ".vagrant" is a directory and therefore can't be accessed. [closes GH-172]
2010-10-06 18:57:39 -07:00
Mitchell Hashimoto
12b769ce14
Removed final global test helper from test/test_helper.rb
2010-10-03 18:48:41 -07:00
Mitchell Hashimoto
3fe785ab72
Removed `mock_vm` test helper, which is unnecessary
2010-10-03 18:45:09 -07:00
Mitchell Hashimoto
e5be4cc2b0
Removed unused test code
2010-10-03 18:37:03 -07:00
Mitchell Hashimoto
eaaf55ea8a
`up --no-provision` works again. This disables provisioning during the process.
2010-10-03 18:34:33 -07:00
Mitchell Hashimoto
cf823cadb5
Action warden doesn't do recovery process on `SystemExit` exceptions, allowing double ctrl-C to work properly again.
2010-10-01 10:08:38 -07:00
Mitchell Hashimoto
3e54150f71
Box add checks if box exists before the download [closes GH-170]
2010-10-01 09:24:58 -07:00
Mitchell Hashimoto
61314c5e21
Only check for box directory if it is set during unpackage recovery [related to GH-170]
2010-10-01 09:20:18 -07:00
Mitchell Hashimoto
bad251a20d
NFS no longer attempts to clean exports file if VM is not created, which caused a stack trace during recovery.
2010-09-30 01:16:45 -07:00
Mitchell Hashimoto
ed645417c7
Basic validation added for Chef configuration (both solo and server).
2010-09-30 01:09:36 -07:00
Mitchell Hashimoto
465392f99c
config.vagrant validation tests
2010-09-30 00:55:00 -07:00
Mitchell Hashimoto
588ead6e45
Top config class is now available in all `Vagrant::Config::Base` subclasses. Useful for validation.
2010-09-30 00:50:50 -07:00
Mitchell Hashimoto
c5b81b5998
SSH gives error message if `ssh` binary is not found. [closes GH-161]
2010-09-29 23:47:17 -07:00
Mitchell Hashimoto
0fcc1150c5
Revert "Instead of using Kernel#system, use custom piped solution"
...
This reverts commit 171f4184c0
.
2010-09-29 23:38:07 -07:00
Mitchell Hashimoto
171f4184c0
Instead of using Kernel#system, use custom piped solution
2010-09-27 18:26:42 -07:00
Mitchell Hashimoto
ea6904761f
Check box action no longer needs to load_box!
2010-09-27 13:42:53 -07:00
Mitchell Hashimoto
1199c89a4a
Fix issues with Ruby 1.8.7 where Vagrant wouldn't even run
2010-09-27 12:10:17 -07:00
Mitchell Hashimoto
85bbb5dd87
Switch config to not implicitly use I18n.
2010-09-21 20:38:19 -06:00
Mitchell Hashimoto
b909adde1c
Since I18n isn't automatic for UI class, get rid of _ prefix on options
2010-09-21 18:14:18 -06:00
Mitchell Hashimoto
d003cc4f32
UI methods no longer automatically translate. Makes it easier for plugin developers.
2010-09-21 18:12:24 -06:00
Mitchell Hashimoto
f0294039e1
Load config files (only) early so plugins are loaded from Vagrantfiles
2010-09-21 01:47:50 -06:00
Mitchell Hashimoto
3b735e545f
Change VM loading to be lazy loaded so config can be loaded without VMs
2010-09-21 01:27:36 -06:00
Mitchell Hashimoto
e3ff9c7ac3
Resource logger now logs to a "logs" directory in the home path
2010-09-20 09:58:19 -06:00
Mitchell Hashimoto
7d89d011fb
Tests passing again due to config.vm.customize change earlier
2010-09-20 09:47:01 -06:00
Mitchell Hashimoto
f37710a4bd
Remove logger helper from action environment class
2010-09-20 09:44:51 -06:00
Mitchell Hashimoto
ba8307712d
Don't require root path to load an environment. (Makes `vagrant box` commands work again without a Vagrantfile)
2010-09-16 18:14:41 -06:00
Mitchell Hashimoto
bae6c57230
Expose test helpers [closes GH-162]
2010-09-15 09:19:38 -06:00
Mitchell Hashimoto
90aaf5cb5e
Command helpers `target_vms` now takes an optional string for the VM name
2010-09-15 08:38:56 -06:00
Mitchell Hashimoto
d5fbf29ec0
Plugins. Documentation coming shortly.
2010-09-14 23:10:51 -06:00
Mitchell Hashimoto
036edfcc2a
Only destroy the VM if the exception raised is not a Vagrant error
2010-09-14 00:48:31 -06:00
Mitchell Hashimoto
7c42300002
Expose the exception which triggers recovery methods through the "vagrant.error" environmental hash
2010-09-13 23:43:37 -06:00
Mitchell Hashimoto
d5ad387f27
New `vagrant package` option `--vagrantfile` and changed semantics of `--include` (see CHANGELOG)
2010-09-12 23:20:13 -06:00
Mitchell Hashimoto
4b8878f5f7
Import uses the string path, rather than the pathname
2010-09-12 16:37:43 -06:00
Mitchell Hashimoto
714c94780c
On import, only run destroy action if VM is created
2010-09-12 16:34:49 -06:00
Mitchell Hashimoto
7d73bec776
Disable networks only if VM is created
2010-09-12 16:31:38 -06:00
Mitchell Hashimoto
e11d3bd4f7
Only halt if created and running
2010-09-12 16:29:35 -06:00
Mitchell Hashimoto
4335adc8f4
Only discard state if the VM is created
2010-09-12 16:26:32 -06:00
Mitchell Hashimoto
02cfb60387
Verify box with a string path, not pathname
2010-09-12 15:39:37 -06:00
Mitchell Hashimoto
79b303a1fc
Send string, not pathname, to Minitar for decompression
2010-09-12 14:00:48 -07:00
Mitchell Hashimoto
5ce43a8ae0
Utilize pathname when available instead of doing just a File.join
2010-09-11 10:42:03 -07:00
Mitchell Hashimoto
2026bb0b1c
Remove unnecessary class methods on Box class. Move commands over to use "boxes" on env
2010-09-11 10:33:49 -07:00
Mitchell Hashimoto
761da0de63
Remove method calls to "Box.find" and remove method
2010-09-11 10:21:35 -07:00
Mitchell Hashimoto
0ee21998f6
New BoxCollection class to keep track of all boxes.
2010-09-11 10:17:26 -07:00
Mitchell Hashimoto
4b17ac0f89
Environment#home_path is a Pathname object for easier manipulation
2010-09-11 09:18:33 -07:00
Mitchell Hashimoto
86465a36c0
Change method by which configuration classes register themselves to be cleaner
2010-09-11 09:02:55 -07:00
Mitchell Hashimoto
f8e7431899
Retry SSH connect a few times before admitting defeat.
2010-09-09 00:28:21 -07:00
Mitchell Hashimoto
a0ed4d0da8
Get rid of "mock_action_data" use "action_env" instead
2010-09-08 23:56:35 -07:00
Mitchell Hashimoto
16f3a3face
Test helper `mock_environment` completely gone
2010-09-08 23:51:09 -07:00
Anko painting
650ff4b734
Allow downloading via a proxy if http_proxy environment variable is set. [closes GH-157]
2010-09-08 22:11:53 -07:00
Mitchell Hashimoto
73c223c885
Remove most of the remaining mock_environment calls. Only one remains.
2010-09-07 11:51:10 -07:00
Mitchell Hashimoto
8164644615
Converted most "mock_environment" tests to "vagrant_env" which uses real filesystem
2010-09-07 11:41:52 -07:00
Mitchell Hashimoto
3cca2f1bb4
Config loading test is now powered by real Vagrantfiles, rather than mocks
2010-09-07 11:30:48 -07:00
Mitchell Hashimoto
5f6e3acf40
Require root path on environment load
2010-09-07 10:52:58 -07:00
Mitchell Hashimoto
446d1155fe
Add ruby-debug for tests in the Gemfile for MRI (both 1.8 and 1.9 version)
2010-09-07 01:19:11 -07:00
Mitchell Hashimoto
9a0834d263
Make environment tests fast again
2010-09-07 01:03:27 -07:00
Mitchell Hashimoto
5a13347fb4
Fix issue with local data store not being properly cleared for VM destruction
2010-09-07 01:02:11 -07:00
Mitchell Hashimoto
88fedb419e
Update Environment#dotfile_path to take advantage of new Pathname object
2010-09-07 00:28:21 -07:00
Mitchell Hashimoto
fe593c88b8
Environment#cwd and Environment#root_path are now pathname objects for more robust usage
2010-09-07 00:25:52 -07:00
Mitchell Hashimoto
84389580d6
Only run Environment#load! once
2010-09-07 00:07:22 -07:00
Mitchell Hashimoto
1478818939
Run "environment_load" action on environment load
2010-09-06 23:36:48 -07:00
Mitchell Hashimoto
1a5836ee23
Don't clear registered actions hash in tests ever
2010-09-06 19:52:46 -07:00
Mitchell Hashimoto
f85401481b
Create the tmp path when running tests so they pass
2010-09-06 18:29:49 -07:00
Mitchell Hashimoto
4342c87473
No need to reload the VMs hash if has a parent environment.
2010-09-06 00:09:29 -07:00
Mitchell Hashimoto
ed48170b24
Remove environment "vm_name" property since it was redundant
2010-09-05 23:11:27 -07:00
Mitchell Hashimoto
23c08f2daa
Configuration validation for the most common problems added
2010-09-05 11:26:38 -07:00
Mitchell Hashimoto
9cc64fcb34
Configuration classes can now be validated. Nice error message shown in case of failure.
2010-09-05 11:02:48 -07:00
Mitchell Hashimoto
ad5ecf1c7f
Remove unused code in Config
2010-09-05 10:18:05 -07:00
Mitchell Hashimoto
52a32820db
Change the way the config is loaded to be all in one step
2010-09-05 01:13:35 -07:00
Mitchell Hashimoto
ce9ff73ea4
Show proper syntax error for Vagrantfiles [closes GH-155]
2010-09-04 14:33:53 -07:00
Mitchell Hashimoto
53aaa4f264
Environment is lazy loaded for `vagrant` binary.
2010-09-04 11:10:20 -07:00
Mitchell Hashimoto
f24094bba8
Converted more tests to new vagrant env helpers and removed unused code in ResourceLogger
2010-09-04 10:47:22 -07:00
Mitchell Hashimoto
260f1dcec4
Refined some tests to use real Vagrantfiles instead of mocks
2010-09-03 19:25:48 -07:00
Mitchell Hashimoto
3470d98fca
Load the root path on demand.
2010-09-03 14:59:16 -07:00
Mitchell Hashimoto
f85579a4de
Give a nice error message if there is a syntax error in Vagrantfile [closes GH-154]
2010-09-03 14:23:47 -07:00
Mitchell Hashimoto
9590928553
If the data store is empty, delete the backing file
2010-09-03 12:05:29 -07:00
Mitchell Hashimoto
e4cb2749a1
Clean nil and 'empty?' values in a data store prior to commiting
2010-09-03 12:02:44 -07:00
Mitchell Hashimoto
b8a4188fa3
Config class is now responsible for loading configuration. Cleans up environment.
2010-09-03 11:16:38 -07:00
Mitchell Hashimoto
0a8540996c
Action environment uses new indifferent hash util
2010-09-03 09:39:30 -07:00
Mitchell Hashimoto
3c3c9aedc9
Data store is a hash with indifferent access
2010-09-03 09:35:07 -07:00
Mitchell Hashimoto
59e1e43c74
Autoload the util classes. HashWithIndifferentAccess for data store
2010-09-03 09:33:15 -07:00
Mitchell Hashimoto
0f70812142
Load the host on demand in the environment
2010-09-03 00:48:38 -07:00
Mitchell Hashimoto
01df63ef6e
Lazy load the environment "actions." Removes one more load from the environment load chain
2010-09-03 00:35:18 -07:00
Mitchell Hashimoto
f72979df79
Added global data hash to environment. "system"-wide data bag for vagrant
2010-09-03 00:21:57 -07:00
Mitchell Hashimoto
d65194d66e
Only initialize a logger on the parent environment
2010-09-02 21:24:59 -07:00
Mitchell Hashimoto
a84ea6a5b8
Load data store keys as symbols, not strings.
2010-09-02 21:19:44 -07:00
Mitchell Hashimoto
52e3c4d3b3
Persisting a VM uuid is now implicitly done by Vagrant::VM
2010-09-02 21:12:11 -07:00
Mitchell Hashimoto
2d80c32479
Remove the ActiveList. This will make a comeback using DataStore in the future.
2010-09-02 13:00:47 -07:00
Mitchell Hashimoto
d74d95d0cd
Get rid of exceptions/ folder.
2010-09-02 11:56:04 -07:00
Mitchell Hashimoto
9002b22fac
Data store is now a hash and lazy load the local data store on the environment
2010-09-02 11:47:19 -07:00
Mitchell Hashimoto
4d87f198d7
Vagrant::DataStore which will be used soon for the dotfile in the project directory
2010-09-01 22:00:59 -07:00
Mitchell Hashimoto
43cdcb7808
Config can now be deserialized as well as serialized to JSON
2010-09-01 21:01:15 -07:00
Mitchell Hashimoto
d2d2404961
Split config classes out into multiple files for better organization
2010-09-01 20:37:11 -07:00
Mitchell Hashimoto
71101c9d3d
Raise interrupt error earlier so the rescue chain actually gets called
2010-09-01 14:58:22 -07:00
Mitchell Hashimoto
60c20565b2
Replace straight abort on interrupt with clean exit via exception
2010-09-01 14:50:15 -07:00
Mitchell Hashimoto
a13f587bc0
Environment#error! removed (along with error? and so on)
2010-09-01 14:37:37 -07:00
Mitchell Hashimoto
3da94252b5
Get rid of util.rb. No longer used.
2010-09-01 14:30:31 -07:00
Mitchell Hashimoto
bb97b388f9
Convert VM errors to I18n exceptions
2010-09-01 14:26:53 -07:00
Mitchell Hashimoto
ae6e42dbbc
Scope SSH errors to proper exception classes
2010-09-01 10:47:34 -07:00
Mitchell Hashimoto
e7f06d7fb7
Remove ExceptionCatcher since exceptions are the way to report errors now
2010-09-01 10:04:37 -07:00
Mitchell Hashimoto
364233527e
SSH no longer raises ActionException. Raises VagrantError
2010-09-01 10:00:49 -07:00
Mitchell Hashimoto
786a0f443a
Provisioners raise exceptions
2010-09-01 09:36:22 -07:00
Mitchell Hashimoto
f85821c268
Refactor VagrantError to be more flexible so not as many subclasses will be needed
2010-09-01 08:27:29 -07:00
Mitchell Hashimoto
cf91f578fb
Downloaders now raise exceptions instead of erroring environment
2010-09-01 07:22:14 -07:00
Mitchell Hashimoto
a7197b3566
Autoload errors. If nothing bad happens, all those error classes don't use any memory :)
2010-09-01 07:15:37 -07:00
Mitchell Hashimoto
39663f6f11
Finish replacement of "env.error!" with exceptions in VM actions
2010-09-01 07:13:37 -07:00
Mitchell Hashimoto
b72cf4c57c
Convert NFS to new Warden style with 'recover' method
2010-08-30 20:09:26 -07:00
Mitchell Hashimoto
aa00d15206
Few more VM actions converted to exceptions. Lots of errors gone.
2010-08-30 20:07:50 -07:00
Mitchell Hashimoto
72c3340336
About 1/3rd of the VM actions raise exceptions now
2010-08-30 19:39:11 -07:00
Mitchell Hashimoto
98bce8f836
General package action raises exceptions instead of using env.error
2010-08-28 13:54:59 -07:00
Mitchell Hashimoto
3e1ccf0c4f
Convert box actions to raise exceptions rather than error environment
2010-08-28 12:31:55 -07:00
Mitchell Hashimoto
ccc45ebd7a
Begin moving from error_and_exit to exceptions. Fail hard!
2010-08-28 12:23:40 -07:00
Mitchell Hashimoto
354a82a177
Make some minor changes to warden to reduce the array reversals
2010-08-28 00:00:21 -07:00
Mitchell Hashimoto
efbfd335ad
Remove the ErrorHalt middleware, since Warden takes care of this on a larger scale
2010-08-27 23:50:14 -07:00
Mitchell Hashimoto
21e4477c39
Rip out unison syncing. It never got to see the light of day. Just didn't work out. (NFS replaced it)
2010-08-27 23:31:38 -07:00
Mitchell Hashimoto
7ddff513f0
Shell UI tests. Added option to not translate. Updated non-translated strings.
2010-08-27 23:27:35 -07:00
Mitchell Hashimoto
1d29ba31fa
I18nified all the VM actions
2010-08-27 19:46:50 -07:00
Mitchell Hashimoto
0b03502bf2
Converted final error_and_exit in ssh.rb to exceptions
2010-08-27 00:05:40 -07:00
Mitchell Hashimoto
bab369e856
SSHAuthenticationFailed error
2010-08-27 00:01:27 -07:00
Mitchell Hashimoto
500a63c269
Fix some bugs in the SSH tests, replace one error_and_exit with an exception
2010-08-26 23:51:30 -07:00
Mitchell Hashimoto
58237db675
Remove unused methods in environment and their translations
2010-08-26 23:30:24 -07:00
Mitchell Hashimoto
afab53bf9f
Scope errors into the Errors namespace. VirtualBox version errors converted to I18n
2010-08-26 23:21:28 -07:00
Mitchell Hashimoto
e28947f18d
Use I18n gem for string database. Refactor exceptions to use I18n.
2010-08-26 21:56:38 -07:00
Mitchell Hashimoto
6d15a1dd64
Moved the resource name to a helper method in environment
2010-08-26 20:22:20 -07:00
Mitchell Hashimoto
aaac5fbf1e
Get rid of all Ruby warnings in Vagrant
2010-08-25 23:21:23 -07:00
Mitchell Hashimoto
a699122260
No more logger usage for outputting to the shell
2010-08-25 22:38:24 -07:00
Mitchell Hashimoto
9ab5a7c2b1
Switch the actions over to using the new UI objects.
2010-08-25 22:13:55 -07:00
Mitchell Hashimoto
e74bce8b10
Factor out the command environment initialization
2010-08-25 21:49:19 -07:00
Mitchell Hashimoto
98087243a7
Support for aliasing commands
2010-08-25 16:09:51 -07:00
Mitchell Hashimoto
83b2872ddb
The `target_vms` helper in multivm with no name specified will return all VMs, not the hash [closes GH-148]
2010-08-25 16:02:29 -07:00
John Bender
5c56e46739
Merge branch 'warden'
2010-08-25 00:26:07 -07:00
Mitchell Hashimoto
23526c3746
`vagrant ssh_config`
2010-08-24 23:59:51 -07:00
Mitchell Hashimoto
8340472fc5
`vagrant up`
2010-08-24 23:03:37 -07:00
Mitchell Hashimoto
ccad6af8cf
Only calculate the target VMs once
2010-08-24 17:53:27 -07:00
Mitchell Hashimoto
2eb09c7aa2
Helpers to get target VMs in commands from parameters
2010-08-24 17:49:22 -07:00
Mitchell Hashimoto
5af0537e56
Command::GroupBase for creating subcommands for Thor.
2010-08-24 10:58:36 -07:00
Mitchell Hashimoto
1facebc3d9
Got rid of global Vagrant.ui. Moved to Environment#ui
2010-08-24 10:37:00 -07:00
Mitchell Hashimoto
48b7596357
Init command. Tests for the base command.
2010-08-24 10:27:36 -07:00
Mitchell Hashimoto
0ddda8f591
Remove all old commands. They're all being rewritten
2010-08-24 09:19:16 -07:00
Mitchell Hashimoto
4be0063d12
Tests for the CLI class
2010-08-23 23:53:27 -07:00
Mitchell Hashimoto
cd82c8d7f8
Get rid of the PROJECT_ROOT constant.
2010-08-23 21:33:14 -07:00
John Bender
e9a9e4abc0
added param expectation to export action recover call for cleanup
2010-08-22 01:08:20 -07:00
John Bender
220fff0c19
moved unpackage to warden
2010-08-22 00:49:54 -07:00
John Bender
30a84c6e50
moved export to warden
2010-08-22 00:37:15 -07:00
John Bender
a98a504849
fixed lambda wront # of arguments in warden test
2010-08-22 00:08:54 -07:00
John Bender
c519f14626
moved rescue to recover
2010-08-22 00:08:54 -07:00
John Bender
0c011e80c7
action general package moved to warden cleanup
2010-08-22 00:08:54 -07:00
John Bender
c0121ac08e
box download action switched to warden rescue
2010-08-22 00:08:54 -07:00
John Bender
afd87c908a
rebased to master and fixed test
2010-08-22 00:08:54 -07:00
John Bender
3541b903d5
tests added for warden
2010-08-22 00:08:54 -07:00
John Bender
36f0eb8feb
rescue upgraded to handle return values or calls with env errors. added error and exit call/interupt handling
2010-08-22 00:08:54 -07:00
John Bender
4e732631d8
tests for begin rescue
2010-08-22 00:08:54 -07:00
John Bender
b251d9b954
begin rescue added
2010-08-22 00:08:54 -07:00
John Bender
114511742e
tests added for basic warden call forwarding
2010-08-22 00:08:54 -07:00
John Bender
2c1da9566c
first pass at the action warden, currently just reproducing basic rack functionality
2010-08-22 00:08:54 -07:00
John Bender
f8731c9a8c
fixed failing template render test
2010-08-21 23:59:41 -07:00
Mitchell Hashimoto
cf32abb210
`vagrant up` can be used the same as `vagrant resume` [closes GH-134]
2010-08-03 19:43:39 -07:00
Mitchell Hashimoto
1cbc931a6d
Run chef provisioners with "-E" flag on sudo so PATH is preserved on CentOS [closes GH-133]
2010-08-03 09:14:35 -07:00
Mitchell Hashimoto
22a9e3fe3d
Fix regression with `package` not working. [closes GH-132]
2010-08-02 19:44:15 -07:00
Mitchell Hashimoto
1ebfc49db4
Fix failing tests due to init change
2010-08-02 19:40:41 -07:00
Mitchell Hashimoto
b6719d00d9
Enable ability to supress newlines in ERB for templates using -%>
2010-08-01 17:26:37 -07:00
Mitchell Hashimoto
992bd13b19
Cleaned up the `vagrant init` command, updated CHANGELOG
2010-08-01 17:18:17 -07:00
Vitor Pellegrino
e4deaec4d2
Added the option to specify a box_url when initting a new Vagrant project
2010-07-31 17:37:57 -07:00
Mitchell Hashimoto
0052f2515c
Change default `config.chef.cookbooks_path` to handle typical default behavior for remote cookbooks
2010-07-31 10:53:57 -07:00
Mitchell Hashimoto
e63cd71673
Specify remote cookbook paths which exist only the VM in cookbook_paths config. [closes GH-130]
2010-07-31 10:46:22 -07:00
Mitchell Hashimoto
fea5ed67c5
Fixed error with doing a `vagrant up` when no Vagrantfile was present
2010-07-30 18:01:12 -07:00
Mitchell Hashimoto
96ea715e30
Fixed `vagrant resume` to properly resume a suspend VM [closes GH-122]
2010-07-29 20:26:02 -07:00
Mitchell Hashimoto
8ea6d2bc40
Properly discard VM state if saved on various commands such as destroy [closes GH-123]
2010-07-29 20:15:38 -07:00
Mitchell Hashimoto
d17765c3dd
`config.chef.recipe_url` to download cookbooks via chef solo [closes GH-121]
2010-07-28 21:35:00 -07:00
Mitchell Hashimoto
fcf1116f27
`vagrant box repackage` can now take the typical `--output` and `--include` parameters
2010-07-28 20:30:16 -07:00
Mitchell Hashimoto
836b539399
Fix tests to run on Ruby 1.9.2
2010-07-28 20:18:43 -07:00
Mitchell Hashimoto
e7ad0ab105
Some copy change for packaging to make it more generic
2010-07-28 07:40:21 -07:00
Mitchell Hashimoto
b179ee6c76
Add action for box repackaging [closes GH-120]
2010-07-28 07:35:58 -07:00
Mitchell Hashimoto
01203c117c
VM::Package middleware which will properly setup env data for General::Package
2010-07-28 07:24:57 -07:00
Mitchell Hashimoto
523cb1042a
Moved the packaging action out to the General namespace, since it is now generalized
2010-07-27 23:54:24 -07:00
Mitchell Hashimoto
9895f93e1d
Separate vagrantfile creation in packaging and actual packaging
2010-07-27 23:22:10 -07:00
Mitchell Hashimoto
d9331c9406
Raise a useful exception when an invalid callable is ran
2010-07-27 19:35:57 -07:00
Mitchell Hashimoto
1cbc60de1c
Remove `config.package.extension` option. Use `config.package.name` instead.
2010-07-24 09:24:43 -07:00
Mitchell Hashimoto
eed81d64f0
No need to catch action exception on downloaders. Converted to using proper environment errors.
2010-07-24 09:18:10 -07:00
Mitchell Hashimoto
dcd9c2a788
Give proper error message if bad URL given for HTTP box adding
2010-07-24 09:07:37 -07:00
Mitchell Hashimoto
555b5af2a8
Remove Environment#require_box since it is no longer used
2010-07-23 22:37:38 -07:00
Mitchell Hashimoto
f472dbde44
Download the box specified by the URL if it doesn't yet exist [closes GH-113]
...
Thanks a lot to Vitor Pellegrino for much of the work on this.
2010-07-23 22:23:13 -07:00
Mitchell Hashimoto
4ec6196b3b
Add CheckBox to up command and make the typical require_box checks
2010-07-23 22:06:17 -07:00
Vitor Pellegrino
23296093b1
Checking if a box already exists at the checking middleware
2010-07-23 21:44:13 -07:00
Vitor Pellegrino
aa32d594ca
Adding box_url as a possible option at vagrantfile
2010-07-23 21:41:35 -07:00
Mitchell Hashimoto
9a81a1f49a
Export doesn't continue chain if error occured
2010-07-22 09:02:28 -07:00
Mitchell Hashimoto
940693287d
Export returns immediately if an error is there prior to the export [closes GH-117]
2010-07-22 09:00:23 -07:00
Mitchell Hashimoto
c1d454dbee
Speed up tests by adding "vagrant.test" middleware env to avoid sleeps.
2010-07-21 21:42:14 -07:00
Mitchell Hashimoto
d09ebe1021
Can now ctrl-C during SSH attempts [closes GH-115]
2010-07-21 21:38:01 -07:00
Mitchell Hashimoto
4e8b6f32b4
Disable host only networks on halt [closes GH-116]
2010-07-21 21:17:34 -07:00
Mitchell Hashimoto
f2242662f8
Don't return when finding disabled shared folder, continue to include others
2010-07-21 15:50:27 -07:00
Mitchell Hashimoto
c875e4345a
Expand the NFS shared folder path relative to root path during the extraction.
2010-07-20 13:18:00 -07:00
Mitchell Hashimoto
061bdad68a
Move ResourceLogger to the Util namespace since thats more of what it is
2010-07-19 21:50:47 -07:00
Mitchell Hashimoto
8e82fb2691
Fix tests so they run on Ruby 1.9.2
2010-07-19 20:32:07 -07:00
Mitchell Hashimoto
bba97a28c7
Run the destroy sequence instead of the specific action for handling SIGINT in import
2010-07-18 08:54:24 -07:00
Mitchell Hashimoto
cb730c3410
If SIGINT is called during a sequence with an import, VM is properly destroyed
2010-07-18 08:39:31 -07:00
Mitchell Hashimoto
769431ce7c
Boot verifies not erroneous environment before booting
2010-07-18 08:24:47 -07:00
Mitchell Hashimoto
1e29532255
Action environment injected with `interrupt` exception if SIGINT occurs during action chain.
2010-07-18 08:20:11 -07:00
Mitchell Hashimoto
f1ad7234b9
The new Vagrant::Util::Busy.
2010-07-18 08:10:40 -07:00
Mitchell Hashimoto
bbd0f0e8cb
Remove Vagrant::Busy class. It will be making a comeback soon in a newly invented form.
2010-07-18 01:59:01 -07:00
Mitchell Hashimoto
8168ca3e86
Package action cleans up in the event of some environmental error
2010-07-18 01:13:50 -07:00
Mitchell Hashimoto
67b23be473
Linux NFS support (host)
2010-07-17 09:35:43 -07:00
Mitchell Hashimoto
aee49a61ab
Add Config::Top#deep_clone method to deep clone Vagrant configuration.
2010-07-17 00:02:13 -07:00
Mitchell Hashimoto
302bc348d3
Retry the BSD#nfs? call at least 10 times if a weird TypeError is raised
2010-07-16 22:00:49 -07:00
Mitchell Hashimoto
46c462d322
NFS options to configure mapall UID/GID. Vagrant can also detect this automatically (default)
2010-07-15 23:02:31 -07:00
Mitchell Hashimoto
245ada2441
Shared folders marked with `:disabled` flag will be ignored.
2010-07-14 22:53:24 -07:00
Mitchell Hashimoto
a5643d3239
Error if a forwarded port is below 1024 [closes GH-97]
2010-07-14 21:27:00 -07:00
Mitchell Hashimoto
7de7982214
CleanMachineFolder won't run if the folder is < 10 characters. Small safeguard againt unwanted rm-rfs.
2010-07-14 21:03:58 -07:00
Mitchell Hashimoto
3c1aac7ff5
CleanMachineFolder middleware to clean empty machine folders [closes GH-98]
2010-07-14 20:58:37 -07:00
Mitchell Hashimoto
8dc839e0c7
Clear NFS exports if an error occured in the environment in NFS
2010-07-13 22:58:45 -07:00
Mitchell Hashimoto
4472ce1879
NFS cleanup methods on destroy
2010-07-13 22:40:44 -07:00
Mitchell Hashimoto
dc5a1be320
NFS cleanup on BSD host
2010-07-13 22:30:54 -07:00
Mitchell Hashimoto
549fad0b91
Move output helpers into the actual util class, gets rid of method missing on environment
2010-07-13 21:35:47 -07:00
Mitchell Hashimoto
3d13a071c6
Allow setting environment on builder
2010-07-13 21:31:06 -07:00
Mitchell Hashimoto
892a624756
Action environment hash has indifferent access
2010-07-13 20:57:14 -07:00
Mitchell Hashimoto
a0fa3755b5
Halt on destroy will not attempt graceful [closes GH-110]
2010-07-13 20:35:47 -07:00
Mitchell Hashimoto
7e9b75f939
Rescue TypeError when checking for NFS and return false [closes GH-109]
2010-07-13 20:30:24 -07:00
Mitchell Hashimoto
1bfb99d606
Only verify NFS settings if NFS shared folders exist
2010-07-13 20:25:20 -07:00
Brian Donovan
604b978cab
Fix an incorrect mock/implementation pair.
2010-07-13 09:06:57 -07:00
Mitchell Hashimoto
e158a01d69
BSD host properly tests for `nfsd` binary
2010-07-12 22:41:41 -07:00
Mitchell Hashimoto
ba78ea86c1
Restart NFSd after exporting
2010-07-12 22:37:24 -07:00
Mitchell Hashimoto
9f4950375e
Host NFS export
2010-07-12 22:10:17 -07:00
Mitchell Hashimoto
de38af8111
Pass guest IP along to the Host#nfs_export function
2010-07-12 21:43:31 -07:00
Mitchell Hashimoto
6887f08bf7
Get host IP on NFS middleware and call proper system methods
2010-07-11 21:33:49 -07:00
Mitchell Hashimoto
30e8b3b8ce
NFS middleware interface complete. Implemention on host not yet done.
2010-07-11 10:58:17 -07:00
Mitchell Hashimoto
7430cf54ff
Futher work to the NFS middleware
2010-07-11 10:00:13 -07:00
Mitchell Hashimoto
1e92f0d58f
Started on NFS middleware
2010-07-11 09:44:18 -07:00
Mitchell Hashimoto
e2badeb9e1
Concepts of "Hosts" introduced, preparing for host-specific behavior.
2010-07-10 22:07:10 -07:00
Mitchell Hashimoto
409be1146f
Clear forwarded ports middleware
2010-07-09 10:14:26 -07:00
Mitchell Hashimoto
8bd64de61d
Properly cleanup exported box
2010-07-08 23:28:40 -07:00
Mitchell Hashimoto
0ebdf88144
ClearSharedFolders middleware
2010-07-08 23:09:42 -07:00
Mitchell Hashimoto
c82308f8da
`config.ssh.forward_agent` option added [closes GH-105]
2010-07-08 22:38:14 -07:00
Mitchell Hashimoto
8f0d6c8304
Merge branch 'middleware'
2010-07-08 22:05:09 -07:00
Mitchell Hashimoto
a0a6230455
Catch exceptions on download
2010-07-08 21:52:56 -07:00
Mitchell Hashimoto
f558304b50
Goodbye, Actions
2010-07-08 21:35:31 -07:00
Mitchell Hashimoto
13a46ac1bd
ActionException on Vagrant::Action
2010-07-08 21:30:36 -07:00
Mitchell Hashimoto
ff7e9dc2ae
Get rid of ActionException usage in provisioners
2010-07-08 20:48:01 -07:00
Mitchell Hashimoto
b2c2c76b55
Provisioner now uses the action environment
2010-07-08 20:33:47 -07:00
Mitchell Hashimoto
5d2e3d9f6f
Box destroying middleware
2010-07-08 08:32:41 -07:00
Mitchell Hashimoto
842ddd75b4
Box verification
2010-07-08 07:55:27 -07:00
Dylan Egan
f5756cdfc5
Allow the node_name to be set for the ChefSolo Provisioner.
2010-07-07 23:26:08 -07:00
Mitchell Hashimoto
50af3987fc
VM is no longer an action runner
2010-07-07 23:23:59 -07:00
Mitchell Hashimoto
6e93406069
Box downloading uses box environment key
2010-07-07 23:23:19 -07:00
Mitchell Hashimoto
f6a53ddff0
Box adding middleware, box add uses it now
2010-07-07 23:16:56 -07:00
Mitchell Hashimoto
d84225de66
Box downloading middleware
2010-07-07 22:21:37 -07:00
Mitchell Hashimoto
e9bcd3fc16
Action.run can be called with a class
2010-07-07 21:03:28 -07:00
Mitchell Hashimoto
086ca5a97e
Builder#use returns self, for chaining
2010-07-07 21:00:54 -07:00
Mitchell Hashimoto
f45989d1d5
Power off during the package sequence if not already.
2010-07-07 20:58:20 -07:00
Mitchell Hashimoto
b96acce79f
Packaging middleware and modifying VM#package to use it
2010-07-07 20:47:53 -07:00
Mitchell Hashimoto
667cd56139
Export middleware
2010-07-07 20:17:32 -07:00
Mitchell Hashimoto
072e71df8a
Customize uses the proper VM object
2010-07-07 09:15:30 -07:00
Mitchell Hashimoto
6d4a23b6b8
Resume uses the raw start action
2010-07-06 21:42:02 -07:00
Mitchell Hashimoto
a11fb717b0
Resume middleware
2010-07-06 21:27:20 -07:00
Mitchell Hashimoto
3ed9222ea5
Suspend middleware
2010-07-06 21:22:55 -07:00
Mitchell Hashimoto
d313a106a3
Provision registered actions
2010-07-06 21:12:51 -07:00
Mitchell Hashimoto
68f1e6c7e1
Make mergeable default behaviour and make flatten the explicit behavior
2010-07-06 20:50:35 -07:00
Mitchell Hashimoto
642db533ee
Start, reload, halt now use middleware stacks
2010-07-06 20:35:31 -07:00
Mitchell Hashimoto
88587c3322
Easy retrieval of actions.
2010-07-06 20:16:01 -07:00
Mitchell Hashimoto
3c943834ea
Builder can now use other builders or merge other builders
2010-07-06 20:08:36 -07:00
Mitchell Hashimoto
29458061df
Added insert, swap, and delete helpers to Vagrant::Action::Builder
2010-07-05 20:09:39 +02:00
Mitchell Hashimoto
da27f248e7
VM#destroy and VM#up now use the new middleware stack
2010-07-05 19:44:47 +02:00
Mitchell Hashimoto
cfc87d4ce3
Halt checks if VM is running. No more error messages
2010-07-05 19:41:31 +02:00
Mitchell Hashimoto
77cca19b7e
Destroy middleware
2010-07-05 19:17:48 +02:00
Mitchell Hashimoto
a14850c564
Halt middleware
2010-07-05 18:11:28 +02:00
Mitchell Hashimoto
d986fdf041
Provisioning
2010-07-05 17:36:34 +02:00
Mitchell Hashimoto
f258746384
Middleware to destroy unused network interfaces
2010-07-05 17:18:16 +02:00
Mitchell Hashimoto
7d6c0db4ae
Networking middleware
2010-07-05 04:33:34 +02:00
Mitchell Hashimoto
f205a747c9
CheckGuestAdditions middleware
2010-07-05 03:53:19 +02:00
Mitchell Hashimoto
de772a01ce
MAC address matching middleware
2010-07-05 03:38:42 +02:00
Mitchell Hashimoto
3e51a07a80
Persisting the dotfile middleware
2010-07-05 03:30:33 +02:00
Mitchell Hashimoto
c365a7ffac
Environment has defaults for values. Import properly sets VM
2010-07-05 03:17:09 +02:00
Mitchell Hashimoto
d4de0d7357
Options can now be passed into running actions
2010-07-05 02:46:11 +02:00
Mitchell Hashimoto
d97c972a7f
Boot action
2010-07-05 02:44:30 +02:00
Mitchell Hashimoto
ae750288ed
Only mount and do unison setup in the absense of error environments
2010-07-05 02:33:44 +02:00
Mitchell Hashimoto
73a3723608
Shared folder task
2010-07-05 02:31:30 +02:00
Mitchell Hashimoto
05a01f5953
Added ErrorHalt middleware which is prepended to all builder actions
2010-07-04 18:15:41 +02:00
Mitchell Hashimoto
221bdcbf63
Forward ports action
2010-07-04 18:07:09 +02:00
Mitchell Hashimoto
12117d6349
Customize action
2010-07-04 09:18:34 +02:00
Mitchell Hashimoto
67729304a2
Import action. Erroneous environments for actions.
2010-07-04 08:52:01 +02:00
Mitchell Hashimoto
5775292408
Registered actions can be run. Builders can use other builders
2010-07-04 04:09:02 +02:00
Mitchell Hashimoto
bad5ba559f
Actions on Environment and making them runnable
2010-07-04 03:48:16 +02:00
Mitchell Hashimoto
c88adbc0f7
Builder fully tested
2010-07-03 18:51:40 +02:00
Mitchell Hashimoto
6eefc8e874
Initial foundation building of new action style
2010-07-03 17:34:15 +02:00
Mitchell Hashimoto
ae0d9935a7
Detect if any collisions with non-hostonly networks for networking. [closes GH-102]
2010-07-02 08:37:13 -07:00
Mitchell Hashimoto
0896f096e9
Ignore non-hostonly adapters for host only networking [closes GH-101]
2010-07-01 14:26:56 -07:00
Mitchell Hashimoto
e4b13ea758
`vagrant package` checks for output file existing [closes GH-100]
2010-06-29 20:57:09 -07:00
Mitchell Hashimoto
3006fa35c3
Remove the `.unison` folder to avoid "folder is empty" error
2010-06-22 23:54:05 -07:00
Mitchell Hashimoto
03262b0a04
Remove sync TO folder for unison prior to setting up cron
2010-06-22 23:42:45 -07:00
Mitchell Hashimoto
97f82d7140
Better, more unified logging for unison
2010-06-22 23:33:20 -07:00
Mitchell Hashimoto
e8fd57fbbb
Fixes to unison. Now tested and working.
2010-06-20 14:14:11 -07:00
Mitchell Hashimoto
e751d3e21a
Fix environment tests for new VB 3.2 min. requirement
2010-06-20 02:29:15 -07:00
Mitchell Hashimoto
b97c257904
`setup_unison` implemented on shared folder action
2010-06-20 02:24:07 -07:00
Mitchell Hashimoto
c7bbfcc5a1
`create_unison` method implemented on the system
2010-06-20 02:16:32 -07:00
Mitchell Hashimoto
67ab68df89
System `prepare_unison` method + tests
2010-06-20 02:07:32 -07:00
Mitchell Hashimoto
388662c62a
All shared folder tests passing. still failing tests in other areas to be worked on.
2010-06-19 11:48:13 -07:00
Mitchell Hashimoto
4c1ac8d2c1
More SF tests passing...
2010-06-19 11:44:13 -07:00
Mitchell Hashimoto
b0879dea6a
Rethinking Unison foundation. Tearing things out.
2010-06-19 11:34:37 -07:00
Mitchell Hashimoto
9e931dd350
VirtualBox minimum version bumped to 3.2
2010-06-17 23:08:38 -07:00
Mitchell Hashimoto
e6760d8f5b
s/nat engine/nat driver/
2010-06-17 22:38:25 -07:00
Mitchell Hashimoto
d257703496
SSH gets port from proper place in 3.2.x
2010-06-17 22:31:01 -07:00
Mitchell Hashimoto
26b837f427
Vagrant uses correct NATForwarded port for 3.2.x
2010-06-17 22:17:58 -07:00
Mitchell Hashimoto
7691b28c53
`vagrant ssh` now takes an `--execute` (or `-e`) param for executing commands [closes GH-95]
2010-06-15 22:31:51 -07:00
Mitchell Hashimoto
3be88f44fa
Warning if guest additions version mismatches [closes GH-96]
2010-06-15 21:58:27 -07:00
Mitchell Hashimoto
b84123dcd9
Provision command checks if VM is created
2010-06-14 13:09:32 -07:00
John Bender
eec0986bc7
switched directory syncing over to unison
2010-06-05 00:39:25 -07:00
Mitchell Hashimoto
7b6523371c
No more `config.vm.project_directory`. The "v-root" shared folder is now a regular shraed folder like everything else.
2010-06-03 22:19:42 -07:00
Mitchell Hashimoto
abef4d29ce
Retry SCP upload 5 times as well
2010-06-03 20:58:04 -07:00
Mitchell Hashimoto
8dc57c6796
Retry SSH commands 5 times if an IOError occurs
2010-06-03 20:55:46 -07:00
Mitchell Hashimoto
b13de6a497
If no shared folders existed, don't worry about clearing them
2010-06-03 20:35:12 -07:00
Mitchell Hashimoto
97facb08fd
Do not reload VM and everything if no forwarded ports were destroyed
2010-06-03 20:34:02 -07:00
Mitchell Hashimoto
b00442026f
Don't run VM customizations if none were specified
2010-06-03 20:32:09 -07:00
Mitchell Hashimoto
50262cfb66
Destroy unused network interfaces on VM destroy
2010-06-03 19:59:39 -07:00
Mitchell Hashimoto
7a093340bf
VM definition blocks are now stackable. [closes GH-94]
2010-06-03 19:20:15 -07:00
Mitchell Hashimoto
4e806ae325
A VM can now have a host only network on multiple adapters
2010-06-03 11:50:29 -07:00
Mitchell Hashimoto
73e9debefb
Dynamically insert entry into /etc/network/interfaces file for Ubuntu
2010-06-03 11:09:31 -07:00
Mitchell Hashimoto
d16efa1a34
Join a specific host only network if name is specified.
2010-06-03 00:17:04 -07:00
Mitchell Hashimoto
77f7b09a26
Host only networks. Doesn't yet set them up within the OS but creates them on the guest.
2010-06-02 23:52:15 -07:00
Mitchell Hashimoto
b63c74fad9
Forwarded ports action reloads the model after clearing
2010-05-30 18:09:36 -07:00
Mitchell Hashimoto
6fc2f4661a
1 second sleep after the halt on `down` to allow VirtualBox to clean itself up
2010-05-30 17:56:20 -07:00
Mitchell Hashimoto
d7af9882f4
Allow SSH commands to ignore exit status
2010-05-29 23:33:37 -07:00
Mitchell Hashimoto
eb30074eea
Oops, File.rm => File.delete
2010-05-29 13:21:57 -07:00
Mitchell Hashimoto
46e9250f09
Remove the dotfile (.vagrant) if no more active VMs exist
2010-05-29 12:15:55 -07:00
Mitchell Hashimoto
503a9acf89
Verify chef binaries exist prior to running chef provisioning [closes GH-89]
2010-05-29 11:33:01 -07:00
Mitchell Hashimoto
4c8713ecd4
SSH exec! can now be given options which are used for bad exit status error messages
2010-05-29 11:18:27 -07:00
Mitchell Hashimoto
ad96f0090a
Properly download boxes from HTTPS sources. [closes GH-84]
2010-05-29 10:54:27 -07:00
Mitchell Hashimoto
2af2a81eb8
Chef runs (solo and client) check exit status and error if anything occurs.
2010-05-28 23:18:32 -07:00
Mitchell Hashimoto
f30cdf3eea
New wrapper SSH session class to emit exit status as well. Will be used in the future to raise exceptions for bad exit status. For now, works as a drop-in replacement.
2010-05-28 14:19:35 -07:00
Mitchell Hashimoto
5f57766365
Primary VM is SSH by default on call to `vagrant ssh`
2010-05-27 23:06:57 -07:00
Mitchell Hashimoto
687b925d2e
Concept of a 'primary' VM in a multi-VM environment added. This VM will be the default for actions in a multi-VM environment.
2010-05-27 22:54:11 -07:00
Mitchell Hashimoto
0e4ae3530a
`vagrant ssh` now queries for the ssh forwarded port, rather than relying on config
2010-05-27 18:18:25 -07:00
Mitchell Hashimoto
cc0a1930d8
When handling collisions, the fixer won't set the port to something which is used by that VM later
2010-05-27 17:41:32 -07:00
Mitchell Hashimoto
61bcc761bc
Error message is given if there are no auto ports available.
2010-05-27 17:37:48 -07:00
Mitchell Hashimoto
7fa0303925
Automatic 'external' port collision correction. If a forwarded port collides with any created VM and is marked to be fixed automatically, then vagrant will choose a new port automatically.
2010-05-27 17:31:36 -07:00
Mitchell Hashimoto
b174645fb7
Change `instance` option to forwarding ports to `adapter` and make thoes options a hash at the end.
2010-05-27 12:34:08 -07:00
Mitchell Hashimoto
6f287aa17a
Fix some small issues with up, down, and halt with the latest refactor.
2010-05-26 21:13:56 -07:00
Mitchell Hashimoto
455a44cc5d
Add `--no-provision` flag to `vagrant up`. Refactor the way action options work a bit. [closes GH-87]
2010-05-26 20:58:27 -07:00
Robert O'Brien
77bcd9919d
Enable port forwarding to be directed at a specific adapter (NIC), prevented entirely making standard use of TCP/IP and ensuring that port forwarding is only attempted when the NIC is using the VirtualBox NAT.
2010-05-25 19:15:05 -07:00
Mitchell Hashimoto
cce82305ee
When util is included, extend the class as well [closes GH-83]
2010-05-25 13:19:38 -07:00
Mitchell Hashimoto
a5648abe92
Do not worry about key permissions on windows [closes GH-79]
2010-05-24 01:10:27 -07:00
John Bender
74aefa5c3d
corrected bit mask for package output on windows
2010-05-22 22:46:42 -07:00
Mitchell Hashimoto
b949861186
Changed semantics of 'up.' 'up' will now only provision when the VM is being created from scratch. Otherwise, it simply starts the VM. [closes GH-78]
2010-05-22 18:55:00 -07:00
Mitchell Hashimoto
d76e9ba26a
Tests no longer clear a line
2010-05-22 18:47:08 -07:00
Mitchell Hashimoto
dcbf70b91d
Clean up some tests on the provision command
2010-05-22 00:54:43 -07:00
Andrew Clay Shafer
c863457157
Added provision command
...
Will rerun provisioner on running vms
2010-05-22 00:52:30 -07:00
Mitchell Hashimoto
12b8ab4516
Refactor the "all or single" behavior of many commands into the base.
2010-05-21 23:38:44 -07:00
Mitchell Hashimoto
a5cb80f396
Removed old progress meter module from util
2010-05-20 22:54:48 -07:00
Mitchell Hashimoto
b2c2d2a4cc
Downloader progress reporter now uses the environment logger
2010-05-20 22:37:39 -07:00
Mitchell Hashimoto
6e7af31616
Resource logger now has a thread-safe progress meter built-in
2010-05-20 22:28:28 -07:00
Mitchell Hashimoto
3cef90cfb9
Remove util.rb and that logger
2010-05-20 20:54:34 -07:00
Mitchell Hashimoto
6e757e7ab7
Remove logger from the VM and put it on the environment
2010-05-20 20:35:15 -07:00
Mitchell Hashimoto
4a20bfe7fc
Plain logger should emit a newline
2010-05-20 16:47:25 -07:00
Mitchell Hashimoto
91ae6178df
Runner loggers now use their @runner.logger instead of "global" logger
2010-05-20 16:46:23 -07:00
Mitchell Hashimoto
470c8de099
Environment uses new logger
2010-05-20 16:36:17 -07:00
Mitchell Hashimoto
398e254c39
Moved error_and_exit and wrap_output to their own mixins
2010-05-20 16:09:00 -07:00
Mitchell Hashimoto
a1794dca80
VMs have their own loggers
2010-05-20 15:49:27 -07:00
Mitchell Hashimoto
fa9bdad175
Added the ResourceLogger, which will handle logging in the near future
2010-05-20 13:05:01 -07:00
Mitchell Hashimoto
e6f628b98b
Check key permissions on SSH execute (must be 0600)
2010-05-20 01:01:17 -07:00
John Bender
af07bd0d3b
renamed crontab entry template, switched to proper ssh
2010-05-19 00:19:32 -07:00
John Bender
007ecc5f1c
system testing
2010-05-18 23:50:53 -07:00
John Bender
ce6d95c131
rsync mostly complete, few tests left
2010-05-18 23:50:04 -07:00
John Bender
7ac7af15d3
rsync for shared folders added
2010-05-18 23:45:07 -07:00
Mitchell Hashimoto
6397ac579c
Fixed "busticated" provisioning due to internal changes from multivm [closes GH-65]
2010-05-18 19:23:08 -07:00
Mitchell Hashimoto
5251d89241
Fix packaging. Broke due to internal changes from multivm. [closes GH-64]
2010-05-18 19:08:26 -07:00
Mitchell Hashimoto
4d077a1ca2
Fixed issue with two tests being named the same (got rid of warning)
2010-05-17 17:12:08 -07:00
Mitchell Hashimoto
19be5f141e
`vagrant package` works with multi-VM environments
2010-05-17 14:12:11 -07:00
Mitchell Hashimoto
f30645a967
`vagrant ssh-config` is now multi-vm friendly
2010-05-17 10:52:07 -07:00
Mitchell Hashimoto
586a56b5b5
`vagrant reload` works with multi-vm
2010-05-17 10:41:19 -07:00
Mitchell Hashimoto
38d485c29b
`vagrant resume` with multiple VMs
2010-05-17 10:36:34 -07:00
Mitchell Hashimoto
228327c0ca
`vagrant suspend` works with multi-vms
2010-05-17 01:45:57 -07:00
Mitchell Hashimoto
fd12018114
`vagrant ssh` works with multi-VM
2010-05-17 01:07:42 -07:00
Mitchell Hashimoto
81e1e8932a
Can now specify which VMs to up with `vagrant up` or will up all by default
2010-05-16 18:34:35 -07:00
Mitchell Hashimoto
3b4d2ab795
`vagrant halt` updated to work with multi-VM
2010-05-16 18:22:28 -07:00
Mitchell Hashimoto
5be932bf6c
Destroying properly updates the dotfile
2010-05-16 18:01:53 -07:00
Mitchell Hashimoto
07e1fb7238
`vagrant status` updated to work with multi-VM
2010-05-16 17:59:18 -07:00
Mitchell Hashimoto
709c50e7b6
`vagrant status` updated to work with multi-VM. Global status not yet functional.
2010-05-16 17:40:40 -07:00
Mitchell Hashimoto
0314e6ef6c
Persist/depersist VM methods replaced with dotfile updates. Active list information disabled for now.
2010-05-16 16:53:56 -07:00
Mitchell Hashimoto
a56f4a43dd
Up command will up multiple VMs (persisting doesn't work yet)
2010-05-15 01:51:45 -07:00
Mitchell Hashimoto
33bfe75cbd
Environment loads blank VMs for non-created VMs.
2010-05-15 01:34:31 -07:00
Mitchell Hashimoto
c8e36274d6
Get rid of Environment#create_vm. VMs instances are now always available
2010-05-08 20:31:12 -07:00
Mitchell Hashimoto
14bb07e08f
Fix tests to not clear line
2010-05-08 20:28:42 -07:00
Mitchell Hashimoto
124a9ab19d
Environment properly loads VMs
2010-05-08 15:34:43 -07:00
Mitchell Hashimoto
b313d34d5b
Environment config loading loads the subconfig if specified. VMs now create a new env for themselves.
2010-05-08 14:57:31 -07:00
Mitchell Hashimoto
af383e222a
Get rid of more references to Vagrant.config. Only one remains.
2010-05-07 22:57:25 -07:00
Mitchell Hashimoto
b1b4ae2077
Remove SSH object from environment
2010-05-07 21:45:40 -07:00
Mitchell Hashimoto
2e547bda26
SSH object is now on the VM, rather than the environment
2010-05-07 21:40:32 -07:00
Mitchell Hashimoto
7419563b80
Added `config.vm.define` which will be used for multi-VMs
2010-05-07 21:19:11 -07:00
Mitchell Hashimoto
d7e0172e2d
`vagrant destroy` always forces the shutdown (does not attempt graceful)
2010-05-06 20:50:32 -07:00
Mitchell Hashimoto
4d042da99b
If JSON parsing fails on reading the active list, just set it to an empty hash
2010-05-06 11:02:53 -07:00
Mitchell Hashimoto
af1b098b9d
`vagrant status --global` flag to view global status
2010-05-01 00:24:39 -07:00
Mitchell Hashimoto
13c05de702
Rename errors.yml to strings.yml and Error to Translator, since I plan on using it for general strings
2010-04-30 23:42:11 -07:00
Mitchell Hashimoto
422951f0eb
ActiveList now contains meaningful information about the running VMs
2010-04-30 23:34:22 -07:00
Mitchell Hashimoto
661af82e63
Refactor up/start actions.
2010-04-29 00:38:39 -07:00
Mitchell Hashimoto
fee901a899
Remove remaining Vagrant.config references. There a still a couple left...
2010-04-25 17:17:18 -07:00
Mitchell Hashimoto
c28195ed26
Add '--help' to any command to immediately get help for that command.
2010-04-25 16:58:35 -07:00
Mitchell Hashimoto
bbb1b70e1d
Forceful halting with `vagrant halt --force` (or -f for short)
2010-04-25 16:42:12 -07:00
Mitchell Hashimoto
23857242f2
Linux system configurable via `config.linux`
2010-04-25 16:33:33 -07:00
Mitchell Hashimoto
d5866a1b54
`vagrant halt` now attempts to gracefully shut down the machine (via System#halt)
2010-04-25 16:27:03 -07:00
Mitchell Hashimoto
0736f8582d
Shared folder action uses new system abstraction
2010-04-25 02:08:59 -07:00
Mitchell Hashimoto
95938c652d
New abstraction: Systems. Updated config and environment to properly load configured system.
...
This allows the OS-specific tasks to be pulled out into separate classes, so that other systems could potentially be supported. For now, a "Linux" system has been created.
2010-04-25 01:46:51 -07:00
Mitchell Hashimoto
ffded418f7
Remove `vagrant down` test files
2010-04-25 00:51:30 -07:00
Mitchell Hashimoto
037263da98
Finally get rid of sleeps in test
2010-04-24 03:27:36 -07:00
Mitchell Hashimoto
4394882a7b
Busy task no longer runs in a separate thread.
2010-04-24 03:26:44 -07:00
Mitchell Hashimoto
28eb56b9f8
Error if OSE version is detected
2010-04-19 17:06:27 -07:00
Mitchell Hashimoto
376cd2f24d
Box verification actually raises error to undo box adding
2010-04-19 15:45:52 -07:00
Mitchell Hashimoto
3e36b4ce12
Box verification uses the runner rather than the env
2010-04-19 14:21:21 -07:00
Mitchell Hashimoto
d9308f86ec
Boxes now properly use scoped Environment
2010-04-19 14:15:52 -07:00
Mitchell Hashimoto
5b307a5d9b
Added boxes are now verified
2010-04-19 14:14:44 -07:00
Mitchell Hashimoto
c64dc43c84
Fix progress meter output for Windows
2010-04-15 17:53:54 -07:00
Mitchell Hashimoto
d845e73138
Fork-and-wait SSH on Mac OS X 10.5 [closes GH-51]
2010-04-15 02:36:46 -07:00
Mitchell Hashimoto
b1d3cd3d14
SIGINT twice and vagrant will immediately exit, even if busy
2010-04-14 22:30:46 -07:00
Mitchell Hashimoto
575a9f1021
Readded `vagrant down` but as an error message to assist users in migrating to `vagrant destroy`
2010-04-13 23:24:36 -07:00
Mitchell Hashimoto
1a4f934465
Remove old commands files
2010-04-13 17:25:43 -07:00
Mitchell Hashimoto
797112cf84
box remove subcommand
2010-04-13 17:18:59 -07:00
Mitchell Hashimoto
f097ee3111
box list subcommand
2010-04-13 17:16:21 -07:00
Mitchell Hashimoto
e5374b912e
Box add testing
2010-04-13 17:10:49 -07:00
Mitchell Hashimoto
c744f7afde
vagrant box add
2010-04-13 17:08:36 -07:00
Mitchell Hashimoto
3107fa763f
Status command
2010-04-13 17:02:43 -07:00
Mitchell Hashimoto
b3277e015f
Package subcommand
2010-04-13 16:46:51 -07:00
Mitchell Hashimoto
b72e3640e8
Resume subcommand
2010-04-13 16:37:32 -07:00
Mitchell Hashimoto
5efa7bded5
Suspend subcommand
2010-04-13 16:36:08 -07:00
Mitchell Hashimoto
28a2fd5466
Halt command
2010-04-13 16:34:29 -07:00
Mitchell Hashimoto
fa3ca57c9f
ssh-config subcommand
2010-04-13 16:31:08 -07:00
Mitchell Hashimoto
4674b1983e
SSH subcommand
2010-04-13 16:24:39 -07:00
Mitchell Hashimoto
453f4774e4
Reload command and some docs for other commands
2010-04-13 16:22:14 -07:00
Mitchell Hashimoto
33c3a2df45
Destroy subcommand
2010-04-13 16:19:33 -07:00
Mitchell Hashimoto
60c6ad480c
Up command
2010-04-13 16:16:59 -07:00
Mitchell Hashimoto
e6006eacfa
Init execute test
2010-04-13 15:55:56 -07:00
Mitchell Hashimoto
95592eb7f6
`vagrant --version` outputs the version
2010-04-13 15:45:38 -07:00
Mitchell Hashimoto
b4d1ee6e83
Commands specify their option parsings in the `options_spec` method. Parent takes care of the rest.
2010-04-13 15:34:26 -07:00
Mitchell Hashimoto
26c12a9a17
Init subcommand is working
2010-04-13 14:03:50 -07:00
Mitchell Hashimoto
9ce860cb40
Base tests
2010-04-13 13:54:42 -07:00
Mitchell Hashimoto
bb0d3f7f93
Base command now recursively dispatches, allowing for arbitrarily complex commands such as `vagrant a b c`
2010-04-13 13:53:27 -07:00
Mitchell Hashimoto
aec05eff0d
Commands can now be registered as subcommands (similar to how config works)
2010-04-13 13:13:55 -07:00
Mitchell Hashimoto
5c3171a8f9
Option parsing is in on the base command
2010-04-13 01:42:11 -07:00
Mitchell Hashimoto
d8387f8280
New files for the new command structure. Ignore the `vagrant-temp` binary for now.
2010-04-13 01:22:53 -07:00
Mitchell Hashimoto
46956d8caa
You can now specify the host of the ssh-config with the `--host` option.
2010-04-12 21:28:37 -07:00
Mitchell Hashimoto
8218395546
ssh-config should require root path, not a created environment
2010-04-12 21:03:13 -07:00
Mitchell Hashimoto
c630b028fc
`vagrant ssh-config` outputs .ssh/config ready entry for current environment
2010-04-12 21:00:42 -07:00
Mitchell Hashimoto
f8dee9adf9
Base boxes can now be packaged with `vagrant package` by specifying the `--base` parameter.
2010-04-12 16:29:33 -07:00
Mitchell Hashimoto
677b3b05cc
Packaging uses MAC address directly from the machine
2010-04-12 16:12:37 -07:00
Mitchell Hashimoto
40e823d90a
Shorten shared folders further [see GH-50]
2010-04-12 14:38:34 -07:00
Lincoln Stoll
1245a0c1c8
Shorten shared folder names
...
On some setups, the generated name is truncated, which causes issues
because they then look the same, and the kernel throws duplicate
filename errors. Shorten the name so this doesn't happen
2010-04-12 14:06:56 -07:00
Lincoln Stoll
ea85e1d38f
Shorten shared folder names
...
On some setups, the generated name is truncated, which causes issues
because they then look the same, and the kernel throws duplicate
filename errors. Shorten the name so this doesn't happen
2010-04-12 14:06:40 -07:00
Mitchell Hashimoto
9498226c83
Package now puts auto-generated Vagrantfile with MAC address in root.
2010-04-12 00:44:04 -07:00
Mitchell Hashimoto
ecdec218b4
Included files in package now go into the include/ directory.
2010-04-12 00:29:26 -07:00
Mitchell Hashimoto
f0fa8aa5df
Export now uses proper function and has progress bar (like import)
2010-04-12 00:05:24 -07:00
Mitchell Hashimoto
aa52d977a8
Wrapping tests in meaningful context
2010-04-11 23:42:11 -07:00
Mitchell Hashimoto
945710e068
Config JSON doesn't include 'env'
2010-04-11 23:39:22 -07:00
Mitchell Hashimoto
4d3f929b3f
Sleep for a second on `vagrant destroy` if the boot mode is GUI. Required to wait for GUI to clean itself up.
2010-04-10 17:46:42 -07:00
Mitchell Hashimoto
90d2ec5ab3
Fix tests to get passing for new `vagrant destroy` command
2010-04-10 16:45:46 -07:00
Michael Johnston
4149313e7a
allow setting mode to boot into, so can boot with gui which makes debugging networking setup easier
2010-04-10 16:45:01 -07:00
Mitchell Hashimoto
43f66c1693
Modify start to only boot for saved VMs, no sharing folders, etc.
2010-04-09 21:26:56 -07:00
Mitchell Hashimoto
4586bc554d
Give cookbooks and role shared folders unique IDs
2010-04-09 14:22:05 -07:00
Mitchell Hashimoto
a9c261090e
Remove redundancy in chef solo provisioner
2010-04-09 14:17:25 -07:00
Wade Simmons
15e4b2f411
add support for roles in Chef Solo
2010-04-09 14:01:15 -07:00
Mitchell Hashimoto
c0c3313fdd
More redundant test code removing
2010-04-08 23:32:26 -07:00
Mitchell Hashimoto
4e54cc77a2
Remove old test mocks from the pre-instanced environment days
2010-04-08 23:28:53 -07:00
Mitchell Hashimoto
008e533c98
Chef configuration is now pulled into Chef provisioner base. Log level is able to be specified.
2010-04-08 23:17:25 -07:00
Mitchell Hashimoto
965e5a12f3
Chef server client.rb uses new templates
2010-04-08 21:07:24 -07:00
Mitchell Hashimoto
47a9d85b4e
Chef solo config uses new template system
2010-04-08 20:56:48 -07:00
Mitchell Hashimoto
745aadd1a5
VM halting uses new VM#stop
2010-04-08 01:47:57 -07:00
Mitchell Hashimoto
2271a41940
Boot uses new VM#start method which only takes 1 arg
2010-04-08 01:45:19 -07:00
Mitchell Hashimoto
279704475d
SharedFolder uses the proper VM#save method
2010-04-08 01:42:48 -07:00
Mitchell Hashimoto
7a533a40c9
Forwarded ports task now calls VM#save properly
2010-04-08 01:30:28 -07:00
Mitchell Hashimoto
c4da4a6b9f
Fix vm.save on customize. no longer needs the boolean argument
2010-04-08 01:30:00 -07:00
Mitchell Hashimoto
0c5ec7a4c7
Update destroy action to use the new destroy syntax for VM
2010-04-08 01:22:51 -07:00
Mitchell Hashimoto
d44dd9a4eb
`nics` on virtualbox are now called `network_adapters`
2010-04-08 01:21:22 -07:00
Mitchell Hashimoto
068c0e67c5
Update environment to use new VirtualBox methods/attributes
2010-04-08 01:13:25 -07:00
Adrian Bravo
ed3e86d20f
Moved node_name from command option on chef-client to the generated config file.
2010-04-02 13:52:23 -07:00
Adrian Bravo
d87030a798
Added support for env.config.chef.node_name when using ChefServer.
2010-04-02 13:51:31 -07:00
Mitchell Hashimoto
de4442fc77
Modify box download test to pass properly on non-windows machines
2010-04-02 13:49:47 -07:00
John Bender
bd69c54379
file download from http fix with correct options for windows
2010-03-26 23:36:53 -07:00
John Bender
4e4d1a6978
error for vagrant ssh on windows, error text, mario gem, still need doc pages for links in error.yml
2010-03-25 00:09:31 -07:00
John Bender
527e101cab
fix for no extract results from uri check
2010-03-23 00:03:28 -07:00
John Bender
2067f000f5
fix for uri parsing issues on windows with a small refactor thrown in on the side
2010-03-22 23:49:36 -07:00
Mitchell Hashimoto
c25ff5300a
Tab => Spaces
2010-03-22 00:13:48 -07:00
Mitchell Hashimoto
bfcc0d3939
Whitespace fixes
2010-03-22 00:09:30 -07:00
John Bender
0c00201a6b
switch to File.open for downloader temp file path to prevent minitar issues on windows
2010-03-21 23:50:08 -07:00
Mitchell Hashimoto
35e9fa53d4
Vagrant::Commands moved to instance methods on the environment rather than class methods
2010-03-20 09:15:20 -07:00
Mitchell Hashimoto
881aa833e6
Run VM customizations when restarting a halted machine [closes GH-36]
2010-03-20 01:59:32 -07:00
Mitchell Hashimoto
5bbb84efa7
Chef server validation key path now expands
2010-03-20 01:25:14 -07:00
Mitchell Hashimoto
1d518e2693
Box.find sets environment of found box
2010-03-20 01:04:56 -07:00
Mitchell Hashimoto
36648e7a12
Box#directory properly passes environment to class method
2010-03-20 00:52:28 -07:00
Mitchell Hashimoto
ea25f49c63
Pass environment to box.find
2010-03-20 00:50:59 -07:00
Mitchell Hashimoto
e8e2c136d3
Finally remove Vagrant::Env
2010-03-19 23:56:36 -07:00
Mitchell Hashimoto
fee10c47fd
Provisioning redone to use new environment
2010-03-19 22:15:20 -07:00
Mitchell Hashimoto
11780fb618
Converted Box class to use new environment
2010-03-19 21:31:43 -07:00
Mitchell Hashimoto
5db99c04d4
Removing references to Vagrant::Env
2010-03-19 21:15:45 -07:00
Mitchell Hashimoto
bafd15661d
`vagrant box` uses new Environment
2010-03-19 17:17:51 -07:00
Mitchell Hashimoto
fddee1158d
`vagrant package` now uses the environment
2010-03-19 17:05:31 -07:00
Mitchell Hashimoto
0641df7563
`vagrant resume` command now uses new environment
2010-03-19 16:53:18 -07:00
Mitchell Hashimoto
c7508e91b9
`vagrant suspend` update to work with new environment
2010-03-19 16:51:59 -07:00
Mitchell Hashimoto
e68994556c
`vagrant reload` uses new Environment
2010-03-19 16:50:54 -07:00
Mitchell Hashimoto
b461e0ee8b
`vagrant halt` uses new environment
2010-03-19 16:48:36 -07:00
Mitchell Hashimoto
259a3a3836
`vagrant ssh` with new Environment
2010-03-19 16:47:38 -07:00
Mitchell Hashimoto
62de77132c
`vagrant up` process converted to new Environment
2010-03-19 16:42:48 -07:00
Mitchell Hashimoto
ae43f25cd2
Boot action converted to new Environment
2010-03-19 16:22:20 -07:00
Mitchell Hashimoto
d384408782
SharedFolder action converted to new Environment
2010-03-19 16:19:27 -07:00
Mitchell Hashimoto
e1c4f91664
ForwardPort action converted to new environment
2010-03-19 16:16:03 -07:00
Mitchell Hashimoto
b5daf5ae86
`vagrant down` command and associated actions now use the new environment
2010-03-19 16:08:29 -07:00
Mitchell Hashimoto
59ae16998d
Set the environment on the loaded box
2010-03-19 15:53:24 -07:00
Mitchell Hashimoto
a2a59b532b
`vagrant ssh` will automatically fix permissions on the private key if necessary
2010-03-19 01:57:28 -07:00
Mitchell Hashimoto
260b099dba
SSH class converted to instance methods. now loads on the environment
2010-03-19 01:51:27 -07:00
Mitchell Hashimoto
689f69bd4c
Loading VMs and created VMs now point back to the environment they belong to
2010-03-19 01:31:44 -07:00
Mitchell Hashimoto
2661845b5d
Helper method to create a new VM on an environment. Interim method.
2010-03-19 01:27:40 -07:00
Mitchell Hashimoto
2fef27ec8b
Persist/depersist VM methods implemented on new Environment
2010-03-18 18:05:34 -07:00
Mitchell Hashimoto
06947002f7
The require_* methods and check_virtualbox! integrated into new Environment
2010-03-18 17:41:51 -07:00
Mitchell Hashimoto
a31bd73587
Environment.load! implemented to load a given environment in a single step
2010-03-18 15:05:46 -07:00
Mitchell Hashimoto
cb2513b1ec
Environment#load_config! loads from the box directory and home directory as well
2010-03-18 14:54:43 -07:00
Mitchell Hashimoto
047c094e41
Environment#load! implemented to set up an instance of environment
2010-03-18 14:43:17 -07:00
Mitchell Hashimoto
8c314e3e17
New Environment class can load home dir, box, and persisted VM
2010-03-18 14:27:53 -07:00
Mitchell Hashimoto
c7f32c8be8
Beginnings of Environment class. Currently loads config partially.
2010-03-18 12:38:01 -07:00
Mitchell Hashimoto
e84b17e215
Config#execute! returns the newly loaded configuration
2010-03-18 12:28:58 -07:00
Mitchell Hashimoto
a7652244d5
Move stacked proc runner to the util directory
2010-03-18 12:08:33 -07:00
Mitchell Hashimoto
586878a330
Runner uses the proper key/data to output errors
2010-03-17 21:45:20 -07:00
Mitchell Hashimoto
f59b255085
ActionExceptions all use the new error strings by key
2010-03-17 21:38:38 -07:00
Mitchell Hashimoto
18f761b015
Unit tests for each error_and_exit now that the message is testable
2010-03-17 21:15:48 -07:00
Mitchell Hashimoto
3c2e1bd80a
All errors now go through the errors.yml files
2010-03-17 21:08:26 -07:00
Mitchell Hashimoto
ac6c3a4892
Util::Errors class to parse errors from YML and render them via ERB
2010-03-17 20:42:53 -07:00
Mitchell Hashimoto
88cfaf8f27
Added class level method to render string for the TemplateRenderer
2010-03-17 19:09:17 -07:00
Mitchell Hashimoto
37de04eb9b
TemplateRenderer can now render strings
2010-03-17 18:09:24 -07:00
Mitchell Hashimoto
b1872c4e31
Moved template renderer until the Util namespace
2010-03-17 17:59:25 -07:00
Mitchell Hashimoto
4229b65a81
`vagrant init` now takes an optional parameter to specify the default box [close GH-6]
2010-03-17 17:15:12 -07:00
Mitchell Hashimoto
0614882800
Fix failing template renderer tests
2010-03-17 17:05:05 -07:00
Mitchell Hashimoto
edc1bbec8c
TemplateRenderer added in preparation for supporting ERB templates for some things...
2010-03-17 17:00:46 -07:00
Mitchell Hashimoto
723c36cb1d
Give a useful error if the VirtualBox.xml is not found [close GH-30]
2010-03-17 01:25:02 -07:00
Mitchell Hashimoto
ef5e73e950
File box downloader gives a nice error message if the file doesn't exist.
2010-03-15 19:18:00 -07:00
Mitchell Hashimoto
dcbfe709f3
VM customization through Vagrantfile (modifying RAM, name, etc.)
2010-03-15 15:41:53 -07:00
Mitchell Hashimoto
83ddfa6695
Shared folder UID/GID now defaults to the SSH username
2010-03-15 15:13:07 -07:00
Mitchell Hashimoto
0062207ab3
Configuration now uses the new StackedProcRunner module
2010-03-15 14:27:34 -07:00
Mitchell Hashimoto
130d584322
StackedProcRunner abstraction which will be used for VM customization (in addition to configuration)
2010-03-15 14:19:28 -07:00
Mitchell Hashimoto
5bdabbc8c8
Can now specify the UID/GID of the shared folders from the Vagrantfile
2010-03-15 12:33:03 -07:00
Mitchell Hashimoto
51116438a7
Port collision detection ignores if the VM is the current VM
2010-03-15 01:00:40 -07:00
Mitchell Hashimoto
de54433496
On SSH authentication failure, give a helpful error message outlining what may have gone wrong.
2010-03-15 00:50:23 -07:00
John Bender
5aeee61e83
action dependencies and unique requirement moved to actions/collection
2010-03-14 22:34:48 -07:00
Mitchell Hashimoto
f6057bf80a
Port collision detection now checks every VirtualBox VM, not just the active list
2010-03-14 17:54:30 -07:00
Mitchell Hashimoto
98d5454936
Collision check is now done in `prepare` of forward port action.
2010-03-14 17:35:58 -07:00
Mitchell Hashimoto
c08937d899
Dotfile and active list are now updated when environment is torn down
2010-03-14 16:57:29 -07:00
Mitchell Hashimoto
05c4c2f838
Env.persist_vm also persists UUID to the ActiveList
2010-03-14 16:39:52 -07:00
Mitchell Hashimoto
62d3172e57
VM now has a `uuid` method
2010-03-14 16:28:36 -07:00
Mitchell Hashimoto
575e91e70b
ActiveList supports adding/removing and saving of VM UUIDs.
2010-03-14 16:27:22 -07:00
Mitchell Hashimoto
235480fffa
Reads of Vagrant::ActiveList to track the active vagrant managed virtual environments.
2010-03-14 16:08:58 -07:00
Mitchell Hashimoto
39a8a5fd94
Vagrant.config.home now returns nil if home is nil, otherwise expands path
2010-03-13 01:53:12 -08:00
Mitchell Hashimoto
98d8c1978b
Properly reload configuration once all the basics are loaded
2010-03-13 01:47:48 -08:00
Mitchell Hashimoto
e09dbfa367
Vagrantfile in the home path is now injected into the vagrantfile load sequence
2010-03-12 21:03:49 -08:00
Mitchell Hashimoto
e9940d83df
Change VirtualBox version requirement to 3.1 until virtualbox gem supports 3.0 cleanly
2010-03-12 02:10:05 -08:00
John Bender
e35e2fbb04
expand path fix
2010-03-12 01:34:36 -08:00
John Bender
00eecf5bdd
moved to key based ssh
2010-03-12 01:19:45 -08:00
Mitchell Hashimoto
9ba0647b64
Merge in 'flexible-provisioning' which supports abstracted provisioners, chef server, additional chef solo features, and better chef configuration overall. Also includes pluggable configuration keys.
2010-03-11 22:52:37 -08:00
Mitchell Hashimoto
3a4881bf2e
Chef solo cookbooks paths can now take arrays of folders, in addition to just a single string
2010-03-11 21:59:44 -08:00
Mitchell Hashimoto
9c8db3b48a
Revert up-ramping SSH timeout. Doesn't solve issue with SSH.execute slowness on internet-less machines.
2010-03-11 19:29:41 -08:00
Mitchell Hashimoto
0ebebe14a0
Re-added the sleep
2010-03-11 19:26:39 -08:00
Mitchell Hashimoto
2c1483ae80
SSH.up? timeout slowly ramps up based on configuration values, giving later attempts more time.
2010-03-11 17:59:25 -08:00
Mitchell Hashimoto
b03af8ccc2
Removed sleeping from waiting for boot since the timeout should handle that
2010-03-11 17:40:27 -08:00
Mitchell Hashimoto
df2f76297d
Helper methods on chef config `add_recipe` and `add_role` and `run_list`
2010-03-11 01:05:57 -08:00
John Bender
751a8bfa1b
file copy fix
2010-03-11 00:02:05 -08:00
Mitchell Hashimoto
5f695d8f4d
Added file existence test for the validation key for chef server provisioning
2010-03-10 23:06:20 -08:00
Mitchell Hashimoto
9384917b81
Chef server provisioner works. Added the auto-creation of the client key config.
2010-03-10 22:42:42 -08:00
Mitchell Hashimoto
a4428cd201
Added :chef_server provisioner shortcut
2010-03-10 21:58:51 -08:00
Mitchell Hashimoto
df2e80140d
Chef server provisioner
2010-03-10 21:57:51 -08:00
Mitchell Hashimoto
df648803dd
Pull out common chef code into its own abstract provisioner
2010-03-10 19:00:49 -08:00
Mitchell Hashimoto
759d904628
Provision action must call "prepare" on the provisioner
2010-03-10 15:12:45 -08:00
Mitchell Hashimoto
86ffbe5d32
Provision class now properly figures out the provisioner and executes it
2010-03-10 14:54:12 -08:00
Mitchell Hashimoto
d81e5dc28d
Remove all "chef" configuration and moved chef solo provisioning to its own class
2010-03-10 14:27:02 -08:00
Mitchell Hashimoto
6878a3ea4d
Merge branch 'master' into flexible-provisioning for new shared folder API
2010-03-10 14:00:51 -08:00
Mitchell Hashimoto
a71815df4e
Additional shared folders can now be configured through the `config.vm.share_folder` method
2010-03-10 13:49:52 -08:00
Mitchell Hashimoto
f86bc912eb
Base provisioning class
2010-03-10 12:56:52 -08:00
Mitchell Hashimoto
6cfddb6c38
Tests to verify that the instance method exists for configs
2010-03-10 12:29:51 -08:00
Mitchell Hashimoto
19d00a8802
Config class now allows classes to dynamically register configuration keys.
2010-03-10 12:25:53 -08:00
Mitchell Hashimoto
3daf48b70c
Config class now properly uses class variables. Not sure how this one slipped through the cracks.
2010-03-10 01:07:24 -08:00
Mitchell Hashimoto
631580fc8e
Make the windows test only run on windows for now until it can pass on unix
2010-03-10 01:02:23 -08:00
John Bender
b92efdfe53
windows root path fix
2010-03-10 00:30:28 -08:00
Ewen Cheslack-Postava
1bf70fd4c4
Show helpful error if importing VM fails
2010-03-09 22:00:56 -08:00
Mitchell Hashimoto
47d46d4b12
Now checks for VirtualBox installation and proper version and gives sensible error if not detected.
2010-03-09 21:47:07 -08:00
Mitchell Hashimoto
6c5ddcdf8d
Windows root path checking. Interim solution.
2010-03-09 12:33:54 -08:00
Mitchell Hashimoto
dfe67d71de
Tests for Minitar update.
2010-03-09 11:05:33 -08:00
Mitchell Hashimoto
0c24f0e68f
Tests for the init change to not use ftools
2010-03-09 10:52:06 -08:00
Jonathan Rudenberg
145f904ed3
Fix busy test to wait for thread to start
2010-03-09 09:08:11 -08:00
John Bender
d550cc3a76
dup action exception and tests
2010-03-08 22:20:17 -08:00
Mitchell Hashimoto
f9fff05e37
Reload uses the new 'boot' action
2010-03-08 21:13:03 -08:00
Mitchell Hashimoto
d818bf856b
SSH timeout is now configurable with `config.ssh.timeout`
2010-03-08 19:30:58 -08:00
Mitchell Hashimoto
2f7de333ec
Fix issue with infinite looping on `vagrant resume`
2010-03-08 18:45:59 -08:00
Mitchell Hashimoto
db24291b3d
Fix bug where dotfile_path is a directory in the project path. Thanks brett_h
2010-03-08 13:12:58 -08:00
Mitchell Hashimoto
ce7f7dd168
Refactor Vagrant::Env a bit and requiring root path.
2010-03-08 00:34:15 -08:00
Mitchell Hashimoto
efe98df4b0
Added `vagrant box list` command to list added boxes
2010-03-07 21:34:53 -08:00
Mitchell Hashimoto
6194421972
`vagrant box` no longer requires a Vagrantfile in the current directory.
2010-03-07 12:44:00 -08:00
Mitchell Hashimoto
6fd10504e0
Box existence error checking is now in proper 'require_box'
2010-03-06 21:48:39 -08:00
Mitchell Hashimoto
49c98ad8af
Mounting a folder now waits for the mount to succeed before continuing. Fixed a race condition between SSH daemon starting and the VBox kernel extensions loading...
2010-03-05 19:16:57 -08:00
Mitchell Hashimoto
41b25e68ec
Reload action only halts the machine if its running
2010-03-05 18:03:08 -08:00
Mitchell Hashimoto
06ff3a363c
Env.load_box! gives a reasonable error if the box specified in the Vagrantfile doesn't exist now.
2010-03-05 16:58:36 -08:00
Mitchell Hashimoto
0a54ea1464
`vagrant-down` now uses reusable actions (a Down action)
2010-03-05 16:47:47 -08:00
John Bender
0cdc6b5eaa
moved hanging dotfile_name under Vagrant.config.vagrant
2010-03-04 23:50:08 -08:00
Mitchell Hashimoto
66bc5a19e2
Revamped provisioning JSON generation which includes the entire configuration tree. Plus better testing all around for JSON generation + configuration.
2010-03-04 22:14:44 -08:00
Mitchell Hashimoto
da2150da89
Resume uses the resume action now
2010-03-04 21:22:25 -08:00
Mitchell Hashimoto
0a791d1c58
Suspending moved out to an action, command takes advantage of this action now.
2010-03-04 21:13:17 -08:00
Mitchell Hashimoto
20ed284372
Unpackage now has its own rescue implementation
2010-03-04 21:02:59 -08:00
Mitchell Hashimoto
94be71e527
Nit-pick test formatting. No code changes.
2010-03-04 00:10:15 -08:00
John Bender
c952fdaa24
check if a box exists before beginning add action
2010-03-03 23:53:46 -08:00
Mitchell Hashimoto
35af1fa02b
Added rescue/cleanup methods to box downloading to cleanup temporary files
2010-03-03 23:00:04 -08:00
Mitchell Hashimoto
8e7621061f
vagrant-up and vagrant-halt no longer raise exceptions when the VM is not in the proper state.
2010-03-02 22:19:13 -08:00
Mitchell Hashimoto
c7f040f14c
vagrant-up now starts the VM if its already created, rather than giving an error.
2010-03-02 22:07:04 -08:00
Mitchell Hashimoto
c119a34f0e
Added vagrant-halt to forcibly shut down vagrant instance.
2010-03-02 21:53:16 -08:00
Mitchell Hashimoto
f5f1405a7c
HTTP downloader clears the download line once its complete so that the log output doesn't wrap
2010-02-28 22:34:07 -08:00
Mitchell Hashimoto
3d220ef5c8
HTTP downloader implemented. Boxes can now be added via HTTP!
2010-02-28 22:13:37 -08:00
Mitchell Hashimoto
9913c07ff2
Box download action now uses Vagrant "Downloaders." These are abstractions which will allow me to implement file downloading, http downloading etc. File downloading implemented here.
2010-02-28 21:42:38 -08:00
Mitchell Hashimoto
7c19419ef2
Package uses a reference to the Export action to get the temp path rather than the wonky callback. Implemented Runner#find_action for this.
2010-02-28 20:23:32 -08:00
Mitchell Hashimoto
5dd3e51788
Export action now cleans up and rescues. Package no longer cleans up temporary directory.
2010-02-28 19:56:50 -08:00
Mitchell Hashimoto
e50e264747
Actions can now implement the #cleanup method which is called after all other actions have finished executing.
2010-02-28 01:47:42 -08:00
Mitchell Hashimoto
dce3c032be
If an "ActionException" is raised from an action, the runner will error and exit rather than continuing to raise the exception.
2010-02-28 01:24:11 -08:00
Mitchell Hashimoto
37393986e3
Implemented the "rescue" method for action runners when an exception is raised. Read documentation for more information.
2010-02-28 01:06:01 -08:00
John Bender
3c546ef2c7
check for included files before packaging
2010-02-28 00:13:55 -08:00
Mitchell Hashimoto
f316e0c61c
Default include files to empty array
2010-02-28 00:03:21 -08:00
John Bender
79718eb4c3
--include added to package tests passing, but still needs manual verification
2010-02-27 22:49:43 -08:00
Mitchell Hashimoto
9e41bd9a34
Moved the root shared folder to load in the start task.
2010-02-25 23:57:50 -08:00
Mitchell Hashimoto
815b253b7e
Export test no longer actually hits the filesystem
2010-02-25 19:17:39 -08:00
Mitchell Hashimoto
f1fc07e353
Action runner clears actions after execution
2010-02-24 00:39:12 -08:00
Mitchell Hashimoto
e4548508f2
Removed some delegated methods on VM to explicitly use `vm` attribute in actions so its more runner-agnostic.
2010-02-24 00:34:54 -08:00
Mitchell Hashimoto
26f9eca141
Reworked `vagrant package` to use the new tmp directory.
2010-02-24 00:30:58 -08:00
Mitchell Hashimoto
71abd76fae
If a box contains a Vagrantfile, that is now loaded in the configuration chain between the gem config and the project config.
2010-02-23 21:50:44 -08:00
Mitchell Hashimoto
3b198e208d
Config clearing.
2010-02-23 21:39:56 -08:00
Mitchell Hashimoto
1a6f838baa
`vagrant up` (specifically Actions::VM::Import) now uses a configured box rather than a base VM. Much cleaner!
2010-02-23 00:05:41 -08:00
Mitchell Hashimoto
10e67e85f0
Removed unpackage VM action (since its part of box now)
2010-02-22 23:09:19 -08:00
Mitchell Hashimoto
5b68f3dd10
Box actions clean up the temporary file after unpackaging
2010-02-22 22:42:31 -08:00
Mitchell Hashimoto
c7e21a0c94
Moved the destroy logic out to a re-usable box action.
2010-02-22 21:32:15 -08:00
Mitchell Hashimoto
546db294ca
`vagrant box remove` functionality is in
2010-02-22 21:27:57 -08:00
Mitchell Hashimoto
f502587931
`vagrant box add` works completely
2010-02-22 18:57:19 -08:00
Mitchell Hashimoto
28b48929df
Changed box actions and commands to use the Box class instead of passed in params.
2010-02-22 18:17:43 -08:00
Mitchell Hashimoto
1856d56431
Box downloading works (Actions::Box::Download)
2010-02-22 17:34:44 -08:00
Mitchell Hashimoto
6b705cbe42
Change `vm` attribute to be `runner` on action base to reflect what it now is.
2010-02-22 16:35:22 -08:00
Mitchell Hashimoto
35762a4308
Moved VM actions into the Actions::VM namespace.
2010-02-22 16:25:47 -08:00
Mitchell Hashimoto
f60b383b75
`vagrant box` command with primitive functionality is in. Doesn't do anything productive yet.
2010-02-22 16:13:53 -08:00
Mitchell Hashimoto
47149fe9a9
Test to make sure VM is an action runner
2010-02-22 14:00:13 -08:00
Mitchell Hashimoto
2b1afa6f6f
Vagrant::Env sets up the home directory (specified in config) with proper subfolders if they don't exist.
2010-02-22 01:03:08 -08:00
Mitchell Hashimoto
f1fda1f0fa
Pulled out action running from VM into its own Actions::Runner class
2010-02-21 22:56:22 -08:00
Mitchell Hashimoto
cbcb877624
Compression tests for packaging
2010-02-20 22:58:39 -08:00
Mitchell Hashimoto
d447f9e377
Package tests updated to not hit the filesystem
2010-02-20 22:44:32 -08:00
John Bender
25f5b0bcad
removied emacs backup file :(
2010-02-19 01:01:22 -08:00
John Bender
c644cfad1a
package and unpackage moved to tar, tarruby added
2010-02-19 00:54:49 -08:00
John Bender
a690b13f78
unpackage added, still uses zlib
2010-02-17 15:45:06 -08:00
Mitchell Hashimoto
8d9e53fe27
SSH.up? returns false when an abrupt disconnect occurs
2010-02-16 16:05:58 -08:00
Mitchell Hashimoto
e855ae9965
vagrant-reload works
2010-02-16 15:48:03 -08:00
Mitchell Hashimoto
e8e07d26f5
Forwarding ports now clears old ports first
2010-02-16 15:47:52 -08:00
Mitchell Hashimoto
e825847dac
VM instances can execute a single command now (VM#execute!(foo)) and added "stop" action to force immediate shutdown of VM.
2010-02-16 13:21:27 -08:00
Mitchell Hashimoto
7c61792b19
Stubbed vagrant-reload command
2010-02-16 13:04:18 -08:00
Mitchell Hashimoto
05f4845509
Provisioning can now be enabled/disabled by configuration.
2010-02-16 01:05:42 -08:00
John Bender
1c045bd447
refactored package into actions: export, package
2010-02-15 22:53:52 -08:00
Mitchell Hashimoto
2babb25686
Added before/after callbacks around import to stabilize persisting of VM UUID.
2010-02-15 22:47:26 -08:00
Mitchell Hashimoto
c176a04cfa
Fixed a bug with forwarded ports action
2010-02-15 22:44:15 -08:00
Mitchell Hashimoto
4ea8300766
Move hard drive action.
2010-02-15 22:40:58 -08:00
Mitchell Hashimoto
ae6f086fad
Forwarding ports action
2010-02-15 22:38:07 -08:00
Mitchell Hashimoto
dd5abc5452
Implemented "around" callbacks on VM for convenient `before_foo` and `after_foo` callbacks
2010-02-15 19:02:23 -08:00
Mitchell Hashimoto
57de04abac
Added provisioning to the "up" sequence.
2010-02-15 18:50:29 -08:00
Mitchell Hashimoto
97f9d4c5ef
Run only a single trap thread at any given time. Ensure that trap threads are joined after a busy block ends.
2010-02-15 18:37:20 -08:00
Mitchell Hashimoto
874eb70911
Additional options can be passed into actions as additional arguments to the constructor
2010-02-15 18:19:59 -08:00
Mitchell Hashimoto
f3cd0591d0
Refactored SSH in how it retrieves the port
2010-02-15 18:07:11 -08:00
Mitchell Hashimoto
3d27d47d34
Signal trapping for SIGINT waits for busy signal to go low
2010-02-15 17:56:48 -08:00
Mitchell Hashimoto
3c42db7dfe
Merge branch 'runners' which brings in the "actions" model.
2010-02-15 15:25:22 -08:00
Mitchell Hashimoto
e8df988d94
Provisioning action
2010-02-15 15:07:27 -08:00
John Bender
c9d0d0d9d9
packaging and unpackaging
2010-02-15 14:49:47 -08:00
Mitchell Hashimoto
86524048ae
Removed old VM code for VM creation. Lots of code removed!
2010-02-15 00:04:13 -08:00
Mitchell Hashimoto
bf0aff45f6
Move hard drive action added to Up if config is set
2010-02-14 23:58:02 -08:00
Mitchell Hashimoto
6a79c4268b
Added before/after callbacks around import to stabilize persisting of VM UUID.
2010-02-14 23:48:44 -08:00
Mitchell Hashimoto
11f4876b9d
vagrant-up now uses pure actions rather than the hardcoded sequential instant methods. Provisioning not yet working, and moving hard drives not yet implemented.
2010-02-14 23:12:36 -08:00
Mitchell Hashimoto
cb2f1ff402
Fixed a bug with forwarded ports action
2010-02-14 22:59:01 -08:00
Mitchell Hashimoto
9438b3b01e
Initial up action. Not hooked up yet to the vagrant-up bin though
2010-02-14 22:47:23 -08:00
Mitchell Hashimoto
1753d97d45
Move hard drive action.
2010-02-14 22:27:06 -08:00
Mitchell Hashimoto
ddfbe13b1d
Shared folder action.
2010-02-14 02:36:16 -08:00
Mitchell Hashimoto
b88da5a6d3
Start action
2010-02-14 02:23:09 -08:00
Mitchell Hashimoto
0fa8a94f32
Forwarding ports action
2010-02-13 12:17:59 -08:00