Mitchell Hashimoto
de0865b9e2
Test to ensure that the environment hash is returned from Machine#action
...
This will allow methods that call into the action to use any results
that might be set onto the environment hash by any of the middleware.
2012-08-11 20:33:09 -07:00
Mitchell Hashimoto
64afd578b3
Just always return the SSH communicator for machines for now.
...
In the future we'll actually find a matching communicator but for now
since we're just focusing on machine abstraction, we just return SSH.
2012-08-08 21:57:08 -07:00
Mitchell Hashimoto
5ae3e0e80c
Allow the definition of communicators in plugins
2012-08-08 21:52:25 -07:00
Mitchell Hashimoto
a1cef830e3
Add the Communicator plugin API.
...
This allows communication protocols to be defined for the machine. This
is how things like SSH will be implemented.
2012-08-08 21:28:28 -07:00
Mitchell Hashimoto
b1ced46d7c
SSHExec raises proper exception if SSH is not yet ready
2012-08-06 10:29:25 -07:00
Mitchell Hashimoto
8d50c4774e
Tests for SSHExec, and forward in the ssh options
2012-08-05 18:37:41 -07:00
Mitchell Hashimoto
e0ec679838
`vagrant ssh` with full console works with new provider.
...
This works by now calling the `:ssh` action on the provider. This action
is allowed to do whatever it pleases, but should at some point probably
call the `SSHExec` built-in middleware.
The `SSHExec` built-in middleware was added. This uses the information
returned by `Machine#ssh_info` and uses the `Vagrant::Util::SSH` helper
to exec into the remote machine. The provider should do any work upfront
in verifying that the machine is ready to be SSHed into.
2012-08-05 13:45:24 -07:00
Mitchell Hashimoto
a1145615d0
Machine#action supports passing in extra env vars for action runner
2012-08-05 13:16:08 -07:00
Mitchell Hashimoto
984c4f4025
Add Util::SSH which has methods for checking key permissions and exec
2012-08-05 13:12:53 -07:00
Mitchell Hashimoto
1a2a8b49c0
Provider API to return SSH info, must implement `ssh_info`.
...
Since SSH is such a critical part of Vagrant, each provider must
implement a method that returns the proper way to SSH into the machine.
2012-08-05 12:41:05 -07:00
Mitchell Hashimoto
9db982f7a4
Expose the provider via the machine object.
2012-08-04 11:16:31 -07:00
Mitchell Hashimoto
d8cb02d55d
Load the machine ID prior to initializing the provider
2012-08-03 14:22:17 -07:00
Mitchell Hashimoto
e5f250121a
Call now only yields the environment
2012-07-27 19:34:46 -07:00
Mitchell Hashimoto
118377e6f0
Destroy sequence asks the user for confirmation.
2012-07-27 19:29:40 -07:00
Mitchell Hashimoto
e20326d577
Added the Confirm built-in middleware
...
This middleware asks the user a question and expects a Y/N answer. This
middleware can be used with the Call middleware.
2012-07-27 19:16:44 -07:00
Mitchell Hashimoto
556a53d48d
You can no longer set env vars on Builders via `use`
2012-07-27 19:05:35 -07:00
Mitchell Hashimoto
90517a0f9b
The `Call` built-in middleware allows for conditional MW sequences.
...
Read the documentation for more information.
2012-07-26 23:56:47 -07:00
Mitchell Hashimoto
5eed3b8417
Building up the `destroy` action again using new provider API.
...
This shows me moving the built-in middleware sequences to the provider
and how I'm organizing all that.
2012-07-26 22:39:27 -07:00
Mitchell Hashimoto
44b4b9dfef
Move drivers to the VirtualBox plugin. Use Machine class.
...
This starts the transition of replacing VM with Machine. Machine still
isn't ready to fully replace VM but by moving it now, I'm able to find
the spots that need to be fixed. At this point `vagrant status` works
with the new provider interface.
2012-07-24 21:32:38 -07:00
Mitchell Hashimoto
912998ef31
Fill in the provider API a bit more to what it is.
2012-07-16 15:24:51 -07:00
Mitchell Hashimoto
8f0375d7f3
Machines can call actions on their providers.
2012-07-16 14:12:58 -07:00
Mitchell Hashimoto
8fc5591b8e
Machine queries state from the provider
2012-07-16 10:57:17 -07:00
Mitchell Hashimoto
353610021c
Vagrant::Machine
...
This is the class that will represent a machine that is managed by
Vagrant. The class has a number of attributes associated with it and is
meant to be a single API for managing the machines.
2012-07-16 10:28:42 -07:00
Mitchell Hashimoto
3519bf0372
Add the "provider" API to the V1 plugin.
2012-07-15 11:17:58 -07:00
Mitchell Hashimoto
436da57cc4
Add the #action API to the provider plugin
2012-07-14 17:04:06 -07:00
Mitchell Hashimoto
3b82f2efc4
Create the basic provider plugin interface.
...
Non-functional at this point.
2012-07-14 16:57:54 -07:00
Mitchell Hashimoto
cc076e5ee5
Box#repackage to repackage a box.
2012-07-11 18:36:22 -07:00
Mitchell Hashimoto
798ffc93bd
BoxCollection#add throws an UpgradeRequired exception if a V1 box
...
already exists
2012-07-11 18:36:22 -07:00
Mitchell Hashimoto
1d197d84c3
BoxCollection#add transparently upgrades V1 boxes to V2
...
This means that V1 boxes can be added to a V2 box collection without
issue.
2012-07-11 18:36:22 -07:00
Mitchell Hashimoto
623ecb3e3d
Environment attempts to upgrade box on config load.
...
If a V1 box is encountered when Vagrant loads the configuration, then it
will be upgraded on the fly.
2012-07-11 18:36:22 -07:00
Mitchell Hashimoto
7595f0078e
BoxCollection#add provider argument is optional
...
In the case that not provider is given then whatever provider the box
represents will be added to the system. Ideally, a provider will be
given, but if not, Vagrant still does a "best effort" to install the
box.
2012-07-11 18:36:22 -07:00
Mitchell Hashimoto
da15105a8f
Make Box2 the new Box
...
This involved defaulting all box searching at the moment to VirtualBox.
Additionally, box upgrading is not yet handled. This needs to be done at
some point.
2012-07-11 18:36:21 -07:00
Mitchell Hashimoto
e7bed7c2ff
Raise an exception if an invalid tar file is added.
2012-07-11 18:36:21 -07:00
Mitchell Hashimoto
a35f6a175d
Exception when you attempt to add a box when a V1 box conflicts.
2012-07-11 18:36:21 -07:00
Mitchell Hashimoto
9e33d16ca1
Adding a box that already exists should result in an exception.
2012-07-11 18:36:21 -07:00
Mitchell Hashimoto
9cb0015b6e
Test that an added box provider must match expected.
2012-07-11 18:36:21 -07:00
Mitchell Hashimoto
c2151681ec
Box collection can add a new box. This is the happy path only.
2012-07-11 18:36:21 -07:00
Mitchell Hashimoto
ffd5ac5af4
BoxCollection can now upgrade V1 boxes to V2
2012-07-11 18:36:21 -07:00
Mitchell Hashimoto
2eaa850853
Box2 reads the metadata.json file.
2012-07-11 18:36:21 -07:00
Mitchell Hashimoto
cd6c60775c
Use the V1 box helper for a test.
2012-07-11 18:36:20 -07:00
Mitchell Hashimoto
4386ff9887
BoxCollection#all returns all boxes, including V1 boxes
2012-07-11 18:36:20 -07:00
Mitchell Hashimoto
9d1924811e
Box collection can detect V1 boxes and throws an exception
...
The exception notifies the caller that the box needs to be upgraded. The
upgrade process is not yet done but is coming ina future commit.
2012-07-11 18:36:20 -07:00
Mitchell Hashimoto
a6d7bd48fd
Find boxes with new on-disk structure.
...
The box collection can now find new-style boxes with providers and
return proper Box objects. In the future, we'll also have to implement
upgrading old style ones as well.
2012-07-11 18:36:20 -07:00
Mitchell Hashimoto
42826356ad
Basic "Box2" implementation.
...
This is the beginning of the new box internals. The basic idea is that
the new box has a new field: provider. The provider will describe what
provider that box was built with and what provider it is made to work
with.
2012-07-11 18:36:20 -07:00
Mitchell Hashimoto
70bdd9f56e
Move host base class to a plugin component
2012-06-27 09:26:03 -07:00
Mitchell Hashimoto
53d8c28c8e
Move guests to Vagrant.plugin("1", :guest)
2012-06-26 16:28:49 -07:00
Mitchell Hashimoto
b23dda54b8
Move command base class to a plugin component
2012-06-26 16:18:02 -07:00
Mitchell Hashimoto
7258daf535
Support specifying a component for Vagrant.plugin
...
The future of subclassing things like configuration bases and so on will
be to use `Vagrant.plugin(version, component)`. For example:
`Vagrant.plugin("1", :provisioner)`.
2012-06-26 15:47:26 -07:00
Mitchell Hashimoto
194cd2145d
Fix some nondeterminism in tests with GCing tempfiles.
...
Before, the tempfile "f" could be GC'd before the path was used,
resulting in failed tests because when it is GC'd the tempfile is
removed. We now store the tempfile in an instance variable so that it
isn't even available for GC until after the test is finished running.
2012-06-26 15:06:04 -07:00
Mitchell Hashimoto
798704c6d2
Move the loader into the Config::V1 namespace.
2012-06-26 15:06:03 -07:00
Mitchell Hashimoto
41bc8e7454
Move Config::V1::Base to Vagrant::Plugin::V1::Config
2012-06-24 17:06:11 -07:00
Mitchell Hashimoto
ffab8cab68
Renamespace V1 plugin root to Vagrant::Plugin::V1::Plugin
...
This is mostly a transparent change to end users, but I'm going to put
all base classes for V1 into Vagrant::Plugin::V1.
2012-06-24 14:24:52 -07:00
Mitchell Hashimoto
f26024f771
Test Tempdir class cleans itself up
2012-06-24 00:03:28 -07:00
Mitchell Hashimoto
37c54c7b20
Use a temporary directory for the VAGRANT_CWD when running tests
...
Tests before were picking up a Vagrantfile in the Vagrant source
directory, which can cause some funny failures. This ensures that each
test run will actually establish a new temporary CWD so that a
Vagrantfile is hopefully never found.
2012-06-23 23:56:39 -07:00
Mitchell Hashimoto
7a299ae2de
Configuration loader can handle upgrading.
...
The basic process for this is to:
1. Load the configuration using the proper loader for that version. i.e.
if you're loading V1 config, then use the V1 loader.
2. If we just loaded a version that isn't current (imagine we're
currently at V3), then we need to upgrade that config. So we first
ask the V2 loader to upgrade the V1 config to V2, then we ask the V3
loader to upgrade the V2 config to V3. We keep track of warnings and
errors throughout this process.
3. Finally, we have a current config, so we merge it into the in-process
configuration that is being loaded.
2012-06-23 19:56:31 -07:00
Mitchell Hashimoto
9bc1ea5f04
Use config finalize to move some version-specific logic to the version
...
This moves out the concept of a "default VM" from the Environment class
and makes it the responsibility of the V1 configuration that at least
one VM is defined on it. This lets the configuration ultimately decide
what a "default" implementation is.
2012-06-23 12:48:53 -07:00
Mitchell Hashimoto
70fb804128
Configuration versions can finalize config after loading
...
This is useful so that it can take a look at the final loaded
configuration object and possibly make some tweaks to the configuration
object. The use case this was built for was so that config V1 can verify
that there is always at least a single VM defined as a sub-VM, the
"default" VM.
2012-06-23 12:27:32 -07:00
Mitchell Hashimoto
7e19d6849b
Config loader no longer assumes latest version for procs.
...
Previously, all procs were assumed to just be the current version. This
is certainly not going to be true always so now the version number of
the configuration must be explicit if you're assigning a proc to the
configuration loader.
2012-06-23 12:06:54 -07:00
Mitchell Hashimoto
b3db82e516
Separate out the versions the config loader knows as init params.
...
This means that the Config::Loader now only knows how to load
configuration for versions used to initialize the class. This lets
things like the tests be completely isolated from what the actual
configuration is for Vagrant. This will be immensely useful to verify
that the loader functionality works for non-trivial bits (like
upgrading) without depending on Vagrant's upgrading functionality.
2012-06-23 11:33:53 -07:00
Mitchell Hashimoto
1a6ae81aa9
Require what to be notified for with block and Subprocess.execute
...
There was an issue before where the stdin buffer would always have space
so it would always yield that block and Ruby would spin at 100%. Now we
require all callers to say what they want to listen for. This drops
CPU down to almost nothing.
See GH-832
2012-06-01 17:02:12 +02:00
Mitchell Hashimoto
de78a3637a
Plugin activation
...
Vagrant is only guaranteeing that the plugin definition superclass (the
Vagrant.plugin("1") part) is backwards compatible. Anything else, such
as Vagrant::Command::Base and so on, will likely change in future
versions. Beacuse of this, plugins should only immediately expose their
definition.
In order to support loading the other classes, plugins should defer
loading to the "activation" phase of a plugin. This can be done using
the `activated` block:
class MyPlugin < Vagrant.plugin("1")
name "my plugin"
activated do
require "myplugin/my_command"
end
command("foo") { MyCommand }
end
Plugin activation is done at two specific times:
* Right when a Vagrant::Environment is created and the global plugins
(such as from ~.vagrantrc) are loaded.
* Right before loading configuration, but after the Vagrantfiles have
been evaluated. This allows plugins to be defined within these files
as well.
2012-05-21 22:23:50 -07:00
Mitchell Hashimoto
3204b3a580
Vagrant.configure and versioned configuration
...
Vagrant.configure is now how configuration is done in Vagrantfiles
(previously it was Vagrant::Config.run). This function takes a single
argument which is the version of configuration to use.
Various internals were updated for this new versioned configuration.
Note that multiple versions of configuration aren't yet used so aren't
fully supported by Vagrant, but the foundation is being set here.
2012-05-21 21:47:01 -07:00
Mitchell Hashimoto
8c6f3edf2d
Single-VM mode still allows target name in vagrant commands
2012-05-06 14:33:47 -07:00
Mitchell Hashimoto
bc0643613a
Vagrant.require_plugin [GH-916]
2012-05-06 14:01:10 -07:00
Mitchell Hashimoto
0d6248394c
Tests for the Easy command base
2012-05-06 10:01:50 -07:00
Ryan LeCompte
2355a4b9a6
fix support for multiple unique easy commands
2012-05-06 01:47:43 -07:00
Mitchell Hashimoto
4cc3fb05df
Passing unit tests
2012-05-05 22:32:19 -07:00
Mitchell Hashimoto
3d147f1d96
Raise exception if the insert_before middleware is not found
2012-05-05 22:10:26 -07:00
Mitchell Hashimoto
879f98b5d5
Action builder supports indexing middlewares by name
2012-05-05 22:01:53 -07:00
Mitchell Hashimoto
c2649074c3
Test command name validation and fix up some bugs
2012-05-05 20:11:26 -07:00
Mitchell Hashimoto
00aba5ac03
Plugin easy commands.
...
Easy commands are well... easy! They don't offer the full power of
creating a completely custom command class, but they let you do the
basics (what almost everyone needs) with minimal fuss. Example:
class MyPlugin < Vagrant.plugin("1")
name "my-plugin"
easy_command "foo" do |action|
puts "HELLO!"
end
end
NOTE: The "action" stuff isn't done yet, but will be soon!
2012-05-05 18:57:29 -07:00
Mitchell Hashimoto
8850c086b1
Plugins can now have action_hooks
2012-05-05 18:28:07 -07:00
Mitchell Hashimoto
13a27eb723
More test cleanups
2012-05-01 22:10:10 -07:00
Mitchell Hashimoto
9b20173dfb
Clean up some of the SSH key tests
2012-05-01 22:08:30 -07:00
Sean Wolfe
024f492cb3
Added spec to test the ssh key file permission changing.
2012-05-01 14:05:22 -07:00
Mitchell Hashimoto
30dd638e3c
Remove legacy unit tests.
2012-04-19 21:45:17 -07:00
Mitchell Hashimoto
1489854d70
Move commands into plugins
2012-04-19 13:59:48 -07:00
Mitchell Hashimoto
661f20bb91
Move hosts to a plugin system
2012-04-18 22:20:45 -07:00
Mitchell Hashimoto
1cbac3167f
Move provisioners into plugins
2012-04-18 21:53:19 -07:00
Mitchell Hashimoto
1b2fa748f9
Move all guests to plugins, even the distros
2012-04-18 21:23:25 -07:00
Mitchell Hashimoto
7766eb6098
Major guests have been moved to plugins
2012-04-18 21:03:03 -07:00
Mitchell Hashimoto
dd459170dd
Start moving guest configuration out into plugins
2012-04-18 17:38:20 -07:00
Mitchell Hashimoto
a23fee4848
Remove old configuration classes
2012-04-18 17:16:03 -07:00
Mitchell Hashimoto
b38fb5e974
Loader uses the new configuration classes
2012-04-18 17:03:34 -07:00
Mitchell Hashimoto
c0ee3b06ff
Config merging
2012-04-17 10:22:24 -07:00
Mitchell Hashimoto
92ee042fc2
V1 config loading using plugins as a source for config keys
2012-04-16 22:26:38 -07:00
Mitchell Hashimoto
b46daa82bc
Ability to define configuration classes on plugins
2012-04-15 16:04:54 -05:00
Mitchell Hashimoto
2eebc2cb68
Basic Plugin class
2012-04-15 15:34:44 -05:00
Mitchell Hashimoto
d08a65e7f7
IsPortOpen utility
2012-03-23 10:26:29 -04:00
Mitchell Hashimoto
a1b16fd96d
Merge pull request #816 from Oakie3CR/chef-solo-encrypted-databags
...
Add encrypted data bag options to chef-solo
2012-03-23 06:21:36 -07:00
Mitchell Hashimoto
1b0a6a0895
Make unit tests pass from the safe_puts changes
2012-03-22 13:42:41 -07:00
Christian Rigdon
b4e24c91f5
Add encrypted databag options to chef-solo
2012-03-13 16:27:11 -06:00
Mitchell Hashimoto
f8fa859b5f
Raise an error if the CWD is incorrect
2012-03-08 16:57:17 -08:00
Mitchell Hashimoto
6969f791ad
VAGRANT_CWD can be set to set the CWD of `vagrant`.
2012-03-08 16:45:19 -08:00
Mitchell Hashimoto
ce00a56ecb
Even with a custom vagrantfile name, use defaults [GH-778]
2012-03-08 13:24:04 -08:00
Mitchell Hashimoto
7b9f64f577
Allow data store to work even if file path is nil
2012-02-25 10:41:06 -08:00
Mitchell Hashimoto
2c823e98bd
Fix crashing bug with `primary_vm` on Environment
2012-02-24 10:27:34 -08:00
Mitchell Hashimoto
ba42fffed0
Convert line endings to Unix-style [GH-727]
2012-02-10 18:07:59 -08:00
Bob Van Zant
ae62c9bd68
Convert example host only IPs to RFC1918
2012-02-08 14:50:33 -08:00
Mitchell Hashimoto
3eff28ac0d
Don't strip color codes with ANSI escape code remover
2012-02-05 13:30:21 +01:00
Mitchell Hashimoto
912e4974db
Registry will now cache result values.
...
This is actually required so that we can do things like this
in plugins:
Vagrant.actions[:up].insert(Foo, Bar)
2012-01-28 17:31:50 -08:00
Mitchell Hashimoto
d1e78f791d
Remove test warnings, add ANSI escape code remover
2012-01-23 19:24:32 -08:00
Mitchell Hashimoto
d487e286f4
Don't merge config keys that start with __.
...
This allows config classes to store internal state somehow.
2012-01-19 20:54:09 -08:00
Mitchell Hashimoto
be97cec8b5
Allow shell expansions in shared folder guest paths again [GH-656]
2012-01-19 20:14:05 -08:00
Mitchell Hashimoto
bdb591bc0f
Tests that boolean configs are merged up properly [GH-651]
2012-01-18 18:51:15 -08:00
Mitchell Hashimoto
52a464a62c
Push a failing acceptance test as a reminder of a missing feature
2012-01-13 00:07:23 -08:00
Mitchell Hashimoto
1380bc6ae7
Basic package acceptance tests
2012-01-12 23:52:25 -08:00
Mitchell Hashimoto
4cfabc690b
Fix a failing unit test
2012-01-11 23:57:19 -08:00
Mitchell Hashimoto
7ddee76c00
Passing acceptance tests again
2012-01-11 23:21:07 -08:00
Mitchell Hashimoto
f0b77d2f30
Additional fixes + tests for shell expansion [GH-633]
2012-01-11 22:56:15 -08:00
Mitchell Hashimoto
60b6d9ca9f
Clarify comment on test
2012-01-11 22:16:00 -08:00
Mitchell Hashimoto
863ebe2d2f
Custom merging for VM config
2012-01-11 22:12:49 -08:00
Mitchell Hashimoto
51353d51fc
Test base merge
2012-01-11 21:31:19 -08:00
Mitchell Hashimoto
bfb52ba7dc
Top merges things in each key one by one by calling `merge`
2012-01-11 21:22:55 -08:00
Mitchell Hashimoto
d13dd482b5
Some Config::Top class tests
2012-01-11 21:09:52 -08:00
Mitchell Hashimoto
008132b3cb
Run each config proc only once
2012-01-11 20:59:21 -08:00
Mitchell Hashimoto
7c9c6e34ce
Change caching behavior of config procs for the config loader
2012-01-11 16:58:40 -08:00
Mitchell Hashimoto
638881614a
Test that multiple provisioners can be used
2012-01-10 22:04:31 -08:00
Mitchell Hashimoto
bb2a473549
Added a `--provision-with` flag to specify provisioners to use. [GH-367]
2012-01-10 22:03:22 -08:00
Mitchell Hashimoto
566a751d6f
Test that --no-provision works.
2012-01-10 21:29:26 -08:00
Mitchell Hashimoto
f89479f3aa
Basic host only network test
2012-01-10 21:25:36 -08:00
Mitchell Hashimoto
836468a51e
Test the `:create` flag on shared folders
2012-01-10 21:20:24 -08:00
Mitchell Hashimoto
29ced979a2
Test for DNA json in Chef Solo
2012-01-10 21:14:16 -08:00
Mitchell Hashimoto
18cdcb4330
Acceptance tests for chef solo, fixed a bug it found.
2012-01-10 21:08:43 -08:00
Mitchell Hashimoto
f264932430
Move network tests out into a module so other tests can use it
2012-01-10 20:47:26 -08:00
Mitchell Hashimoto
0c0d456db2
Add `--force` flag to `box add` [GH-631]
2012-01-10 20:37:33 -08:00
Mitchell Hashimoto
7eafb5fc1f
Acceptance test that we can't add boxes with the same name
2012-01-10 18:45:38 -08:00
Mitchell Hashimoto
d430d62941
Test overriding ports works properly
2012-01-08 23:29:40 -08:00
Mitchell Hashimoto
29eb419c86
Port forwarding tests pass again
2012-01-08 23:17:29 -08:00
Mitchell Hashimoto
ef37f692bd
Revert the check for duplicate Vagrantfiles.
...
This is just tricky with case sensitive/insensitive file systems.
Reverting since it doesn't seem worth it.
2012-01-08 23:15:18 -08:00
Mitchell Hashimoto
4f30a834d0
Tests for multivagrantfile being found
2012-01-08 23:04:23 -08:00
Mitchell Hashimoto
97f7fa633d
Re-implement how networking is done internally
2012-01-02 19:51:38 -08:00
Mitchell Hashimoto
43fcca3dcb
Retryable test
2011-12-26 17:38:47 -08:00
Mitchell Hashimoto
15a625275e
HashWithIndifferentAccess test
2011-12-26 17:27:56 -08:00
Mitchell Hashimoto
91562e2111
FileChecksum test
2011-12-26 17:24:44 -08:00
Mitchell Hashimoto
f65a6c3c6f
`vagrant ssh -c` stderr now goes to stderr on the host as well
2011-12-26 10:03:12 -08:00
Mitchell Hashimoto
e07280593d
`vagrant ssh -c` will now exit with the same exit status of the command [GH-598]
2011-12-26 09:58:10 -08:00
Mitchell Hashimoto
d80ff0a27f
Pull out port collision detection/correction into the CheckPortCollision middleware
2011-12-25 10:13:08 -08:00
Mitchell Hashimoto
4e547becab
Tests passing for GH-602
2011-12-25 09:57:20 -08:00
Mitchell Hashimoto
fc9bda08cd
Failing test for port collision on `resume` [GH-602]
2011-12-25 09:29:22 -08:00
Mitchell Hashimoto
919f7adaa3
Port collision with SSH test.
2011-12-24 22:25:02 -08:00
Mitchell Hashimoto
1f0720dfc2
Clean up the port forwarding test a bit
2011-12-24 21:40:08 -08:00
Mitchell Hashimoto
f7275f5113
Test port forwarding basics
2011-12-24 17:59:10 -08:00
Mitchell Hashimoto
963bdff9fd
Use Vagrant::Util::Subprocess for acceptance tests
2011-12-22 21:46:43 -08:00
Mitchell Hashimoto
40fdab3de8
DataStore tests and slight modifications
2011-12-22 21:18:59 -08:00
Mitchell Hashimoto
e3426211bc
Vagrant::Action::Warden unit tests
2011-12-22 20:41:01 -08:00
Mitchell Hashimoto
3cd262ed75
Unit tests for Vagrant::Action::Builder
2011-12-22 20:17:45 -08:00
Mitchell Hashimoto
dfeafa3776
Fix halt issues and acceptance test associated with it
2011-12-22 13:38:30 -08:00
Mitchell Hashimoto
703f455d5a
`vagrant version` is gone, so remove the acceptance test for it
2011-12-18 13:51:58 -08:00
Mitchell Hashimoto
a8f5ed1863
Require vagrant environments for some commands.
2011-12-18 13:26:15 -08:00
Mitchell Hashimoto
c2e3a3050a
Ruby 1.8.7 compatibility
2011-12-17 20:22:46 -08:00
Mitchell Hashimoto
e71007d47e
`vagrant destroy`
2011-12-17 11:05:49 -08:00
Mitchell Hashimoto
b292008f3b
Change parse_options a bit to automatically add help and detect invalid options
2011-12-17 09:25:46 -08:00
Mitchell Hashimoto
43cadfe830
`vagrant up`
2011-12-17 09:14:05 -08:00
Mitchell Hashimoto
27491b554c
Remove thor from requirements. Start revamping Vagrant::CLI
2011-12-16 23:34:30 -08:00
Mitchell Hashimoto
eda286b476
Config classes are registered via a registry now
2011-12-15 20:32:33 -08:00
Mitchell Hashimoto
b428072bb5
Provisioners use the registry. Cleaned up the way config classes are searched for.
2011-12-14 22:43:45 -08:00
Mitchell Hashimoto
2d0769ee4a
Stub a test out for chef solo
2011-12-14 19:06:44 -08:00
Mitchell Hashimoto
9e4475cb77
Test running shell scripts inline
2011-12-14 19:02:10 -08:00
Mitchell Hashimoto
6dbade0fc6
Get shell provisioning working again, acceptance test to prove it
2011-12-13 23:45:56 -08:00
Mitchell Hashimoto
d6b325e887
Clean up TODOs in acceptance tests
2011-12-13 23:19:50 -08:00
Mitchell Hashimoto
668bab0ba9
Better host loading scheme
2011-12-11 23:22:44 -08:00
Mitchell Hashimoto
b8d40ea463
Registry is enumerable
2011-12-11 18:29:42 -08:00
Mitchell Hashimoto
e201d9cacf
Rename action registry to just Vagrant::Registry
2011-12-11 18:22:06 -08:00
Mitchell Hashimoto
05ae297fd2
Copy insecure private key to user owned directory [GH-580]
2011-12-11 16:32:25 -08:00
Mitchell Hashimoto
42a5e02db4
Clean up test load paths
2011-12-11 15:53:11 -08:00
Mitchell Hashimoto
d9e2c8b788
Raise a nice error if home directory is not accessible
2011-12-10 17:14:07 -08:00
Mitchell Hashimoto
e15b974c15
Fix more tests to expect error messages on stderr
2011-12-10 13:50:46 -08:00
Mitchell Hashimoto
c41e758a0a
box acceptance tests passing again
2011-12-10 13:35:03 -08:00
Mitchell Hashimoto
5c6ca57409
Throw an error if a box already exists when calling box.add
2011-12-10 13:09:03 -08:00
Mitchell Hashimoto
739d5ffb5f
Lazy load attributes for runners. Get box repackage working.
2011-12-09 20:24:34 -08:00
Mitchell Hashimoto
d9321ed4d4
Box destroy works again
2011-12-09 18:06:34 -08:00
Mitchell Hashimoto
d92f3d8c6d
Box add works again with new env stuff
2011-12-09 17:33:30 -08:00
Mitchell Hashimoto
aeb6533607
Fix issue with Tempfile in test being deleted
2011-12-09 17:26:06 -08:00
Mitchell Hashimoto
56663b5952
Remove dependence on Vagrant::Environment on downloaders
2011-12-09 15:18:43 -08:00
Mitchell Hashimoto
3c8261f4ac
Add :ui to the globals for the action runner
2011-12-09 14:50:42 -08:00
Mitchell Hashimoto
b31c3d458c
Action runner supports global parameters
2011-12-09 14:44:43 -08:00
Mitchell Hashimoto
bbb8f0ac2c
Integrate new action runner/registry into Vagrant::Environment
2011-12-09 14:39:39 -08:00
Mitchell Hashimoto
daf711fd80
Separate Vagrant::Action into Runner and Registry
2011-12-09 14:22:03 -08:00
Mitchell Hashimoto
5bfcbcba66
Remove step stuff. Failed experiment for now. Too radical for point release.
2011-12-09 13:40:49 -08:00
Mitchell Hashimoto
2c73de0043
The proper enter/exit sequence is called for multisteps
2011-12-06 18:45:37 -08:00
Mitchell Hashimoto
822226cae4
MultiStep does not allow composing steps that do not work together
2011-12-06 18:31:07 -08:00
Mitchell Hashimoto
73761dc92a
MultiStep should do input/output validation
2011-12-06 18:19:18 -08:00
Mitchell Hashimoto
7d3746b292
Multistep can now take parameters from any arbitrary step prior.
2011-12-06 09:46:57 -08:00
Mitchell Hashimoto
5b87165e97
Multistep tests pass again.
2011-12-05 21:08:31 -08:00
Mitchell Hashimoto
c5eae41fd8
Revamp Step to be more like a Python with-context
2011-12-05 21:05:41 -08:00
Mitchell Hashimoto
683bbdaa3c
Implement multistep
2011-12-04 18:09:18 -08:00
Mitchell Hashimoto
49d299956f
Add the "Step" abstraction
2011-12-04 17:14:21 -08:00
Mitchell Hashimoto
8801bc7b1b
Starting to revamp BoxCollection to not depend on env
2011-12-04 11:39:44 -08:00
Mitchell Hashimoto
e2977e8948
Make VM names symbols again, since they're accessed often.
2011-12-03 19:33:44 -08:00
Mitchell Hashimoto
1921ce17e8
Propery load box configuration
2011-12-03 19:17:08 -08:00
Mitchell Hashimoto
99982fb26e
VM-specific configuration now works.
2011-12-03 19:05:50 -08:00
Mitchell Hashimoto
73a672cff1
load_config! is kind of working again.
...
Specifically: Global configuration load appears to be working. More
unit tests should reveal if proper VM configuration is loading.
2011-12-03 18:31:17 -08:00
Mitchell Hashimoto
cb5f6b57f4
Remove Vagrant 0.8.0 transition code.
2011-12-03 18:11:24 -08:00
Mitchell Hashimoto
02cc1447dc
Configuration files are only loaded once
2011-12-03 17:42:16 -08:00
Mitchell Hashimoto
15c56a1f4c
Configuration loads. Lots of refactor to do still.
2011-12-03 17:29:28 -08:00
Mitchell Hashimoto
1a8c4199b2
Introduce Config::Loader
...
Config::Loader will be the new class responsible for loading configuration
and replaces the previous dual-role "Vagrant::Config" played. While this
commit is very early-stage, once this new architecture is flushed out, it
will make loading, using, and extending configuration much easier and cleaner.
Additionally, I believe this will help post Vagrant 1.0 if multi-language
configuration is implemented.
2011-12-03 17:12:48 -08:00
Mitchell Hashimoto
1355487a04
Environment UI class can now be set through the environment init
2011-12-03 16:07:34 -08:00
Mitchell Hashimoto
fe442faefa
Move unit tests into the unit_legacy folder
2011-12-03 15:44:08 -08:00
Mitchell Hashimoto
c37f16b754
Remove final logger reference
2011-12-01 21:56:56 -08:00
Mitchell Hashimoto
282bf37350
Get the tests passing
2011-12-01 21:56:55 -08:00
Mitchell Hashimoto
27c4d61e67
Upgrade to childprocess 0.2.3 and remove our hacky with_env_changes
2011-11-27 16:11:07 -07:00
Mitchell Hashimoto
0279cc1edf
Do not buffer output for tests
2011-11-27 11:16:24 -07:00
Mitchell Hashimoto
1155983307
Get unit tests passing again
2011-11-25 23:55:17 -07:00
Darrin Wortlehock
4c01a87ab3
Adding support for 'no_proxy' environment variable to suppress proxy in http downloader
2011-11-24 21:54:35 -07:00
Mitchell Hashimoto
c2ef1329aa
Get tests passing for GH-508
2011-11-24 21:52:31 -07:00
Mitchell Hashimoto
db491e1f9b
Modify unit tests a bit
2011-11-24 21:31:30 -07:00
Mitchell Hashimoto
7e276cf4d8
Basic resume tests
2011-11-24 16:28:28 -07:00
Mitchell Hashimoto
d03744c5e1
Test that `vagrant up` also works for resuming
2011-11-24 16:21:21 -07:00
Mitchell Hashimoto
f9653bf8d2
Some suspend tests
2011-11-24 16:15:45 -07:00
Mitchell Hashimoto
2dc9bad97d
Fix missing variable in tests
2011-11-24 14:15:36 -07:00
Mitchell Hashimoto
87767e24d0
Fix test harness where blocking could occur on IO read.
...
We had issues with the CI where some tests would sometimes hang
on cleanup when it would call VBoxManage, even with a timeout.
My only assumption is that this is happening as it waits on `readline`,
so we do a `read_nonblock` which will help immensely.
2011-11-24 14:13:22 -07:00
Mitchell Hashimoto
1eb3845405
CI: Schedule each unit/acceptance pair by platform it is testing
2011-11-22 23:07:33 -08:00
Mitchell Hashimoto
fba9f7c473
Test that a VM can be brought back up after halting
2011-11-22 21:47:10 -08:00
Mitchell Hashimoto
1ed1650fb6
`vagrant halt` acceptance tests
2011-11-22 19:34:25 -08:00
Mitchell Hashimoto
5e4dffb7e1
Test: Don't worry if VBoxManage failed.
2011-11-22 19:28:21 -08:00
Justin Brown
dcef64fa0d
Remove the chef dependency on the default 'v-root' shared folder.
2011-11-22 19:03:52 -08:00
Mitchell Hashimoto
8651127ead
Add tag for the bug that a test addresses
2011-11-22 18:46:43 -08:00
Mitchell Hashimoto
5d684b9001
Reload the configuration for all VMs after downloading a box. Fixes GH-564
2011-11-21 22:39:12 -08:00
Mitchell Hashimoto
bac87f2478
Complete the test (still failing)
2011-11-21 22:09:51 -08:00
Mitchell Hashimoto
d71a78eacf
Failing acceptance test for GH-564
2011-11-21 21:55:03 -08:00
Mitchell Hashimoto
315733703a
Tempfile no longer needed in isolated env
2011-11-21 21:18:15 -08:00
Mitchell Hashimoto
203056a0db
Switch posix-spawn to childprocess for better cross-OS support
2011-11-21 21:16:51 -08:00
Mitchell Hashimoto
2174d02439
Add TODOs to the destroy test
2011-11-20 13:42:06 -08:00
Mitchell Hashimoto
3a18119774
Fix failing destroy test for requiring a VM
2011-11-20 13:39:54 -08:00
Mitchell Hashimoto
38d28800be
Destroy acceptance tests
2011-11-20 13:37:01 -08:00
Mitchell Hashimoto
cebd66d8e6
Test: Add a timeout to cleaning up the VM environment
2011-11-20 10:44:09 -08:00
Mitchell Hashimoto
224c981846
Test: Add "timeout" parameter to execute in tests
2011-11-20 10:38:41 -08:00
Mitchell Hashimoto
0036d1e131
Custom builders for each OS type
2011-11-19 21:30:51 -08:00
Mitchell Hashimoto
1e6918cb2b
buildbot: Enable IRC bot
2011-11-19 21:02:20 -08:00
Mitchell Hashimoto
dd92f32c3a
buildbot: Set timeout to 3600 seconds for acceptance tests
2011-11-19 20:35:48 -08:00
Mitchell Hashimoto
627fa4295f
buildbot: Better failure styling on CI
2011-11-19 17:36:43 -08:00
Mitchell Hashimoto
96639d78d4
buildbot: Add style for failed builds
2011-11-19 17:32:54 -08:00
Mitchell Hashimoto
9dd0aab37f
Remove unused build steps
2011-11-19 16:45:00 -08:00
Mitchell Hashimoto
a6cee79633
Buildbot: Update waterfall headers
2011-11-19 13:33:08 -08:00
Mitchell Hashimoto
2ef8206ff2
buildbot: Another slight styling update to change page
2011-11-19 13:31:21 -08:00
Mitchell Hashimoto
21c403965b
buildbot: Update change page
2011-11-19 13:30:10 -08:00
Mitchell Hashimoto
b11db62677
buildbot: Homepage styling
2011-11-19 13:19:48 -08:00
Mitchell Hashimoto
40c1169d4c
Buildbot: Design for slaves pages
2011-11-19 13:04:46 -08:00
Mitchell Hashimoto
efa29f1859
buildbot: Start redesigning the CI
2011-11-19 12:55:04 -08:00
Mitchell Hashimoto
9ee301c525
Buildbot: Make the acceptance tests dependent on the unit tests passing
2011-11-13 20:57:51 -08:00
Mitchell Hashimoto
98919fbec5
Add buildsteps and builders for acceptance tests
2011-11-13 20:42:22 -08:00
Mitchell Hashimoto
a8909cbb0b
Acceptance tests now take a "box_directory" instead of paths to individual boxes
2011-11-13 13:49:21 -08:00
Mitchell Hashimoto
bb06a20843
Add `rake acceptance:boxes` to download required boxes for tests
2011-11-13 13:37:30 -08:00
Mitchell Hashimoto
b62d7c317c
Generalize the builder creation methods a bit to prepare for dependent builders
2011-11-12 16:51:00 -08:00
Mitchell Hashimoto
5d98c5cab7
Buildbot: Require user auth for forcing builds
2011-11-12 16:09:30 -08:00
Mitchell Hashimoto
c0f3e6b954
CI: Fix deploy to work properly
2011-11-12 15:53:52 -08:00
Mitchell Hashimoto
a090eb36fb
Don't allow any commands on the Vagrant CI right now
2011-11-12 15:52:27 -08:00
Mitchell Hashimoto
7d63b4d0ab
Deploy/setup scripts for the buildmaster
2011-11-12 15:51:26 -08:00
Mitchell Hashimoto
e1a4287ef5
Add choices to a vendor/ directory
2011-11-12 13:27:29 -08:00
Mitchell Hashimoto
aeae640c34
Buildbot: Add a scheduler for the master branch to run
2011-11-12 13:18:19 -08:00
Mitchell Hashimoto
5974fbcb16
Buildbot: Enable github hook
2011-11-12 13:14:16 -08:00
Mitchell Hashimoto
49135dfd24
Buildbot runs unit tests! Yay!
2011-11-12 13:06:37 -08:00
Mitchell Hashimoto
44540f369d
Add buildbot code for what will become the Vagrant CI
2011-11-12 10:20:07 -08:00
Mitchell Hashimoto
60a350f9c7
Test that `vagrant up` works if Vagrantfile is in a parent directory
2011-11-11 00:19:46 -08:00
Mitchell Hashimoto
f0aa19f696
Test shared folders for basic up tests
2011-11-11 00:10:42 -08:00
Mitchell Hashimoto
7a07a78bf1
Shared contexts for Vagrant command similarities
2011-11-10 21:54:58 -08:00
Mitchell Hashimoto
8787c4b876
Acceptance tests: Get rid of remaining "assert" statements
2011-11-08 23:09:04 -08:00
Mitchell Hashimoto
4443a323e5
Create the output matcher, switch to RSpec style matchers
2011-11-08 23:03:15 -08:00
Mitchell Hashimoto
87bc6ec63f
RSpec is coming in for acceptance tests. More details follow...
...
RSpec was chosen to be used for acceptance tests for many reasons:
* The tests are actually much cleaner now. It is clearer to see what
is being tested, and what is being used for setup.
* Matcher transition will be coming soon. This will really clean up
a lot of the "assert" boilerplate all over. There was a lot of repetition
in this area.
* Shared examples will help greatly for testing common error cases
for many commands.
* The test runner for RSpec is simply much better. Being able to specify
the exact test to run by line, for example, is a great help.
2011-11-06 23:47:23 -08:00
Mitchell Hashimoto
699c67c1aa
Test: Able to pass a command to execute via `vagrant ssh` command
2011-11-06 22:35:53 -08:00
Mitchell Hashimoto
2796c441ea
Add more SSH tests
2011-11-06 22:21:02 -08:00
Mitchell Hashimoto
3412a11c51
Move `vagrant ssh` test into ssh_test.rb
2011-11-06 22:17:27 -08:00
Mitchell Hashimoto
641a581d6b
Rename the up test
2011-11-06 22:15:59 -08:00
Mitchell Hashimoto
dba2a4e3e7
Check that VirtualBox isn't running at the beginning of the acceptance tests
2011-11-06 19:21:29 -08:00
Mitchell Hashimoto
2c607ca4f4
Wait for VBoxSVC to disappear between tests.
2011-11-06 19:20:14 -08:00
Mitchell Hashimoto
2febc9fcff
Isolated environment removes virtual machines after run.
2011-11-06 18:45:49 -08:00
Mitchell Hashimoto
797f124e6d
Test: `vagrant up` should bring up a machine ready for SSH
2011-11-06 18:28:05 -08:00
Mitchell Hashimoto
e86628c023
test: `vagrant up` should fail if no Vagranfile is found
2011-11-06 18:23:06 -08:00
Mitchell Hashimoto
a80e579af7
Add a bunch of test TODOs
2011-11-06 13:44:44 -08:00
Mitchell Hashimoto
421a1fb341
First "up" based acceptance test. Multiple fixes to test harness.
...
* First test that uses "vagrant up"
* Allow interaction with processes executed during `execute` so that
we can enter input into STDIN and receive data from STDOUT in
real time.
* Fix some issue with `waitpid2`, which actually speeds up all tests
quite a bit.
2011-11-06 13:30:49 -08:00
Mitchell Hashimoto
f83c1b3c27
Fix regression introduced with cab1e4e
2011-11-05 15:19:03 -07:00
Mitchell Hashimoto
66761ae3ff
Comments on the Output class
2011-11-05 15:01:00 -07:00
Mitchell Hashimoto
bb09b249b6
Use output helpers instead of direct regex's in tests.
...
We're not trying to test the format of the output, we're trying
to test the meaning of the output, so hide that state away in
another class.
2011-11-05 14:59:17 -07:00
Mitchell Hashimoto
55f2ac3f54
Isolated env will log output of command as it comes. Update tests.
2011-11-05 14:44:24 -07:00
Mitchell Hashimoto
bb4f7b6418
`vagrant init` acceptance tests
2011-11-05 14:09:18 -07:00
Mitchell Hashimoto
56d4a7f14e
Digest/SHA1 not required here
2011-11-05 13:30:57 -07:00
Mitchell Hashimoto
08daf11580
Add loggers to acceptance tests
2011-11-03 23:07:51 -07:00
Mitchell Hashimoto
9a551837d6
Tests for removing and repackaging a box
2011-11-03 23:05:06 -07:00
Mitchell Hashimoto
d9d8029783
Test that adding an invalid box results in an error
2011-11-03 22:22:19 -07:00
Mitchell Hashimoto
d0e191a96c
Make some changes to have tests run on 1.8.7
2011-11-03 22:12:51 -07:00
Mitchell Hashimoto
cab1e4e49b
Make the file download the default for `vagrant box add`. Tests.
2011-11-03 21:56:38 -07:00
Mitchell Hashimoto
c9cf2867ea
Some `vagrant box` tests
2011-11-03 21:38:15 -07:00
Mitchell Hashimoto
78f8705c5b
Make the `vagrant` tests cleaner
2011-11-03 21:38:07 -07:00
Mitchell Hashimoto
f741d81582
Fix color tests
2011-11-02 23:37:19 -07:00
Mitchell Hashimoto
974c180d8f
Tests that color and --no-color work properly
2011-11-02 23:16:29 -07:00
Mitchell Hashimoto
d753b750e9
Do not output color if stdout is not a TTY
2011-11-02 21:59:35 -07:00
Mitchell Hashimoto
2bd0b76fd2
Set isolated environment working dir to the proper directory
2011-11-02 21:55:54 -07:00
Mitchell Hashimoto
b3e4efb786
Basic box tests
2011-11-02 21:42:09 -07:00
Mitchell Hashimoto
a19fa6a07c
Cleanup temporary directory after running
2011-11-02 21:41:41 -07:00
Mitchell Hashimoto
4c6f8d2b52
Setup isolated environment to setup a custom HOME directory as well
2011-11-02 21:38:48 -07:00
Mitchell Hashimoto
ec38417abb
Add more acceptance tests for printing the Vagrant version
2011-11-02 21:15:53 -07:00
Mitchell Hashimoto
4c9ad26115
Acceptance tests starting code is in. Version is an example.
2011-11-02 21:09:38 -07:00
Justin Brown
0c2fc0cae2
Make init respect the env's cwd.
2011-10-30 22:48:35 -07:00
Mitchell Hashimoto
245bcf436f
Have tests pass on Ruby 1.8.x
2011-10-30 22:23:36 -07:00
Ticean Bennett
dab80649b8
Added Basic Auth support to HTTP downloader.
2011-10-14 18:37:24 +02:00
Mitchell Hashimoto
7219f3d05b
Show warning if forwarding port less than 1024 [closes GH-487]
2011-09-11 23:56:02 -07:00
Samer Abukhait
99646735d0
Don't do the port threshold check if running under root
2011-09-11 23:26:55 -07:00
Mitchell Hashimoto
1cfef2734a
Fix crashing bug if .vagrant is invalid. [closes GH-496]
2011-09-11 23:23:17 -07:00
Mitchell Hashimoto
ce5d989384
Moving unit tests to test/unit
2011-08-28 23:10:32 -07:00
Mitchell Hashimoto
327a6f9d94
Add a check for VM accessibility before every action
2011-08-28 20:32:22 -07:00
Mitchell Hashimoto
bf32fb4de8
Args can now be specified to the shell provisioner [closes GH-475]
2011-08-28 00:01:23 -07:00
Mitchell Hashimoto
8ff269c341
Chef solo roles_path and data_bag_path should be a string
2011-08-02 23:30:57 -07:00
Mitchell Hashimoto
ed8bf34153
Chef client accepts nil run list to load run list from server [closes GH-429]
2011-07-25 21:33:36 -07:00
Mitchell Hashimoto
3f9534ae7d
Tests passing from Puppet update
2011-07-22 23:56:04 -07:00
Mitchell Hashimoto
14ca7ecc24
Better validation for networking configuration
2011-07-22 23:53:19 -07:00
Mitchell Hashimoto
16c21ed9d1
More terse test
2011-07-22 23:07:44 -07:00
Jeff Rafter
64ae5bcdf9
Rework indexes on chef solo provisioner to fix roles, data_bags [closes GH-425]
2011-07-22 23:02:16 -07:00
Mitchell Hashimoto
270da0da80
Failing test case for #407
2011-07-22 22:57:04 -07:00
Mitchell Hashimoto
6300bebe72
Disable SSH caching for now
2011-07-21 14:55:03 -07:00
Mitchell Hashimoto
0dacd78b10
Add `forwarded_port_destination` to find SSH port by that instead of key. [closes GH-375]
2011-07-10 22:41:35 -07:00
Mitchell Hashimoto
8248679fab
Fix bug with loading Vagrantfiles with new case changing
2011-07-10 16:08:39 -07:00
Mitchell Hashimoto
0db2ec9d43
Remove ResourceLogger and PlainLogger
2011-07-10 15:35:45 -07:00
Mitchell Hashimoto
442584fbac
Change default home directory to ~/.vagrant.d [closes GH-333]
2011-07-09 18:55:33 -07:00
Mitchell Hashimoto
52c5c79edf
Retry connection on Net::SSH::Disconnect [closes GH-313]
2011-07-09 17:02:41 -07:00
Mitchell Hashimoto
5143556065
Standardize on Util::Platform
2011-07-09 16:51:04 -07:00
Mitchell Hashimoto
1aed9f0f38
Remove leopard/tiger checking and just retry exec using safe_exec
2011-07-09 16:37:12 -07:00
Mitchell Hashimoto
874a9763f5
Only one copy of Vagrant can run at any given time. [closes GH-364]
...
This is to protect against issues with VirtualBox overwriting
each other.
2011-07-09 16:21:38 -07:00
Mitchell Hashimoto
24337b0ca4
vagrantfile now is lowercase. backwards compatible, though. [closes GH-399]
2011-07-09 15:18:52 -07:00
Mitchell Hashimoto
0b02deb37a
Share folders go into the modify pipeline
2011-07-08 12:07:27 -07:00
Mitchell Hashimoto
d797e48389
Clear shared folders uses new modify pipeline
2011-07-08 12:05:18 -07:00
Mitchell Hashimoto
79c46b4ec1
Forward ports now uses modify pipeline
2011-07-08 12:04:01 -07:00
Mitchell Hashimoto
027b22eca0
Clear forwarded ports to the modify pipeline
2011-07-08 12:02:35 -07:00
Mitchell Hashimoto
6b2feae0e8
Create single interal modify block to sync VM modifications
2011-07-08 11:59:29 -07:00
Mitchell Hashimoto
f3c44fba2f
Clear shared folders now in the context of a single write lock
2011-07-08 00:26:28 -07:00
Mitchell Hashimoto
60708873e4
Clear forwarded ports is now done in context of customize block
2011-07-08 00:20:15 -07:00
Mitchell Hashimoto
268f7f7bc2
Improved lock-reducing of forwarded ports action
2011-07-08 00:03:33 -07:00
Mitchell Hashimoto
2492f479d5
Tests passing from recent action changes
2011-07-07 23:58:42 -07:00
Mitchell Hashimoto
d77738b37f
Cache SSH connections to VMs.
2011-07-07 23:15:19 -07:00
Mitchell Hashimoto
e625dba5ab
Multiple Chef provisioners no longer overwrite cookbook folders. [closes GH-407]
2011-07-07 22:49:58 -07:00
Mitchell Hashimoto
729d62d1ea
Chef solo no longer overwrites share folders when multiple provisioners exist
2011-07-07 21:38:07 -07:00
Mitchell Hashimoto
5ae483ef85
Provisioners now properly share folders again
2011-07-07 10:38:32 -07:00
Mitchell Hashimoto
19eaddcd3a
Action to call `cleanup` method on provisioners during destroy.
2011-07-06 23:02:19 -07:00
Mitchell Hashimoto
1de152ae36
Move provisioning prepare up into the `call` method
2011-07-06 22:50:49 -07:00
Mitchell Hashimoto
bdc316f4ef
Provisioner configuration no longer cleared when box is downloaded during an `up`. [closes GH-308]
2011-07-06 22:08:37 -07:00
Mitchell Hashimoto
8733a745ce
Can now specify owner/group of shared folders. [closes GH-350]
2011-07-05 23:53:23 -07:00
Mitchell Hashimoto
dcaca22810
Show nice error message for bad HTTP downloads [closes GH-403]
2011-07-05 22:48:02 -07:00
Mitchell Hashimoto
c27d857387
Rename :chef_server to :chef_client. [GH-359]
2011-07-03 17:20:06 -07:00
Jamie Winsor
7c89ef3de2
Add support for Chef encrypted data bags: http://wiki.opscode.com/display/chef/Encrypted+Data+Bags
...
Add two configuration options to chef_server provision:
encrypted_data_bag_secret_key_path - the location of your encrypted secret key on your local machine
encrypted_data_bag_secret - the location you wish to place the key on the target machine and the value of Chef::Config[:encrypted_data_bag_secret]. Default value of "/etc/chef/encrypted_data_bag".
2011-07-02 21:20:22 -07:00
Mitchell Hashimoto
1e33aa9ab4
Get the tests passing for the Chef provisioner
2011-06-16 18:07:11 -06:00
Mitchell Hashimoto
338b3ac094
Run Chef commands in a single command [GH-390]
2011-06-16 18:04:55 -06:00
Maksim Horbul
23bb514100
provide absolute paths for solo.rb and dna.js in order to make it work correctly with the restart cookbook https://github.com/dreamcat4/site-cookbooks/tree/COOK-245/restart/
2011-06-13 14:08:21 -07:00
Mitchell Hashimoto
c117dba4ab
Refactor and tests for GH-342 (chef enhancements)
2011-05-16 12:49:05 -07:00
Mitchell Hashimoto
f30ef2b8a9
Merge https://github.com/rcreasey/vagrant
2011-05-16 12:37:21 -07:00
Ryan C. Creasey
d0000e9f49
adding tests for providing data bags into the vm.
2011-05-12 08:06:57 -07:00
Mitchell Hashimoto
b8c2b6cde4
Fix test incompat with Ruby 1.8.6
2011-05-12 00:04:11 -07:00
Pat Collins
5f751d5a77
Provide a method to specify a Chef environment in a Vagrantfile.
2011-05-11 23:31:36 -07:00
Mitchell Hashimoto
234c47a3a7
Retryable can take multiple exceptions to retry on
2011-04-19 22:24:52 -07:00
Dimitri Aivaliotis
6f9387adc6
added :file_cache_path and :file_backup_path as configurable parameters
...
removed deprecated :file_store_path parameter
2011-02-25 19:33:01 -08:00
Mitchell Hashimoto
3c45df0a88
Can now configure what shell to sudo with (default: bash)
2011-02-08 23:06:05 -08:00
Mitchell Hashimoto
22f085dc5d
Tests for mac address setting on host only network
2011-02-08 19:42:32 -08:00
Mitchell Hashimoto
6d6ca39795
Host only networking only doesn't work on 64-bit Windows
2011-01-29 21:03:27 -08:00
Mitchell Hashimoto
8d55bdcae5
Style tweaks and tests added for changing host name
2011-01-28 17:41:48 -08:00
Mitchell Hashimoto
1e931eaba6
chmod and execute shell provisioning script in a single session
2011-01-25 11:43:25 -08:00
Mitchell Hashimoto
75e283c81a
New `shell` provisioner which uploads and executes a script as root on VM
2011-01-23 12:00:50 -08:00
Mitchell Hashimoto
2821dcee7f
SSH commands which use sudo compatible with sudo < 1.7.0
2011-01-21 23:38:42 -08:00
Mitchell Hashimoto
59fa9ac46b
net-ssh 2.1.0. Adds "IdentitiesOnly" support for net-ssh, fixing problems.
2011-01-19 22:00:38 -08:00
Mitchell Hashimoto
9673b7eaee
Remove config.ssh.port, it actually never did anything
2011-01-14 00:36:49 -08:00
Mitchell Hashimoto
66bf56a073
Fix issue with puppet mounting shared folder as subfolder of another, causing spurious folder creation on the host
2011-01-14 00:21:20 -08:00
Mitchell Hashimoto
302f9ff0bb
Puppet provisioner can mount/configure module paths from local directory
2011-01-13 21:02:26 -08:00
Mitchell Hashimoto
db20f399fb
Improved puppet config validation
2011-01-13 17:27:39 -08:00
Mitchell Hashimoto
8d24f779f0
Provisioner config object should have access to the top config
2011-01-13 16:54:34 -08:00
Mitchell Hashimoto
3051174dfe
Chef server config validation testing
2011-01-12 17:00:01 -08:00
Mitchell Hashimoto
2a5070dad7
All provisioners are now RVM-friendly
2011-01-12 16:57:19 -08:00
Mitchell Hashimoto
93d241f4ce
Puppet is now RVM friendly
2011-01-12 16:28:45 -08:00
Mitchell Hashimoto
8482eeff0b
net-ssh-shell support for shell-based SSH interactions
2011-01-12 15:21:54 -08:00
Mitchell Hashimoto
a4a02675ad
Add a nice full error message for the old-style provisioner setting
2011-01-12 01:19:21 -08:00
Mitchell Hashimoto
047f9970fe
Support hash based options for provisioners
2011-01-12 01:02:53 -08:00
Mitchell Hashimoto
4e5a7aa6bf
Fix order-dependent test
2011-01-12 00:14:16 -08:00
Mitchell Hashimoto
658affe8cd
Provisioner config tests, fixed some bugs
2011-01-11 23:11:51 -08:00
Mitchell Hashimoto
a91ad4d89f
Fixed provisioners to the new conventions. Tests passing!
2011-01-11 22:37:09 -08:00
Mitchell Hashimoto
cddccab9ae
Provision action works again
2011-01-11 22:13:09 -08:00
Mitchell Hashimoto
85b8ccc2ec
Provisioners now register themselves with their shortcut name
2011-01-11 19:52:55 -08:00
Mitchell Hashimoto
766607db49
Raise an error message if host only networking is not supported
2011-01-09 13:34:37 -08:00
Mitchell Hashimoto
d00f314eb9
Systems can now respond to `distro_dispatch` to return specific distro systems
2011-01-09 13:06:26 -08:00
Mitchell Hashimoto
25ea67a9f7
Get rid of Ruby 1.8.7 warning in tests
2011-01-08 21:22:16 -08:00
Mitchell Hashimoto
8ce95318c7
Remove check for OSE version, since with VirtualBox 4 this distinction no longer exists.
2011-01-07 01:32:21 -08:00
Mitchell Hashimoto
9a158cf45a
Set VAGRANT_HOME env var to change vagrant home directory
2011-01-06 19:21:23 -08:00
Mitchell Hashimoto
a5d8193982
Allow multiple Vagrant::Config.run in a single Vagrantfile again
2011-01-06 19:05:31 -08:00
Mitchell Hashimoto
b8c84b67b7
Vagrantfiles are loaded only once, instead of 4+ times [closes GH-238]
2011-01-06 19:00:29 -08:00
Mitchell Hashimoto
e258395346
Rewrite of Vagrant::Config, on the path to fix bug with multiple loading Vagrantfiles
2011-01-06 18:35:58 -08:00
James Turnbull
3849355ef6
Basic Puppet Server provisioner
2011-01-06 13:33:22 -08:00
Mitchell Hashimoto
496f68fd6a
Move SSH::Session to its own file
2011-01-05 16:45:05 -08:00
Petyo Ivanov
b9e24090e9
Add X11 ssh forwarding option (off by default).
2011-01-04 20:17:04 -08:00
Mitchell Hashimoto
e0c716e454
Fix automount select to accept key/val instead of just val
2011-01-04 20:10:34 -08:00
Mitchell Hashimoto
c1e0504c66
Improve the file downloader test to use a real file
2010-12-31 22:00:11 -06:00
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