Mitchell Hashimoto
b0b7c56aa3
More accurate commenting/documentation on the command helpers
2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
e88d735cb6
Make configured VM providers default to an empty one
2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
6478139cee
Move config.vm.customize to VirtualBox specific option
2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
dffbf6eb09
Allow COnfirm calls to be forced by specifying a force_key
2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
50d7b0aba4
Fix bug where Call didn't propagate recovery. Warden has no recovery.
...
The issue here is that when a middleware failed and a recovery sequence
started, it would halt at the "call" step because the "Call" didn't
properly recover the child sequence.
An additional issue was that a Warden had no "recover" method, meaning
embedded Wardens wouldn't recover their stacks properly.
2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
a6e0d3908f
Create a "dummy" provider for tests
2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
ac7958a43b
Environment#primary_machine takes a provider argument. Use it.
2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
128c06e78d
Environment#default_provider
2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
1ee470a551
Begin work on supporting provider-specific configuration
...
This works by registering a `config` with `:provider => true` with the
same name as your provider. Vagrant will then automatically configure
the provider when `config.vm.provider` is used.
2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
99c5cddb7d
V2 config supports the concept of an "UNSET" value when doing merges
...
This value should be used as a default, and allows the parent `merge`
method to "just work" most of the time.
2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
2da812bd48
Change log levels of some messages that are useful
2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
e16010041a
Warden only logs an error once
2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
cc24d7b196
Better logging for the box collection
2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
c9d5cff7be
Add in some logging
2012-12-23 16:29:23 -08:00
Mitchell Hashimoto
819140bbc2
Don't error if box doesn't exist on load
2012-12-23 16:29:23 -08:00
Mitchell Hashimoto
0ec639c8e1
BoxCollection#find should only find V1 box when searching for vbox
2012-12-23 16:29:23 -08:00
Mitchell Hashimoto
f2b91d26fd
Load the configuration per machine, so that provider boxes work
...
Boxes are provider-specific, and we don't know the provider until
Environment#machine is called, so we need to build up the machine
configuration during this time.
2012-12-23 16:29:23 -08:00
Mitchell Hashimoto
0180ed849d
Move config loader order out from an ivar into a param for the #load
...
method
2012-12-23 16:29:23 -08:00
Mitchell Hashimoto
1559f7b7a7
Get rid of the old Environment#vms calls. Use #machine everywhere.
2012-12-23 16:29:23 -08:00
Mitchell Hashimoto
130a602e9b
Style nitpick
2012-12-16 10:40:12 -08:00
Nate Smith
d556c0006c
Update lib/vagrant/plugin/v2/plugin.rb
...
Require set in the V2 plugin file since it uses it.
Fixes #1257
2012-12-11 15:51:35 -05:00
Mitchell Hashimoto
d84b71d73e
Require set in the V1 plugin file since it uses it.
2012-12-01 11:28:31 -08:00
Mitchell Hashimoto
b416665fd7
Just some comments
2012-11-07 22:21:48 -08:00
Mitchell Hashimoto
2ef6ff10f0
Cache the machine objects created in Environment#machine.
...
Each machine and provider backing should be represented by only one
machine.
2012-11-07 22:08:06 -08:00
Mitchell Hashimoto
67855be77b
Add the Environment#machine method
...
This will eventually replace the Environment#vms method. Because of the
introduction of providers, the environment doesn't know what the backing
of the machines will be (and they're _machines_ now, not _vms_).
Instead, users of Environment will now call `#machine` on the
environment to retrieve a machine with the given backing provider as it
needs it.
2012-11-07 21:45:09 -08:00
Mitchell Hashimoto
53860f90ab
V2 loader now properly upgrades V1 configuration.
...
This is done by calling the `upgrade` method on the _old_ configuration
classes. The old configuration classes are given the complete new
configuration and can set whatever settings they need to on it.
2012-11-07 20:01:39 -08:00
Mitchell Hashimoto
d254d6f718
Configure the V2 kernel.
2012-11-06 21:28:44 -08:00
Mitchell Hashimoto
81ca275792
Providers to V2
2012-11-06 21:20:55 -08:00
Mitchell Hashimoto
5a33b7ee54
Hosts to V2
2012-11-06 21:20:22 -08:00
Mitchell Hashimoto
1d2beff649
Guests to V2
2012-11-06 21:14:45 -08:00
Mitchell Hashimoto
45f211b19e
Communicators to v2 plugins.
2012-11-06 21:14:10 -08:00
Mitchell Hashimoto
78a1e5726e
Get rid of some ruby warnings due to shadowed variables
2012-11-06 21:12:15 -08:00
Mitchell Hashimoto
e8370f0098
Convert comands to V2 plugins.
2012-11-06 21:09:29 -08:00
Mitchell Hashimoto
be294e002a
Build the v2 interface, which is just a copy of V1 for now.
2012-11-06 20:51:03 -08:00
Mitchell Hashimoto
0ca783e8d1
V1 config loader loads upgradable config if not V1
...
This is to prepare for the upcoming V2 configuration. When we're in V2,
we only want to load _upgradable_ configuration keys.
2012-11-03 21:54:32 -07:00
Mitchell Hashimoto
59d5c5ed92
Add support for "upgrade safe" config classes to plugins.
...
These are classes that use NO core classes of Vagrant, and are therefore
safe to load for upgrades. i.e. a V2 core can load a V1 config class
that is deemed upgrade safe without crashing Vagrant.
2012-11-03 21:39:06 -07:00
Mitchell Hashimoto
c803b0508a
Much cleaner plugin part querying syntax.
...
Before we were manually going over every plugin and getting each piece,
all over the place. Now we have a central manager that will give us all
the pieces we want. There is still some cleanup to do here but this is
much better overall.
2012-11-03 21:25:28 -07:00
Mitchell Hashimoto
6ca671e2b8
Don't allow registry to be given value in non-block form
2012-11-03 20:46:24 -07:00
Mitchell Hashimoto
6df6f6764f
Remove plugin activation. It really isn't necessary.
...
It was only used in a couple places and it isn't necessary since you can
do the loading within the actual blocks themselves.
2012-11-03 20:29:34 -07:00
Mitchell Hashimoto
32d5599e72
Document the box collection format a bit more
2012-09-27 11:57:40 -07:00
Mitchell Hashimoto
1360d86747
Use `next` over select with symbol to proc
2012-09-27 11:52:03 -07:00
skim
bad38ca935
fixes an exception issue when a non-directory appears in the boxes dir
2012-09-25 21:13:38 -05:00
Mitchell Hashimoto
bb56f4dd31
Clean up logic surrounding file downloader matching
2012-09-09 20:31:17 -07:00
Mitchell Hashimoto
e0e2cc1974
Merge pull request #1087 from nwjsmith/master
...
Allow `file://` URIs from `config.box.url`
2012-09-09 20:28:19 -07:00
Mitchell Hashimoto
7158445c2d
Error message on ECONNRESET for box downloading via HTTP [GH-1090]
2012-09-09 20:16:43 -07:00
Nate Smith
50c04ac927
`box.url` can use `file://` URI
2012-08-24 09:53:50 -04:00
Mitchell Hashimoto
ba0e426507
Get vagrant package --base working in some hacky way.
...
`vagrant package --base` is deprecated for a future feature so I didn't
want to waste any brain cycles on how to do this the "right" way since a
new system will be introduced to do this sort of thing in teh future.
2012-08-19 18:51:36 -07:00
Mitchell Hashimoto
cc7768c535
Trivial whitespace changes
2012-08-18 20:06:50 -07:00
Mitchell Hashimoto
a7b298b647
Remove Vagrant::VM
2012-08-18 19:36:50 -07:00
Mitchell Hashimoto
78d79de5c4
Comment the action_box_add method
2012-08-18 16:19:13 -07:00
Mitchell Hashimoto
47fe278667
`vagrant box add` works again. Box verification remove temporarily.
...
The built-in middleware sequences will now be hardcoded onto
Vagrant::Action. Other plugins can hook into these sequences to provide
verification and so on. So the VirtualBox plugin will hook into that
action sequence and add verification.
2012-08-18 16:13:14 -07:00
Mitchell Hashimoto
fa4cf63462
Remove the actions that are unavailable now from autoload
2012-08-15 21:55:47 -07:00
Mitchell Hashimoto
fcffcb2ee0
Delete more unused actions
2012-08-15 21:55:25 -07:00
Mitchell Hashimoto
ef5eabb63d
Remove the builtin VM middleware that are now part of the VB provider
2012-08-14 22:39:25 -07:00
Mitchell Hashimoto
b659191a02
`vagrant up`!
2012-08-14 22:38:41 -07:00
Mitchell Hashimoto
2fc18f7207
`destroy` gets a little farther, and properly halts the VM
2012-08-13 23:18:50 -07:00
Mitchell Hashimoto
bca8663742
`vagrant resume` works with the new machine abstraction
2012-08-13 20:03:35 -07:00
Mitchell Hashimoto
83b908f3d8
`vagrant suspend` works with new machine abstraction
2012-08-13 19:30:41 -07:00
Mitchell Hashimoto
296878cff5
Add basic loop detection for distro_dispatch
2012-08-12 19:03:22 -07:00
Mitchell Hashimoto
0eddda3552
Halt works with new machine.
...
This required some modifications to the linux guest implementation. And
the other guests will have to be modified as well. This is because
`channel` is now `communicate`.
2012-08-12 18:54:52 -07:00
Mitchell Hashimoto
f9752d78d8
Properly resolve and load the guest class impl for Machines
2012-08-12 18:35:19 -07:00
Mitchell Hashimoto
28f341ec75
Begin working on the #guest method for Machine instances
2012-08-12 16:46:00 -07:00
Mitchell Hashimoto
5e70ad0ec2
`vagrant ssh -c` now uses a middleware sequence
2012-08-10 00:57:23 -07:00
Mitchell Hashimoto
2e25285297
Add nice inspect results for Environment and Machine
2012-08-10 00:38:11 -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
595e7cee0e
Move SSH communication to a plugin
2012-08-08 21:48:51 -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
5f8a654393
Goodbye, instance_eval on Vagrant::Action::Builder!
2012-07-26 22:00:25 -07:00
Mitchell Hashimoto
2ef20586da
Remove the action registry feature.
...
This can be removed since in the future all actions will come from the
providers or something. There are still issues with box actions but
we'll get back to that later...
2012-07-26 21:57:11 -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
aef2c5f48e
Logging statements to Vagrant::Machine
2012-07-16 14:21: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
Mark LaPerriere
28e19d5449
Update load_plugins to be more Windows friendly. Uses File::PATH_SEPARATOR instead of hard-coded colon (':').
2012-07-12 15:25:28 -03:00
Mitchell Hashimoto
690d380b77
Use the new BoxCollection API
2012-07-11 18:41:13 -07:00
Mitchell Hashimoto
f20666e230
Automatically upgrade the boxes all over.
2012-07-11 18:36:23 -07:00
Mitchell Hashimoto
bcd1304ef4
Remove unused middleware sequences related to repackaging
2012-07-11 18:36:23 -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
8026715619
Remove the box_remove builtin middleware sequence.
2012-07-11 18:36:22 -07:00
Mitchell Hashimoto
6bb621026f
`vagrant box add` uses the new API.
...
This assumes VirtualBox boxes for now, which is fine.
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
e647afc7d2
Add logging statements to the box upgrade process.
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
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
a34801588c
Handle the case where ctrl-D is pressed on input.
2012-07-11 18:30:37 -07:00
Mitchell Hashimoto
61621369d2
Catch Net::SSH::Disconnect when connecting to SSH
...
This error was experienced by @pearkes. It is thrown when the remote end
unexpectedly closes the remote end. This is usually caused by SSH not
being able to properly setup the connection.
2012-07-04 08:26:09 -10:00
Mitchell Hashimoto
ef265ab3ba
Disable read timeout for HTTP downloader
2012-06-28 21:28:40 -07:00
Mitchell Hashimoto
5bc0fa1dff
Default the IO.select result to empty array to avoid nil errors
2012-06-28 08:22:06 -07:00
Mitchell Hashimoto
0b9173efd9
Handle case that `writers` is nil on IO.select in subprocess
...
This can happen when IO.select timeout is reached when we're listening
for writers.
2012-06-27 13:54:05 -07:00
Mitchell Hashimoto
0b3e703498
Add the gateway to hostonly network interfaces on Debian [GH-990]
2012-06-27 11:18:23 -07:00
Mitchell Hashimoto
134e56db21
Reference proper constant ALL_ACTIONS
2012-06-27 11:16:04 -07:00
Mitchell Hashimoto
70bdd9f56e
Move host base class to a plugin component
2012-06-27 09:26:03 -07:00
Mitchell Hashimoto
214b29888a
Remove the old guest base
2012-06-26 16:29:53 -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
2e00a007ce
Move provisioner superclass into the V1 namespace
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
6231bef3f0
Simple logging text change
2012-06-23 23:40:55 -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
a677c15e86
Use `next` instead of `return` for 1.8.x compatibility.
...
Since we're not calling this lambda from inside a method, the `return`
causes a LocalJumpError on 1.8.x. It appears this functionality works
fine on 1.9.x but we'd like to support both. The correct behavior
appears to use `next`.
2012-06-23 10:47:01 -07:00
Mitchell Hashimoto
ba64c28304
Convert the path to a string because it may be a Pathname
2012-06-22 21:06:49 -07:00
Mitchell Hashimoto
fa99eb7e54
Check for permission denied when using SCP to upload [GH-924]
2012-06-22 21:04:21 -07:00
Mitchell Hashimoto
d8c16035c8
Don't use Pathname#each_child for 1.8.7 compat [GH-979]
...
each_child is a 1.9.x feature. The implementation however is simple
enough that I copied it over and just use the 1.8.7 compatible version.
2012-06-22 20:47:43 -07:00
Mitchell Hashimoto
51be92eeb6
Remove dependence on V1 Kernel from Environment
2012-06-14 18:46:48 -07:00
Paul Morton
922a5aade5
Update drivers to support reading MAC Addresses
2012-06-11 21:29:21 -07:00
Matt Robenolt
db76b42ef5
Allow the .vagrant dotfile to be moved into a completely different directory tree
...
I wanted to define my dotfile as: `config.vagrant.dotfile_name =
"~/.vagrant-projectname"` and noticed that the full path wasn't
expanded as expected.
This patch allows the vagrant file to be placed anywhere on the
filesystem.
2012-06-09 22:56:54 -07:00
mxtthias
447d6810f7
Explicitly tell ssh server we're done sending data
2012-06-08 14:40:49 +02:00
Mitchell Hashimoto
b393de052f
Subprocess now only yields stdout/stderr if you're listening
2012-06-01 23:17:48 +02:00
Mitchell Hashimoto
2441961a34
Fix bug where SSH didn't work properly
...
Forgot to set the `shell` variable properly
2012-06-01 23:17:38 +02: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
903fd3acdc
Easy operations API `local` now echoes stdout/stderr
2012-06-01 16:38:40 +02:00
Mitchell Hashimoto
ca6d49bc94
Easy operations `run` and `sudo` now echo stdout/stderr
2012-06-01 16:33:41 +02:00
Mitchell Hashimoto
f133f39bcc
Add comment to explain unclear code
2012-06-01 16:08:41 +02:00
Mitchell Hashimoto
fd9ad904fe
Easy commands now take a target VM name
...
It is assumed to be the first arg, as long as the first arg doesn't
begin as a flag "-foo"
2012-06-01 15:59:05 +02:00
Mitchell Hashimoto
83917a6bb0
Added `arg` and `arg_extra` API to easy commands
...
Easy commands can now easily get arguments from the command line.
Using `arg`, you can get named arguments on the command line, such as
"--foo" or "-f"
With `arg_extra`, you can get any remaining arguments after a "--"
on the command line, which is a common pattern used to grab longer
parameters.
2012-06-01 15:57:55 +02:00
Mitchell Hashimoto
100e1f7eb0
Primary VMs are respected again.
...
At some point in the past, primary VMs were no longer respected for
commands. This fixes taht.
2012-06-01 15:10:26 +02:00
Mitchell Hashimoto
9cb53860c2
New easy command APIs: argv, info, error, success
...
Some new APIs were added to the easy command operations. `info`,
`error`, and `success` are simple ways to output messages to the UI
without resorting to "puts" in Ruby, since the Vagrant UI object is the
idiomatic way to do communication with the world.
Additionally, `argv` was added which gives commands access to the
command-line arguments that are remaining that does not include the
vagrant binary or subcommand.
Also, behavior was changed: Previously, easy commands would run for
every target VM. Now, it is only run once with the primary VM. In the
next commit, I plan on adding a new flag that signifies an easy command
is meant to work with a named VM.
2012-06-01 14:55:08 +02:00
Mitchell Hashimoto
1ef679f683
SSH log level fatal. Thanks @petejkim
...
This change makes it so that SSH errors are shown, whereas QUIET hid
those as well. The main change to QUIET was to get rid of warnings,
not errors, so this fixes that.
2012-05-31 23:42:28 +02:00
Zsolt Takács
cac79cf409
preserve attributes on packaging when using ruby 1.9.2
...
see http://bugs.ruby-lang.org/issues/4507
2012-05-26 16:51:18 -07:00
Matt Callaway
117a9c146a
On Linux where IPv6 is disabled, where /etc/hosts has '::1 localhost', a socket connect to localhost 2222 results in ENETUNREACH which needs to be caught as per this patch.
2012-05-25 15:45:18 -05:00
Mitchell Hashimoto
d5a7ca6159
config.ssh.shell now contains full shell command
...
Before, it only contained the shell executable and "-l" was magically
appended to it. However, every shell doesn't support "-l" and maybe "-l"
isn't even the behavior that users want!
Therefore, the config.ssh.shell command must now contain the full
command to execute.
2012-05-23 15:30:16 -07: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
95e554314e
Foundation for supporting multiple version types
...
I created VersionBase which is the abstract base class for any
configuration versions. Configuration versions are responsible for
knowing how to load configuration given a proc (from a
Vagrant.configure block), as well as merging configuration procs. In the
future, it will have to upgrade versions as well. This is not done yet.
The VERSIONS constant was added to Vagrant::Config which is a registry
to keep track of all the available configuration versions. The
VERSIONS_ORDER constant is an array of the ordering of these versions.
The ordering is important so that in the future Vagrant can attempt to
gracefully upgrade the configurations. It is also used to determine the
current configuration version (which is assumed to be the last version
in the order).
The loader was modified to use the current version and the VERSIONS
registry instead of hardcoding V1.
2012-05-20 17:47:24 -07:00
Mitchell Hashimoto
0f85cb7b74
Log the guest class chosen
2012-05-19 09:32:43 -07:00
Josh Mahowald
174df1edf0
Setting up hostname before setting up the network to minimize issues as described in http://serverfault.com/questions/38114/why-does-sudo-command-take-long-to-execute
2012-05-19 09:17:44 -07:00
Mitchell Hashimoto
73c8299ecd
Merge pull request #868 from justinlynn/add_dhcp_default_route_option
...
Issue #862 : Allow bridged networking without removing the interface's DHCP assigned default route
2012-05-06 14:46:58 -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
d230f0a41c
Environment.rb doesn't need to load in "rubygems" anymore
2012-05-06 13:49:22 -07:00
Mitchell Hashimoto
de92f5217c
Use `load` for the Vagrantrc, make sure it is only loaded once
2012-05-06 10:09:33 -07:00
Mitchell Hashimoto
0d6248394c
Tests for the Easy command base
2012-05-06 10:01:50 -07:00
Mitchell Hashimoto
dc4f6e1939
Allow creating multiple easy commands
2012-05-06 09:54:23 -07:00
Ryan LeCompte
2355a4b9a6
fix support for multiple unique easy commands
2012-05-06 01:47:43 -07:00
Mitchell Hashimoto
b7854c1ef6
Easy hooks
2012-05-05 22:31:21 -07:00
Mitchell Hashimoto
31ac7271aa
Rename EasyCommand namespace to Easy
2012-05-05 22:16:13 -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
e4fa5bb489
Validate that commands only contain proper characters
2012-05-05 20:01:14 -07:00
Mitchell Hashimoto
64ece507ad
`download` operation
2012-05-05 19:52:10 -07:00
Mitchell Hashimoto
f8ab516082
`upload` operation for easy commands
2012-05-05 19:44:52 -07:00
Mitchell Hashimoto
1d7e02cd63
Build up some operations that can be run.
...
These are heavily inspired by Fabric! Thanks!
2012-05-05 19:28:50 -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
462136cbf2
Use the .vagrantrc for plugins!
2012-05-05 13:08:07 -07:00
Mitchell Hashimoto
d9034da8a4
Remove gem-based plugin loading
2012-05-05 12:57:31 -07:00
Mitchell Hashimoto
3b7030ed2c
Merge pull request #905 from LarsFronius/master
...
Fix for issue #898 - interfaces assigned in wrong order under ruby1.8
2012-05-04 20:52:04 -07:00
Mitchell Hashimoto
359ea23069
Support multiple paths in VBOX_INSTALL_PATH [GH-885]
2012-05-04 20:48:52 -07:00
Mitchell Hashimoto
04df9bc80b
Merge pull request #877 from bitprophet/allow-agents-in-plain-mode
...
Don't use IdentitiesOnly under 'ssh -p'
2012-05-04 20:31:15 -07:00
Jorgen H. Fjeld
6f5a9d13f3
Detect and disable DNS settings that break on Ubuntu 12.04.
2012-05-01 22:24:07 -07:00
Sean Wolfe
e10e8aae86
After changing the file permissions, we need to reload the stat before comparing again. Otherwise we will always throw an exception even if we set the permissions successfully.
2012-05-01 13:26:12 -07:00
Lars Fronius
534faeae7c
Fixes a bug where interfaces are assigned in a wrong order when using ruby1.8, causing vm boot to stop as documented in issue #898
2012-04-26 21:11:16 +02:00
Mitchell Hashimoto
9956e6d012
Better directory structure for plugins
2012-04-20 16:53:01 -07:00
Mitchell Hashimoto
cae80a7716
Make Vagrant::Plugin a module
2012-04-19 21:42:35 -07:00
Mitchell Hashimoto
86a846e445
Remove old command directory
2012-04-19 21:33:26 -07:00
Mitchell Hashimoto
945f3bba67
Remove old commands
2012-04-19 21:29:25 -07:00
Mitchell Hashimoto
deb346d5a1
Remove guest subdirectory
2012-04-19 21:28:24 -07:00
Mitchell Hashimoto
3a79aa0beb
Remove hosts directory
2012-04-19 21:27:16 -07:00
Mitchell Hashimoto
9593ad3fdb
Get rid of provisioners directory
2012-04-19 20:30:14 -07:00
Mitchell Hashimoto
6161c04fcf
Fix some issues with commands not referencing proper classes
2012-04-19 14:02:03 -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
0d7b9f84e2
Add logging to v1 plugin registration
2012-04-18 21:32:15 -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
a62e859231
Get rid of the UNSET_VALUE stuff, save it for v2
2012-04-18 17:09:25 -07:00
Mitchell Hashimoto
b38fb5e974
Loader uses the new configuration classes
2012-04-18 17:03:34 -07:00
Mitchell Hashimoto
98d6bf958e
Move core config into a plugin
2012-04-17 22:12:27 -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
4034a2db21
`vagrant destroy` works in "guru meditation" state
2012-04-12 10:18:34 -07:00
Jeff Forcier
e35fac0986
Protip, don't apply changes from old released versions to master
2012-04-09 18:01:03 -07:00
Jeff Forcier
59852e79de
Don't use IdentitiesOnly under 'ssh -p'
2012-04-09 17:57:41 -07:00
Justin Lynn
a20ee32c9a
Need to correctly configure the template's options.
...
pull the config through the bridged interface configuration routine
template debugging
add another test line
set the setting in the correct areas, yay dynamic method calls
2012-04-05 10:58:58 -07:00
Justin Lynn
bf3d3b0245
add use_dhcp_assigned_default_route setting to allow for dhcp bridged interfaces which have a default route assigned by dhcp
2012-04-05 09:21:09 -07:00
Mitchell Hashimoto
00c4193b43
Merge pull request #856 from stevehodgkiss/fix_error_when_changing_users
...
Cleanup any tmp files set by vagrant to fix a permissions issue when switching users.
2012-04-03 21:56:16 -07:00
Mitchell Hashimoto
e98cedf0e1
LogLevel QUIET for SSH to suppress known hosts warning [GH-847]
2012-04-02 09:57:16 -07:00
Mitchell Hashimoto
285a07ebb3
Don't use unless
2012-04-02 09:55:39 -07:00
Steve Hodgkiss
3561c1c5ba
Guests should clean up after themselves
2012-04-02 17:33:54 +10:00
Steve Hodgkiss
092e8a95b3
Cleanup any tmp files set by vagrant to fix a permissions issue when switching users.
2012-04-02 14:56:43 +10:00
David Calavera
e8c5cf09db
fix reading information method for vbox 4.1
2012-03-31 18:58:02 -07:00
David Calavera
b0e6085c0b
Fix importing progress status check
2012-03-31 18:50:45 -07:00
David Calavera
73b31b5a3b
fix regexp matchers
2012-03-30 19:36:35 -07:00
David Calavera
eb07788db1
Remove global variables
2012-03-30 19:36:26 -07:00
Mitchell Hashimoto
1782acdf2e
Fix up some stuff from previous pull request
2012-03-30 19:31:03 -07:00
Hunter Morris
db6cd14f9e
Detect when the VirtualBox installation is incomplete and error
2012-03-30 19:29:39 -07:00
Mitchell Hashimoto
9f6bc9ee03
Catch Errno::ETIMEDOUT for downloading boxes [GH-849]
2012-03-30 19:28:10 -07:00
Mitchell Hashimoto
2ed6695f78
Improve the SSH ready? check [GH-841]
2012-03-28 22:30:01 -07:00
Mitchell Hashimoto
c9d1110b0e
Up version for development
2012-03-28 22:08:55 -07:00
Mitchell Hashimoto
41445466ee
v1.0.2
2012-03-25 10:08:22 -07:00
Mitchell Hashimoto
bfe20a223f
Fail fast if the VM fails to boot properly. [GH-825]
2012-03-25 10:00:27 -07:00
Mitchell Hashimoto
1b4388ee98
Fix a few edge cases where CLI#execute didn't properly return an int
2012-03-25 09:58:57 -07:00
Mitchell Hashimoto
351f9757a1
Backwards compatible with_target_vms, fix failing test
2012-03-23 11:29:10 -04:00
withnale
ff36845259
Allow multiple VMs to be specified for relevant commands
2012-03-23 11:25:35 -04:00
Mitchell Hashimoto
3338b6c134
Support arbitrary exit statuses for CLI commands that aren't exploding
2012-03-23 11:07:35 -04:00
Mitchell Hashimoto
c1445a0130
Check if a port is open prior to forwarding [GH-821]
2012-03-23 10:31:27 -04:00
Mitchell Hashimoto
d08a65e7f7
IsPortOpen utility
2012-03-23 10:26:29 -04:00
Mitchell Hashimoto
3877b71983
Better logging in the SaneDefaults middleware
2012-03-23 10:00:26 -04:00
Seth Chisamore
c137dec14f
Enable DNS proxy (in NAT mode) by default
2012-03-23 09:37:04 -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
1749e4cf94
Enable Host IO cache on SATA controller by default
2012-03-22 13:41:48 -07:00
Mitchell Hashimoto
641a8daac8
safe_puts to avoid EPIPE [GH-819]
2012-03-18 17:45:49 -06:00
Hendrik Volkmer
28e391cb61
Disable IdentitiesOnly for SunSSH
...
SunSSH is default on Solaris/OpenSolaris/Illumos. SunSSH does not support
the IdentitiesOnly option. 'vagrant ssh' works when the options is not supplied.
2012-03-18 16:32:15 +01:00
Mitchell Hashimoto
cd92d6483f
Update CHANGELOG
2012-03-15 09:52:28 -06:00
Remco Vermeulen
728dbe5a4f
Make sure that the private_key_path is expanded before checking existence.
...
This allows for paths like ~/.ssh/some_key to be defined in the Vagrantfile.
2012-03-14 12:02:31 +01:00
Christian Rigdon
b4e24c91f5
Add encrypted databag options to chef-solo
2012-03-13 16:27:11 -06:00
Benedikt Böhm
aa06f06d1a
add change_host_name support for gentoo
2012-03-13 14:56:22 -07:00
Benedikt Böhm
275241caf6
fix interpolation error in VMGuestError strings
2012-03-13 14:56:11 -07:00
Mitchell Hashimoto
3ff4be3632
Nicer error for unsupported SSH key type [GH-805]
2012-03-13 14:27:16 -07:00
Mitchell Hashimoto
0245245daa
Update CHANGELOG
2012-03-13 14:19:34 -07:00
R. Tyler Croy
95ebd5b4ca
Allow provisioners to prepare, even if they're not enabled
...
Fixes #801
2012-03-13 05:08:33 -07:00
Mitchell Hashimoto
5bc27e46d3
v1.0.1
2012-03-11 16:10:30 -07:00
Mitchell Hashimoto
07fa6d5dc4
ssh-config -h shows help [GH-793]
2012-03-11 10:38:23 -07:00
Mitchell Hashimoto
b38083fb9b
OpenBSD guest [GH-773]
2012-03-10 14:03:09 -08:00
Mitchell Hashimoto
8ea5e15b48
`vagrant reload` accepts `--no-provision` and `--provision-with`
2012-03-10 13:57:18 -08:00
Mitchell Hashimoto
37b8a13179
Add the :facter option for puppet server [GH-790]
2012-03-09 12:16:27 -08:00
Mitchell Hashimoto
0b28910b77
Update CHANGELOG + Style
2012-03-09 10:18:40 -08:00
Daniel Simmons
38212969c6
Don't attempt to calculate percentage if total is not set
...
Prevents a FloatDomainError if the total is zero or not known. Fixes #788 .
2012-03-09 11:10:30 +00: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
bab5d7b685
Silent UI can't respond to `ask`
2012-03-07 22:42:47 -08:00
Mitchell Hashimoto
3046845215
Show nice error if vagrant destroy can't confirm [GH-779]
2012-03-07 22:35:40 -08:00
Mitchell Hashimoto
95b3e9f82f
UI errors if a TTY is required and not given
2012-03-07 22:32:44 -08:00
Mitchell Hashimoto
700938b668
Load rubygems in environment.rb [GH-781]
2012-03-07 22:15:45 -08:00
Mitchell Hashimoto
ef90fb7b0d
Up version for dev
2012-03-06 11:38:11 -08:00
Mitchell Hashimoto
1fd4cb1a4e
Fix a potential exception case by making UUID for VB driver optional
2012-03-06 11:37:36 -08:00
Mitchell Hashimoto
14513a99b3
Ignore me.
2012-03-05 22:17:39 -08:00
Mitchell Hashimoto
40901dc2e6
Make sure a driver is always set on a VM object
2012-03-05 20:42:55 -08:00
Mitchell Hashimoto
97cf6ddfba
Update CHANGELOG
2012-03-04 16:39:35 -08:00
Wayne E. Seguin
9990311f20
Added Fedora 16 handling.
2012-03-04 18:42:37 -05:00
Mitchell Hashimoto
a90f33dcf2
Avoid deadlock behavior on Windows subprocess IO [GH-765]
2012-02-28 09:44:28 -08:00
Achim Herwig
7c1fcbdde0
Added openSuSE as host system.
...
Init script for NFS-server differs.
2012-02-28 11:55:39 +01:00
Mitchell Hashimoto
a8293543e9
Automatically convert all customize arguments to strings.
2012-02-26 14:13:24 -08:00
Mitchell Hashimoto
07a815f9d8
Remove deprecation warnings, the things are gone!
2012-02-25 12:35:58 -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
6490710d43
Puppet accepts :facter option to override default facts [GH-753]
2012-02-25 10:18:17 -08:00
Mitchell Hashimoto
2c823e98bd
Fix crashing bug with `primary_vm` on Environment
2012-02-24 10:27:34 -08:00
Mitchell Hashimoto
50fb129f53
Make VM#run_action public for plugin devs
2012-02-23 23:01:43 -08:00
Ian Downes
0f63171a4d
Support for bridged networks in FreeBSD
2012-02-23 18:06:40 -08:00
Mitchell Hashimoto
23fe4ef7e2
Fix up the freebsd guest regex
2012-02-22 15:19:45 -08:00
Ian Downes
3ebde12efb
add change_host_name support for FreeBSD
2012-02-22 15:08:18 -08:00
Mitchell Hashimoto
2f420705da
Output version at the top of every log
2012-02-22 10:00:19 -08:00
Mitchell Hashimoto
cf840c88b0
Merge pull request #751 from jjhuff/chef-provision
...
Fix for permissions when re-provisioning chef.
2012-02-20 17:28:31 -08:00
Mitchell Hashimoto
3e5b3d051b
Fix exception when adding boxes due to recent change. [GH-752]
2012-02-20 17:26:22 -08:00
Justin Huff
32f7f98ef4
Fix for permissions when re-provisioning chef.
...
https://github.com/mitchellh/vagrant/issues/748
2012-02-20 09:53:09 -08:00
Jaime Soriano Pastor
c0338dfa4b
NIC type can also be defined for host-only adapters
2012-02-20 12:16:10 +01:00
Mitchell Hashimoto
5eb09aac3f
Up version for RC2
2012-02-19 11:50:54 -08:00
Mitchell Hashimoto
8969605fe2
Check that VirtualBox exists early. [GH-746]
2012-02-19 11:36:25 -08:00
Mitchell Hashimoto
c2fbbe7dee
Better logging for config loading
2012-02-15 18:23:05 -08:00
Mitchell Hashimoto
d4a2e39c3e
Gracefully handle if the type of arg is not correct for bridged.
...
[GH-743]
2012-02-15 18:20:44 -08:00
Mitchell Hashimoto
163da82170
Fix edge case which caused exception in network configuration code.
...
[GH-742]
2012-02-15 11:11:11 -08:00
Mitchell Hashimoto
034477b52a
Add `fsid` to linux exports for NFS. [GH-736]
2012-02-14 23:08:32 -08:00
Mitchell Hashimoto
96a920e4e5
Destroy VMs in reverse order. [GH-739]
2012-02-14 10:42:30 -08:00
Mitchell Hashimoto
2cf146cf6b
Set uuid directly if VM couldn't be found. [GH-725]
...
This fixes a rare edge case where an exception could actually cause
Vagrant to remove the UUID state of a running VM, "losing" it.
2012-02-13 17:39:18 -08:00
Mitchell Hashimoto
888907de91
Up version for 1.0.0.rc1
2012-02-12 11:21:00 -08:00
Mitchell Hashimoto
b64ac0b0d3
Use `binmode` to actually fix GH-727
2012-02-11 10:36:27 -08:00
Mitchell Hashimoto
9e427562ef
Retry VirtualBox commands. [GH-726]
2012-02-10 21:56:59 -08:00
Mitchell Hashimoto
c50c7959f9
Convert lineendings for the other guests as well
2012-02-10 18:14:51 -08:00
Mitchell Hashimoto
ba42fffed0
Convert line endings to Unix-style [GH-727]
2012-02-10 18:07:59 -08:00
Mitchell Hashimoto
5c49d693d4
You can no longer output a package to a directory [GH-730]
2012-02-10 17:57:40 -08:00
Mitchell Hashimoto
99ec766efe
Get rid of tabs
2012-02-10 17:57:40 -08:00
John Bender
b8db119d50
expose virtualbox base driver methods execute and raw
2012-02-09 23:04:21 -08:00
Mitchell Hashimoto
02fe7b6a9a
Merge branch '0-9-6-regression'
2012-02-09 00:45:30 -08:00
Mitchell Hashimoto
ea19bddb04
v0.9.7
2012-02-10 00:54:16 -08:00
Mitchell Hashimoto
0ba3824106
Windows subprocess IO works again. [GH-721]
2012-02-10 00:53:22 -08:00
Mitchell Hashimoto
aa18ea3fd0
Fix issue where starting a VM failure was false negative [GH-720]
2012-02-09 00:04:47 -08:00
Mitchell Hashimoto
f81fb58cd9
Fix puppet inheritence for config [GH-722]
2012-02-08 22:28:19 -08:00
Bob Van Zant
ae62c9bd68
Convert example host only IPs to RFC1918
2012-02-08 14:50:33 -08:00
Mitchell Hashimoto
9882918903
`destroy` takes a `--force` flag [GH-699]
2012-02-07 22:58:01 -08:00
Mitchell Hashimoto
6ed6c0c085
`destroy` asks for confirmation. [GH-699]
2012-02-07 22:54:51 -08:00
Mitchell Hashimoto
fbcb2c6ddc
Merge branch 'f-vagrant-gem'
2012-02-07 22:42:34 -08:00
Mitchell Hashimoto
6224f79557
Up version for development. 1.0 folks.
2012-02-07 21:32:50 -08:00
Mitchell Hashimoto
600e8ae036
v0.9.6
2012-02-07 21:30:29 -08:00
Mitchell Hashimoto
6f45cdc1ed
Some code cleanup
2012-02-07 21:20:33 -08:00
Mike Lundy
00953073e7
Add Gentoo support for NFS
2012-02-07 21:14:47 -08:00
Mitchell Hashimoto
c9fe21cf72
Merge pull request #719 from semarj/master
...
Fix the ifdown/ifup issue for once and for all?
2012-02-07 21:00:07 -08:00
semarj
64a26dae18
Update lib/vagrant/guest/redhat.rb
2012-02-07 17:42:28 -06:00
Mitchell Hashimoto
a25a691913
Don't forward ports if there aren't any to forward
2012-02-07 15:40:35 -08:00
Paul Handly
a0e60d641d
Uncolorize puppet provisioner output
2012-02-07 14:52:16 -08:00
John Bender
ea9dadd41e
update the action_env test helper for the new environment structure
2012-02-06 22:47:25 -08:00
Mitchell Hashimoto
a3d9615a13
Custom help for `vagrant gem` on top of RubyGems help
2012-02-06 22:52:34 -05:00
Mitchell Hashimoto
13fddfa6f9
Load plugins with the private gem path.
...
This changed plugin loading semantics a tiny bit, since they are
no longer loaded when Vagrant is loaded but instead when the
Vagrant::Environment is initialized. I'll note this in the CHANGELOG.
2012-02-06 22:39:35 -05:00
Mitchell Hashimoto
261a83d60f
Logging statements in plugin loading
2012-02-06 22:31:45 -05:00
Mitchell Hashimoto
4444e7150c
`vagarnt gem` cannot be called within a bundler env
2012-02-06 22:22:28 -05:00
Mitchell Hashimoto
d19f7a44e5
Starting on the `vagrant gem` command.
2012-02-06 22:16:37 -05:00
Mitchell Hashimoto
fd54cf0809
`vagrant ssh` now uses a direct exec() [GH-751]
...
Before, I was using the "super exec" by passing a single string.
Ruby handles this by actually invoking the command with a shell.
This causes some odd issues with file pathes with spaces and
expansion and other things. This no longer happens.
2012-02-06 15:27:28 -05:00
Mitchell Hashimoto
3eff28ac0d
Don't strip color codes with ANSI escape code remover
2012-02-05 13:30:21 +01:00
Mitchell Hashimoto
6c1eafe00e
Update CHANGELOG
2012-02-05 13:23:53 +01:00
Joe Kutner
36f43fa676
moved the closing of subprocess streams to after the process has finished.
2012-02-05 13:21:50 +01:00
Mitchell Hashimoto
3ea04f2577
Up version for dev
2012-02-05 13:17:00 +01:00
Mitchell Hashimoto
fb3d2234cf
v0.9.5
2012-02-05 13:15:42 +01:00
Mitchell Hashimoto
987abb8abc
Fix typo in puppet server I18n
2012-02-04 17:51:45 +01:00
Mitchell Hashimoto
a6a42b31df
Ability to specify `:bridge` to networking [GH-655]
2012-02-04 15:04:28 +01:00
Mitchell Hashimoto
26d9636faf
Better logging with the bridged networking layer
2012-02-04 14:51:55 +01:00
Mitchell Hashimoto
90d7742c9c
More intelligent puppet server cert name handling
2012-02-04 13:57:02 +01:00
Mitchell Hashimoto
ab8b1d3ea6
Fix some issues with puppet server config inheritance
2012-02-04 13:51:36 +01:00
withnail
e90c36ac77
puppet_server certname changes
...
At present, puppet_node is defined by default and must almost always be
overwritten. This changes the logic for puppet_server so puppet_node is
initially undefined and the node name will be set based on this order
1. puppet_node if defined
2. host_name if defined (actually this removes the explicit certname
specification which is cleaner and uses the machine hostname)
3. config.vm.box
2012-02-04 13:50:15 +01:00
withnail
77c1b7c9e2
Only list bridged interfaces that are up [GH-701]
2012-02-01 15:38:57 -08:00
semarj
535bda2a4e
properly restart the interface. Was failing with /sbin/ifup
2012-01-31 22:36:38 -06:00
Scott Sanders
2d327055f3
Do not allow BSD hosts to double-quote in exports
...
This is not allowed on *BSD
2012-01-30 19:52:59 -08:00
Scott Sanders
0ec02fe711
Update comment to better reflect the actual issue
2012-01-30 19:52:36 -08:00
Scott Sanders
28c377848f
Update FreeBSD guest to support networking
...
The latest update to 0.9.x broke FreeBSD networking. This patch fixes
things by moving the code into the right method.
2012-01-30 19:51:58 -08:00
Mitchell Hashimoto
f9a42973d9
Select NFS version with :nfs_version
2012-01-29 13:34:50 -08:00
Mitchell Hashimoto
3a8c44301b
Fix some issues with NFS version selecting
2012-01-29 13:33:35 -08:00
Russ Garrett
ced99edd59
Allow user to choose NFS protocol version, defaulting to 3
...
NFSv4 has siginificant added complexity in the form of ID-mapping which
can cause problems with applications without extra setup. Best to
force version 3 unless the user requests it.
Conflicts:
lib/vagrant/systems/linux.rb
2012-01-29 13:27:42 -08:00
Mitchell Hashimoto
f095939800
Update changelog for GH-690
2012-01-28 21:50:57 -08:00
sathlan
4715400761
The type of nic can be set for bridged network.
...
:nic_type can be specified in the network bridged type. Its value can
be Am79C970A, Am79C973, 82540EM, 82543GC, 82545EM, virtio.
2012-01-28 21:50:04 -08:00
Mitchell Hashimoto
d687473760
Fix crashing issue when all networks don't aut config [GH-689]
2012-01-28 21:48:12 -08:00
Mitchell Hashimoto
f8619007a7
Update version for dev
2012-01-28 17:39:47 -08:00
Mitchell Hashimoto
261dadb1c6
v0.9.4
2012-01-28 17:38:53 -08: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
88ba3a3619
Change middleware internals to make plugin lives easier [GH-684]
2012-01-28 17:31:50 -08:00
Mitchell Hashimoto
e9ae63f3b5
Merge pull request #688 from schisamo/transient-shared-folder-support
...
add vbox driver support for creating transient shared folders
2012-01-28 16:50:27 -08:00
Mitchell Hashimoto
6d7a3d9b64
More accurate VBoxManage error detection.
2012-01-27 12:40:42 -08:00
Seth Chisamore
14c4dc5d53
add vbox driver support for creating transient shared folders
2012-01-27 11:53:42 -08:00
Mitchell Hashimoto
e1dbc7f9b1
Fix some puppet translation
2012-01-27 10:52:27 -08:00
Mitchell Hashimoto
5500058343
Call xpg4/bin/id on Solaris [GH-679]
2012-01-26 09:56:06 -08:00
Mitchell Hashimoto
20fa355502
Uncolorize puppet server output since it does it for us [GH-685]
2012-01-26 09:52:37 -08:00
Mitchell Hashimoto
8d6a33584f
Set the name as a separate step. [GH-669]
2012-01-25 21:16:21 -08:00
Mitchell Hashimoto
195a0d6999
Logging for host detection
2012-01-25 10:42:35 -08:00
Mitchell Hashimoto
f1dd5459f2
Properly detect Arch, Fedora, FreeBSD [GH-683]
2012-01-25 10:39:17 -08:00
Mitchell Hashimoto
0576d6e817
NFS shared folders can have the :create flag, too [GH-667]
2012-01-24 21:54:47 -08:00
Mitchell Hashimoto
e6ea1c6340
NFS shared folders can contain unexpanded guest paths
2012-01-24 21:40:35 -08:00
Mitchell Hashimoto
3cda2e48dc
Setting :auto_config to false will not configure a network. [GH-663]
2012-01-24 21:29:26 -08:00
Mitchell Hashimoto
ce2ea4ea93
Error message when kernel module is not loaded for VirtualBox [GH-677]
2012-01-24 19:30:55 -08:00
Mitchell Hashimoto
f48a2784a0
Regexp escape VM names when matching for them.
2012-01-24 17:03:55 -08:00
Mitchell Hashimoto
0dbd012d6b
Up version for dev
2012-01-24 00:19:04 -08:00
Mitchell Hashimoto
aeaf44db32
v0.9.3
2012-01-24 00:18:10 -08:00
Mitchell Hashimoto
3a5f0cefb3
Remove ANSI escape codes from SSH output
...
Note that the ANSI escape code removal is not complete,
but is fairly comprehensive in terms of the codes that
really muck with the terminal layout.
2012-01-23 19:29:07 -08:00
Mitchell Hashimoto
d1e78f791d
Remove test warnings, add ANSI escape code remover
2012-01-23 19:24:32 -08:00
Ryan Gibbons
2339f3c833
use printf instead of echo
...
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html#tag_20_37_16
2012-01-23 18:11:17 -08:00
Mitchell Hashimoto
17224e3df6
Merge pull request #675 from scoates/755499
...
ignore host-only interface if it is down
2012-01-23 17:57:17 -08:00
Mitchell Hashimoto
ae8b476639
Fix crashing issue with bridged networking [GH-673]
2012-01-23 10:05:03 -08:00
Sean Coates
755499dcf9
ignore interface if it is Ddown (not 100% sure about vbox4.0 support; please test)
2012-01-23 10:38:18 -05:00
Mitchell Hashimoto
f2eff93c38
Proper error handling of missing arguments to all box commands
2012-01-20 15:23:33 -08:00
Mitchell Hashimoto
9fce04c2cd
Test for the correct number of arguments to box add
2012-01-20 15:21:54 -08:00
Mitchell Hashimoto
4252fe94de
Up version for dev
2012-01-20 11:41:12 -08:00
Mitchell Hashimoto
3b4cf0b225
v0.9.2
2012-01-20 11:40:17 -08:00
Mitchell Hashimoto
ce365336cd
Unnecessary line of code
2012-01-20 11:36:12 -08:00
Mitchell Hashimoto
97235ee080
Clean up some impl [GH-666]
2012-01-20 11:25:39 -08:00
Jarmo Pertman
b9046a5594
enable colors on Windows when using ANSICON
2012-01-20 11:21:16 -08:00
Mitchell Hashimoto
4ead6e3f82
If there is only one bridgable interface, just use that [GH-655]
2012-01-19 21:11:42 -08:00
Mitchell Hashimoto
f022e9ee36
Fix issue where chef solo always expected "cookbooks" folder [GH-638]
2012-01-19 21:06:09 -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
f87c25bac8
Provide defaults in a proper way for Chef config
2012-01-19 20:47:01 -08:00
Mitchell Hashimoto
28eddafa56
Better logging in linux guest impl
2012-01-19 20:17:10 -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
ac48d270eb
Error if :vagrant is used as chef JSON key. [GH-661]
2012-01-19 19:48:57 -08:00
Mitchell Hashimoto
89fb684297
Add a deprecation error for `config.vm.system=` [GH-653]
2012-01-19 17:41:34 -08:00
Mitchell Hashimoto
9b4925d5de
Use ifdown instead of ifconfig down for Ubuntu/Debian
2012-01-19 17:36:29 -08:00
Mitchell Hashimoto
0d455fcf73
Get rid of nil dereference error when reading version [GH-658]
2012-01-19 17:34:06 -08:00
Mitchell Hashimoto
3f3476f323
Use symbol as a hash key for subprocess. Guarantees we always get a string back.
2012-01-19 17:24:22 -08:00
Mitchell Hashimoto
527b79853c
Log output now goes on stderr by stdout
2012-01-19 17:12:18 -08:00