Mitchell Hashimoto
e1f4e27b1b
Update docs for v2 provider interface for MachineState
2013-01-21 11:44:19 -06:00
Mitchell Hashimoto
294d4d5d96
Merge branch 'new-state-api'
...
This adds a new interface for returning machine state from a provider which
allows commands like `vagrant status` to continue to properly function
in the face of differing providers.
2013-01-21 11:43:09 -06:00
Mitchell Hashimoto
d5c5c4f523
Convert all VirtualBox provider internals to use new state API
2013-01-21 11:38:37 -06:00
Mitchell Hashimoto
8c4a7350fe
vagrant status uses new MachineState results
2013-01-21 11:35:46 -06:00
Mitchell Hashimoto
f24dba0dc5
VirtualBox provider returns new MachineState object
2013-01-21 11:34:04 -06:00
Mitchell Hashimoto
8ad8f73846
Raise an exception if a non-MachineState is returned
2013-01-21 11:31:20 -06:00
Mitchell Hashimoto
7bdf54923a
Create the MachineState class
2013-01-21 11:25:28 -06:00
Mitchell Hashimoto
cfe55eb57f
Whitespace weirdness in the `status` command file
2013-01-21 10:47:29 -06:00
Samet Atdag
4b5909d532
Private key path is put into quotes in case of space-including username.
2013-01-21 15:19:35 +02:00
Mitchell Hashimoto
2d57afbbda
Support warnings/errors when upgrading Vagrantfiles internally
2013-01-20 22:04:50 -05:00
Andy Williams
8a8b771e0a
Add test for invalid box file
...
Filled in pending test. It creates a valid tar file, over-writes the
checksum field in the tar's header and then checks that the
BoxUnpackageFailure exception is thrown.
2013-01-20 14:28:48 -05:00
Mitchell Hashimoto
6965525b35
Merge branch 'config-validation-revamp'
...
This introduces a new configuration validation API and middleware builtin.
The big change here is that providers and provisioners are once again
validated. The API change itself is pretty minor, but important: machines
are passed into the validation instead of just the environment. This allows
validation to do a lot more, since it has access to the machine it actually
cares about.
2013-01-18 13:38:33 -08:00
Mitchell Hashimoto
ffd9c1eb9c
Verify we have errors to show if we're going to show them
2013-01-18 13:37:31 -08:00
Mitchell Hashimoto
58eac7117b
Only merge provider/provisioner errors if they exist
2013-01-18 13:36:12 -08:00
Mitchell Hashimoto
d64c164727
VM configuration only validates the active provider
2013-01-18 13:33:02 -08:00
Mitchell Hashimoto
003ebc811c
VirtualBox uses the new validation middleware
2013-01-18 13:29:20 -08:00
Mitchell Hashimoto
7f55d5eac8
Builtin: ConfigValidate will validate your configuration
2013-01-18 13:26:14 -08:00
Mitchell Hashimoto
37e36010e0
Remove the ErrorRecorder
2013-01-18 13:15:22 -08:00
Mitchell Hashimoto
fff021e51d
Update Chef provisioner to new validation API
2013-01-18 13:12:02 -08:00
Mitchell Hashimoto
df32c47780
Update puppet provisioner config to latest validation API
2013-01-18 13:08:38 -08:00
Mitchell Hashimoto
5e42a99ab6
Update shell provisioner to latest validation api
2013-01-18 13:06:29 -08:00
Mitchell Hashimoto
e651eb3aa1
Add a V2 config helper to merge errors since that seems common
2013-01-18 13:03:07 -08:00
Mitchell Hashimoto
515ed8f119
Validate providers and provisioners!
2013-01-18 12:56:19 -08:00
Mitchell Hashimoto
3f3c7027aa
Machine objects are passed into validate instead of env
2013-01-18 12:43:53 -08:00
Mitchell Hashimoto
3e9e422ce0
Convert existing validate methods to new API for kernel
2013-01-18 12:33:37 -08:00
Mitchell Hashimoto
a8b57ba13f
Ignore empty error groups
2013-01-18 12:27:29 -08:00
Mitchell Hashimoto
bae6555836
Remove DeprecationError
2013-01-18 12:23:29 -08:00
Mitchell Hashimoto
e0c8fadae4
I can remove the `validate!` method from the v1 root
2013-01-18 12:18:30 -08:00
Mitchell Hashimoto
42a1ce6e9d
Remove the old config validation error
2013-01-18 12:15:36 -08:00
Mitchell Hashimoto
e6f9586d83
New validation method on the root that returns errors
2013-01-18 12:14:40 -08:00
Mitchell Hashimoto
0bd0752bf2
Environment#data_dir
...
This is basically a directory to store state.
2013-01-18 11:37:49 -08:00
Mitchell Hashimoto
10a051a64b
box add works even if no provider is set
2013-01-16 22:52:44 -08:00
Mitchell Hashimoto
c6c27c5e62
Catch Errno::ETIMEDOUT for SSH
2013-01-16 16:42:00 -08:00
Mitchell Hashimoto
776a1e446b
Strip the value, actually, to trim the front newline
2013-01-15 21:57:10 -08:00
Mitchell Hashimoto
6c2e1c354f
Chomp values inserted into a StringBlockEditor
2013-01-15 21:55:56 -08:00
Mitchell Hashimoto
23668d4ed0
Fix some newline weirdness with StringBlockEditor
2013-01-15 21:53:11 -08:00
Mitchell Hashimoto
adec64baa4
Add the #get method to StringBlockEditor
2013-01-15 20:34:41 -08:00
Mitchell Hashimoto
335503a688
StringBlockEditor to help plugins with owning parts of files
2013-01-15 17:49:46 -08:00
Mitchell Hashimoto
ec47d214f0
Add in 1.0.6 changes to master CHANGELOG
2013-01-15 08:43:59 -08:00
Mitchell Hashimoto
633ac25408
Update the README
2013-01-13 17:44:08 -08:00
Mitchell Hashimoto
129f1985bd
Remove the "!" on chef client provision method.
2013-01-13 16:51:16 -08:00
Mitchell Hashimoto
9bdd9ed5bd
Merge branch 'provisioner-revamp'
...
New provisioner API! Provisioners now have two methods to implement:
* configure(root_config) - Allows provisioners to define new shared
folders and such.
* provision - The actual meat where the provisioner does things with
the machine.
Note that this removes a feature: `config.vm.provision` argument can
no longer be a class object. It _must_ be a symbol (like ":chef").
Custom provisioners _must_ be created through the new plugin interface.
This can all still be embedded in a single Vagrantfile.
2013-01-13 16:48:48 -08:00
Mitchell Hashimoto
0c8391aedd
Chef uses the new provisioner API
2013-01-13 16:41:32 -08:00
Mitchell Hashimoto
51a227ae7e
Puppet uses the new provisioner API
2013-01-13 16:22:47 -08:00
Mitchell Hashimoto
5c9f27626c
Provisioner built-in uses new API
2013-01-13 16:09:32 -08:00
Mitchell Hashimoto
84c45a854c
Remove the ProvisionerCLeanup action from VirtualBox
2013-01-13 16:03:34 -08:00
Mitchell Hashimoto
cf2cca3b7c
Revamp the configuration internal state for defining provisioners
2013-01-13 16:02:48 -08:00
Mitchell Hashimoto
c8053c00a4
New provisioner API. Shell provisioner adheres to it.
2013-01-13 15:48:52 -08:00
Mitchell Hashimoto
25fcb59e38
Use registries for the V2 plugin manager
2013-01-13 13:05:31 -08:00
Mitchell Hashimoto
f3b340aae0
Use registry merging for provider configs
2013-01-13 13:00:06 -08:00