Mitchell Hashimoto
b568ad0b8a
Fix package to probably put output box in pwd
2013-02-04 10:38:50 -08:00
Mitchell Hashimoto
55c905b43b
`vagrant plugin license` command.
2013-02-04 10:32:04 -08:00
Mitchell Hashimoto
7e71b73e4a
Reformat some comments to be within 80 chars
2013-02-04 10:04:31 -08:00
Eric Tipton
421c2a9b2e
fix args parser w/r/t ssh "-t" option -- it was failing b/c any associated shell commands need to be the last part of the system command
2013-02-04 06:16:32 -05:00
Mitchell Hashimoto
5d75a65382
Get rid of error "status codes" and just exit with 1
2013-02-03 18:04:43 -08:00
Mitchell Hashimoto
635949980b
Handle the case a plugin install is a plugin not found
2013-02-03 14:29:29 -08:00
Mitchell Hashimoto
2079941e7d
If the ID file doesn't exist, then don't delete it
2013-02-03 14:23:25 -08:00
Mitchell Hashimoto
01756dc964
Fix the UI so the output shows the proper machine name
2013-02-03 14:23:07 -08:00
Mitchell Hashimoto
78e9853b71
The resource in the UI doesn't show up if it is nil
2013-02-03 14:20:40 -08:00
Mitchell Hashimoto
3df6088db0
Make plugin loading more robust to errors
2013-02-03 14:13:27 -08:00
Mitchell Hashimoto
1162c2dbfc
Instead of shelling out, use the RubyGems API to install plugins
...
This gets us an accurate name of the gem even if it is installed
from a file.
2013-02-03 13:59:43 -08:00
Mitchell Hashimoto
5882d5dad6
VAGRANT_NO_PLUGINS can be used to skip plugin loading
2013-02-03 13:03:00 -08:00
Mitchell Hashimoto
693b825eb1
Don't use the RC file, use the JSOn state file
2013-02-03 12:53:52 -08:00
Mitchell Hashimoto
fa50f06a4c
Error if RubyGems failed.
2013-02-02 23:31:53 -08:00
Mitchell Hashimoto
a2ef7790de
Start creating the plugin middleware sequences
2013-02-02 18:42:04 -08:00
Mitchell Hashimoto
ec995b5ddf
Avoid cross-device moves when adding boxes [GH-1350]
2013-02-02 16:37:46 -08:00
Mitchell Hashimoto
165dd63f78
New HandleBoxUrl built-in middleware to handlet the "box_url" config
2013-02-01 11:31:08 -08:00
Mitchell Hashimoto
4e6496bed7
Improve subprocess logging
2013-01-31 19:47:54 -08:00
Mitchell Hashimoto
a8c7ad30ee
Be a bit more fine grained about errors that are reported for Vfiles
2013-01-31 18:52:29 -08:00
Mitchell Hashimoto
67c2e205be
Create rgloader/loader.rb files for encoded files
2013-01-31 18:48:56 -08:00
Mitchell Hashimoto
1392d9b4a5
Detect if a VM name is already taken for VirtualBox
2013-01-30 23:22:45 -08:00
Mitchell Hashimoto
7fe19d3a11
Use box directory as temporary directory to avoid cross-device [GH-1199]
2013-01-30 21:54:07 -08:00
Mitchell Hashimoto
c164a5ca81
Merge pull request #1300 from kainz/master
...
Avoid cross device activity for box creation by creating tmp dir in provider dir
2013-01-30 21:47:40 -08:00
Mitchell Hashimoto
c75ec09014
Lower IO.select timeouts to improve subprocess speeds
...
We were getting bit if the process exited while we were doing an
IO.select because it would then wait the full timeout.
2013-01-30 21:29:04 -08:00
Mitchell Hashimoto
c5120fdd5e
Don't fail too early with bad Vagrantfiles [GH-1345]
2013-01-30 20:16:10 -08:00
Mitchell Hashimoto
e9327c4a28
Better logging in the config logger
2013-01-30 20:12:41 -08:00
Mitchell Hashimoto
c57ba9de58
Give a nice human-friendly error message when problems loading Vfile
2013-01-30 20:01:41 -08:00
Mitchell Hashimoto
75ea4e5bdd
--provision-with works properly again
2013-01-30 19:42:54 -08:00
Mitchell Hashimoto
e0f0066c99
--no-provision works properly again
2013-01-30 19:39:21 -08:00
Mitchell Hashimoto
7eec127704
Support refreshing the machine cache
2013-01-30 10:37:40 -08:00
Mitchell Hashimoto
64042a5d35
Downloading the box_url component works again
2013-01-30 10:24:47 -08:00
Mitchell Hashimoto
a21744a12d
Merge pull request #1336 from ithinkihaveacat/return-non-zero-if-invalid-command
...
Return exit status of 1 on invalid command
2013-01-29 10:58:55 -08:00
Mitchell Hashimoto
e1b78dbfbe
Unlock the file explicitly due to some weirdness on BSD kernels
2013-01-28 21:08:22 -08:00
Mitchell Hashimoto
7531c94dbf
Allow path and exception for Lock middleware to be procs
2013-01-28 20:46:39 -08:00
Mitchell Hashimoto
9ae3a373c8
Add new middleware builtin: Lock
...
This will do a process lock by flocking a file. If it fails, it will
raise an exception of choice.
2013-01-28 17:08:37 -08:00
Mitchell Hashimoto
0d27cd5bcb
Warn if Vagrant is run outside of installers
2013-01-28 13:39:56 -08:00
Mitchell Hashimoto
d4cf03d6c5
`vagrant package` uses bsdtar
2013-01-28 13:20:42 -08:00
Mitchell Hashimoto
35aef1aa0b
Use bsdtar to repackage boxes
2013-01-28 13:18:07 -08:00
Mitchell Hashimoto
e6a0023713
Switch to bsdtar for unpackaging a box
2013-01-28 13:01:43 -08:00
Michael Stillwell
7941748db7
Return exit status of 1 on invalid command
...
Makes "vagrant destroyjj" and similar return an exit code of 1, so that
"vagrant destroyjj && vagrant up" works as expected.
2013-01-27 19:52:43 +00:00
Mitchell Hashimoto
c3cc513609
Create the setup_version file to track our directory layout version
2013-01-25 16:37:54 -08:00
Mitchell Hashimoto
6a3c0bd425
Call built-in supports args for imddleware
2013-01-22 12:20:02 -08:00
Mitchell Hashimoto
fb875ab642
Better logging in the GracefulHalt middleware
2013-01-22 12:13:42 -08:00
Mitchell Hashimoto
51540496a9
GracefulHalt builtin
2013-01-22 11:56:49 -08:00
Mitchell Hashimoto
e1f4e27b1b
Update docs for v2 provider interface for MachineState
2013-01-21 11:44:19 -06:00
Mitchell Hashimoto
8ad8f73846
Raise an exception if a non-MachineState is returned
2013-01-21 11:31:20 -06:00
Mitchell Hashimoto
7bdf54923a
Create the MachineState class
2013-01-21 11:25:28 -06:00
Mitchell Hashimoto
2d57afbbda
Support warnings/errors when upgrading Vagrantfiles internally
2013-01-20 22:04:50 -05:00
Mitchell Hashimoto
ffd9c1eb9c
Verify we have errors to show if we're going to show them
2013-01-18 13:37:31 -08:00
Mitchell Hashimoto
7f55d5eac8
Builtin: ConfigValidate will validate your configuration
2013-01-18 13:26:14 -08:00
Mitchell Hashimoto
37e36010e0
Remove the ErrorRecorder
2013-01-18 13:15:22 -08:00
Mitchell Hashimoto
fff021e51d
Update Chef provisioner to new validation API
2013-01-18 13:12:02 -08:00
Mitchell Hashimoto
e651eb3aa1
Add a V2 config helper to merge errors since that seems common
2013-01-18 13:03:07 -08:00
Mitchell Hashimoto
3f3c7027aa
Machine objects are passed into validate instead of env
2013-01-18 12:43:53 -08:00
Mitchell Hashimoto
a8b57ba13f
Ignore empty error groups
2013-01-18 12:27:29 -08:00
Mitchell Hashimoto
bae6555836
Remove DeprecationError
2013-01-18 12:23:29 -08:00
Mitchell Hashimoto
e0c8fadae4
I can remove the `validate!` method from the v1 root
2013-01-18 12:18:30 -08:00
Mitchell Hashimoto
42a1ce6e9d
Remove the old config validation error
2013-01-18 12:15:36 -08:00
Mitchell Hashimoto
e6f9586d83
New validation method on the root that returns errors
2013-01-18 12:14:40 -08:00
Mitchell Hashimoto
0bd0752bf2
Environment#data_dir
...
This is basically a directory to store state.
2013-01-18 11:37:49 -08:00
Mitchell Hashimoto
776a1e446b
Strip the value, actually, to trim the front newline
2013-01-15 21:57:10 -08:00
Mitchell Hashimoto
6c2e1c354f
Chomp values inserted into a StringBlockEditor
2013-01-15 21:55:56 -08:00
Mitchell Hashimoto
23668d4ed0
Fix some newline weirdness with StringBlockEditor
2013-01-15 21:53:11 -08:00
Mitchell Hashimoto
adec64baa4
Add the #get method to StringBlockEditor
2013-01-15 20:34:41 -08:00
Mitchell Hashimoto
335503a688
StringBlockEditor to help plugins with owning parts of files
2013-01-15 17:49:46 -08:00
Mitchell Hashimoto
5c9f27626c
Provisioner built-in uses new API
2013-01-13 16:09:32 -08:00
Mitchell Hashimoto
cf2cca3b7c
Revamp the configuration internal state for defining provisioners
2013-01-13 16:02:48 -08:00
Mitchell Hashimoto
c8053c00a4
New provisioner API. Shell provisioner adheres to it.
2013-01-13 15:48:52 -08:00
Mitchell Hashimoto
25fcb59e38
Use registries for the V2 plugin manager
2013-01-13 13:05:31 -08:00
Mitchell Hashimoto
f3b340aae0
Use registry merging for provider configs
2013-01-13 13:00:06 -08:00
Mitchell Hashimoto
45879132a3
Registries support merging
2013-01-13 12:58:48 -08:00
Mitchell Hashimoto
e66c5066e4
Plugin configuration can have scopes now, ex. provider
2013-01-13 12:38:17 -08:00
Mitchell Hashimoto
212e634c3b
Make Provision a built-in action.
...
This allows other providers to just use it.
2013-01-12 16:22:37 -08:00
Mitchell Hashimoto
22571bf05b
Rescue the EHOSTDOWN error for SSH
2013-01-12 12:47:49 -08:00
Mitchell Hashimoto
124a2ee5d3
Add the --provider optional flag to `box add`
2013-01-11 21:24:57 -08:00
Mitchell Hashimoto
48eaa93745
Raise proper error if there aren't any NIC slots available
2013-01-11 15:57:08 -08:00
Mitchell Hashimoto
102e8f23d6
Use scoped hash overrides for high-level config
2013-01-11 15:50:09 -08:00
Mitchell Hashimoto
0c612f695f
Util::ScopedHashOverride
2013-01-11 15:44:35 -08:00
Bryon Roche
b5c75b89a9
Make box creation not cross filesystems.
...
This will cause issues on modern linux which uses a tmpfs-backed tmpdir.
2013-01-07 16:19:17 -08:00
Mitchell Hashimoto
f428b288f3
Convert provider to symbol only if non-nil
2012-12-30 18:08:07 -10:00
Mitchell Hashimoto
20253c4c4f
Convert provider to symbol
2012-12-30 18:04:31 -10:00
Mitchell Hashimoto
a30a92bb4f
active_machines should return name as a symbol
2012-12-30 11:51:22 -10:00
Mitchell Hashimoto
4c46091746
Environment#primary_machine_name and use it for with_target_vms
...
This makes the single-provider and default provider semantics work with
primary VMs.
2012-12-30 11:12:56 -10:00
Mitchell Hashimoto
07157b47ae
Only allow one provider active machine at a time.
...
Temporary limitation of Vagrant to only allow one active machine with a
provider at a time. That means you cant `up` a machine with both vmware
and virtualbox at the same time. In the future you will be able to but
to avoid various edge cases for now we're disallowing it.
2012-12-30 10:52:01 -10:00
Mitchell Hashimoto
526603dbbf
Lots more logging in with_target_vms
2012-12-29 18:34:11 -10:00
Mitchell Hashimoto
9257fe3d98
Environment#active_machines
...
This returns a list of active machines for the environment. An active
machine is a machine that at one point was created by Vagrant.
2012-12-27 19:28:05 -10:00
Mitchell Hashimoto
4e649cc987
Upgrade V1-style dotfile to V2
...
See the code and comments for details on how this is done. As usual, we
are very careful about this so as not to inadvertently destruct real
user data.
2012-12-26 22:41:42 -08:00
Mitchell Hashimoto
c0c3e7bf43
Remove Vagrant::DataStore
...
We just don't use it yet and the old implementation was sketchy. I was
not happy with it.
2012-12-26 21:45:24 -08:00
Mitchell Hashimoto
b15a6dee0e
Log more information about the machine
2012-12-26 21:45:24 -08:00
Mitchell Hashimoto
3baa31460f
Store machine ID in "id" file in data directory.
...
Instead of storing an "active" hash in the local_data of an Environment,
we now place the ID of a machine in the "id" file of the machine data
directory. This file is read upon re-instantiation in order to load the
proper state.
2012-12-26 21:45:23 -08:00
Mitchell Hashimoto
d18edc3ce5
Detect a V1 environment and stub upgrade process
2012-12-26 21:45:23 -08:00
Mitchell Hashimoto
cc18492c7a
Local data path introduced
...
The local data path is set to the `ROOT_DIR/.vagrant` by default and is
a directory where Vagrant can store environment-local state. This can be
overriden on a per-Environment basis using the `local_data_path`
option.
2012-12-26 21:45:23 -08:00
Mitchell Hashimoto
5cb2f3275a
Get rid of a silly constant for subdirs in Environment
...
The data is only used once anyways so just use a local variable.
2012-12-26 21:45:23 -08:00
Mitchell Hashimoto
8fe0f86dbd
The --provider flag for `up` now actually does something.
2012-12-23 21:23:08 -08:00
Mitchell Hashimoto
3808ea377f
Upgrade all other default configurations to V2
2012-12-23 16:29:26 -08:00
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
Mitchell Hashimoto
e68eb1f4f3
More verbose logging for SSH
2012-01-19 17:02:18 -08:00
Mitchell Hashimoto
87b03609db
Filter clear screen character out of stderr as well
2012-01-19 15:14:11 -08:00
Ryan Gibbons
8aa1d58b33
filter the clear screen command over ssh connections
2012-01-19 16:03:59 -07:00
Mitchell Hashimoto
3db8db9cdc
Fix reference to a class that doesn't exist
2012-01-19 14:21:26 -08:00
Mitchell Hashimoto
c600d9237b
Properly merge forward_agent and other SSH configs [GH-651]
2012-01-18 18:48:07 -08:00
Mitchell Hashimoto
ce53263a11
Update version for development
2012-01-18 11:14:02 -08:00
Mitchell Hashimoto
231747cb7e
v0.9.1
2012-01-18 11:12:53 -08:00
Ryan Gibbons
a11e99cdae
Switch to using ifconfig <device> down instead of ifdown. ifdown will return non-zero status if device failed to get IP during dhcp.
2012-01-18 11:04:54 -08:00
Ryan Gibbons
cc94f1ee2c
making the same ifdown -> ifconfig change for debian
2012-01-18 11:02:35 -08:00
Mitchell Hashimoto
3ab8aaa1b0
Clarify invalid log level message [GH-645]
2012-01-18 09:40:51 -08:00
Frank Luithle
f3038a4033
Fix 'box help' subcommand for Ruby 1.8.7
...
This is related to Github issue #599 , with a similar fix.
2012-01-18 12:23:43 +01:00
Mitchell Hashimoto
8abada25b9
Fix poor variable reference in puppet server. Also colorize output
2012-01-17 21:16:52 -08:00
Mitchell Hashimoto
d675b7c83c
Replace `test?` call with proper `test` call
2012-01-17 14:43:32 -08:00
Mitchell Hashimoto
06733a070d
NFS action no longer needs to recover from anything
2012-01-17 13:37:52 -08:00
Mitchell Hashimoto
def09573c6
Up version for development
2012-01-17 13:37:36 -08:00
Mitchell Hashimoto
939a667979
v0.9.0
2012-01-17 11:32:18 -08:00
Mitchell Hashimoto
0cf619dec8
Update solaris networks API
2012-01-17 11:30:21 -08:00
Mitchell Hashimoto
f4ea1f800c
Update Arch guest to the new networks API
2012-01-17 11:25:40 -08:00
Mitchell Hashimoto
3a2546907e
Update Gentoo guest to new networks API
2012-01-17 11:17:12 -08:00
Brad Greenlee
0181b167f6
Do expand_path in FileUtils.cp, where it really matters.
2012-01-14 15:19:29 -08:00
Mitchell Hashimoto
f1d5fe27ab
Check for /etc/exports before pruning
2012-01-13 20:38:20 -08:00
Mitchell Hashimoto
8f5232c5cf
`vagrant package --base`
2012-01-13 17:55:01 -08:00
Mitchell Hashimoto
7f10c05b5b
Clean up export progress output
2012-01-13 17:46:39 -08:00
Mitchell Hashimoto
29b5414295
Improve hostname setting for Debian to be more correct [GH-574]
2012-01-13 17:08:03 -08:00
Mitchell Hashimoto
0ee501fb6b
More effective guest addition version check [GH-639]
2012-01-13 16:13:41 -08:00
Mitchell Hashimoto
1927f8ef79
No more `NFSHelpers`
2012-01-12 23:34:06 -08:00
Mitchell Hashimoto
3456bfd2fe
Warn user we're pruning exports
2012-01-12 23:33:17 -08:00
Mitchell Hashimoto
7fdbb68917
Prune NFS exports more cleanly.
2012-01-12 23:30:19 -08:00
Mitchell Hashimoto
829f64406e
Add `attempts` to chef provisioners. [GH-282]
2012-01-12 23:10:30 -08:00
Mitchell Hashimoto
22ff1bb047
Ubuntu will emit a `vagrant-mounted` event. [GH-576]
...
There will be a MOUNTPOINT variable available with this event that
will point to the shared folder that has been mounted.
2012-01-12 22:57:32 -08:00
Mitchell Hashimoto
cfd0e0c30f
Merge pull request #637 from zev/master
...
Fix chef_client variable name error for vm
2012-01-12 22:40:26 -08:00
Zev Blut
481a588bc8
Fix vm variable name to be env[:vm]
2012-01-13 15:38:35 +09:00
Mitchell Hashimoto
5630dc144d
Fix up NFS to use the new VirtualBox drivers
2012-01-12 22:19:23 -08:00
Mitchell Hashimoto
5c2bb9412d
A much cleaner way to find NFS folders to mount
2012-01-12 22:11:59 -08:00
Mitchell Hashimoto
de450f7e63
Always clean the NFS exports
2012-01-12 22:11:59 -08:00
Mitchell Hashimoto
7dc5f8ca80
Revert "Always clear NFS exports for the VM booting [GH-529]"
...
This reverts commit 70705d2861
.
2012-01-12 22:11:59 -08:00
Zev Blut
ed894ab3a3
Fix syntax error for exception message.
2012-01-13 12:56:17 +09:00
Mitchell Hashimoto
70705d2861
Always clear NFS exports for the VM booting [GH-529]
2012-01-12 18:15:53 -08:00
Mitchell Hashimoto
6d212efdbd
Fix ppk path by just... not using ppk anymore. [GH-634]
2012-01-12 18:03:35 -08:00
Mitchell Hashimoto
3834930189
Remove open-uri in http downloader [GH-635]
2012-01-12 17:53:56 -08:00
Mitchell Hashimoto
8cc162f48f
Options after `--` to `vagrant ssh` are passed through to ssh [GH-554]
2012-01-11 23:49:42 -08:00
Mitchell Hashimoto
1f02318a5e
Variable name conflict
2012-01-11 23:23:05 -08:00
Mitchell Hashimoto
a8fe342520
Arbitrary mount options can be passed to shared folders with `:extra` [GH-551]
2012-01-11 23:20:12 -08:00
Mitchell Hashimoto
14d61f61ba
The full options data is sent to mount_shared_folder
2012-01-11 23:14:04 -08:00
Mitchell Hashimoto
f0b77d2f30
Additional fixes + tests for shell expansion [GH-633]
2012-01-11 22:56:15 -08:00
Brad Greenlee
9a242ba718
Do shell expansion before doing the file test in Vagrant::Downloaders::File#prepare so that "~/file/paths" work.
2012-01-11 22:54:11 -08:00
Mitchell Hashimoto
06d4b6a4e5
Don't default config values to nil
2012-01-11 22:35:28 -08:00
Mitchell Hashimoto
5c70dd1658
Remove nil defaults
2012-01-11 22:34:36 -08:00
Mitchell Hashimoto
863ebe2d2f
Custom merging for VM config
2012-01-11 22:12:49 -08:00
Mitchell Hashimoto
b7279ec79d
Custom merging behavior for VM configuration
2012-01-11 21:35:09 -08:00
Mitchell Hashimoto
1e856f7c75
Remove unused configuration key
2012-01-11 21:30:59 -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
43a9f0928a
Update CHANGELOG
2012-01-11 10:01:11 -08:00
Mitchell Hashimoto
fc7111734b
Clean up the Puppet provisioner a bit
2012-01-11 09:56:33 -08:00
Mitchell Hashimoto
73bff1b457
Fix up puppet provisioner a bit
2012-01-11 09:48:18 -08:00
Mitchell Hashimoto
eaf6ce7372
Verify shared folders for puppet
2012-01-11 09:29:30 -08:00
Mitchell Hashimoto
cb6020869f
Prompt for `reload` if shared folders aren't setup for Chef [GH-253]
2012-01-10 22:36:39 -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
18cdcb4330
Acceptance tests for chef solo, fixed a bug it found.
2012-01-10 21:08:43 -08:00
Mitchell Hashimoto
0c0d456db2
Add `--force` flag to `box add` [GH-631]
2012-01-10 20:37:33 -08:00
Mitchell Hashimoto
fe012e800f
Printing help due to invalid options should have error exit status
2012-01-10 20:30:18 -08:00
Mitchell Hashimoto
1aa73f7b70
Fix issue where "-c" was error checking...
2012-01-08 23:40:05 -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
8aa4e58ea8
Check for conflicting DHCP servers
2012-01-08 20:33:12 -08:00
Mitchell Hashimoto
4e426249ed
Basic :dhcp configuration works.
2012-01-08 20:33:12 -08:00
Mitchell Hashimoto
8c00d1d652
Raise an error if multiple matching Vagrantfiles are found [GH-588]
2012-01-08 11:54:32 -08:00
Mitchell Hashimoto
89eb256f9d
Proper error handling if the shared folder cannot be created [GH-604]
2012-01-08 11:29:52 -08:00
Mitchell Hashimoto
9cb4597a27
:create flag on shared folders will create on host if it doesnt exist [GH-604]
2012-01-08 11:23:43 -08:00
Mitchell Hashimoto
ba5cd9b88a
Windows host
2012-01-08 11:14:01 -08:00
Mitchell Hashimoto
8d32002c02
Don't clear NFS exports on expected failure [GH-577]
2012-01-07 22:01:44 -08:00
Mitchell Hashimoto
27372ef313
Namespace ssh-config template
2012-01-07 21:56:14 -08:00
Mitchell Hashimoto
acbc0d4b28
Namespace provisioner templates
2012-01-07 21:55:08 -08:00
Mike Fiedler
fbf5237de2
missing require tempfile, and fixed a typo
2012-01-07 21:18:55 -08:00
Mitchell Hashimoto
d07f0f8dd2
Support VirtualBox 4.0
2012-01-07 21:16:40 -08:00
Mitchell Hashimoto
a94cf520c6
Log4r levels need to be defined before we can check for them
2012-01-07 21:16:40 -08:00
Mitchell Hashimoto
7954d4cba8
Driver forwarding to 4.1 works properly
2012-01-07 21:16:40 -08:00
Mitchell Hashimoto
5157cccaef
Delegate all API methods to the proper version driver
2012-01-07 21:16:40 -08:00
Mitchell Hashimoto
767ee2509e
VirtualBox base class for the driver.
2012-01-07 21:16:40 -08:00
Mitchell Hashimoto
cab625c06c
We should verify VirtualBox is detected before looking for the old VM
2012-01-07 21:16:28 -08:00
Mike Fiedler
e05bfb7efc
missing bracket closure fails rake tests
2012-01-07 21:16:28 -08:00
Mitchell Hashimoto
87b1a6660d
Handle invalid log levels more gracefully
2012-01-07 21:16:22 -08:00
Mitchell Hashimoto
a7bde74cf3
VirtualBox driver can handle Windows-style newlines
2012-01-07 21:16:09 -08:00
Mitchell Hashimoto
4b52c39733
More robust VBOX_INSTALL_PATH handling on Windows
2012-01-07 21:15:57 -08:00
Mitchell Hashimoto
75539c2abe
Default host class is the base class
2012-01-07 13:13:17 -08:00
Mitchell Hashimoto
d9f5cbce3e
Initialize the connection ivar for SSH
2012-01-07 11:57:46 -08:00
Mitchell Hashimoto
7fce25e858
Show `attempting graceful shutdown` message from action, not guest
2012-01-07 11:44:53 -08:00
Mitchell Hashimoto
0f580fd2c0
Re-use SSH connection
2012-01-07 11:38:27 -08:00
Mitchell Hashimoto
7d56dbb755
Uploaded files now use temporary files rather than StringIO
2012-01-06 21:42:25 -08:00
Mitchell Hashimoto
275ddae646
Convert everything to the new SSH API
2012-01-06 20:07:32 -08:00
Mitchell Hashimoto
7bdbec4229
Start switching the old SSH API to the new one
2012-01-06 20:07:32 -08:00
Mitchell Hashimoto
d094432238
No longer require `forwarded_port_key` setting, its gone
2012-01-06 20:07:32 -08:00
Mitchell Hashimoto
faaa763d50
SSH connect is now SSH `exec`
2012-01-06 20:07:32 -08:00
Mitchell Hashimoto
19c1340e40
Vagrant::SSH no longer handles actual communication with the VM
2012-01-06 20:07:32 -08:00
Mitchell Hashimoto
8577935121
Syntaxerror
2012-01-06 20:07:31 -08:00
Mitchell Hashimoto
3ffa533011
ssh-config now uses the new ssh_info method
2012-01-06 20:07:31 -08:00
Mitchell Hashimoto
7ed9f8bd73
SSH communication should inherit from Base
2012-01-06 20:07:31 -08:00
Mitchell Hashimoto
47a368fbfd
VM raises SSHPortNotDetected if ssh_info can't get the port
...
Also, I updated the wording on that error message a bit since it
turns out that it is possible through user error that there will
be no SSH port.
2012-01-06 20:07:31 -08:00
Mitchell Hashimoto
acaabd5aa3
Remove forwarded_port_key/destination from config, replace with guest_port
2012-01-06 20:07:31 -08:00
Mitchell Hashimoto
00a31ff27b
Communication abstraction. Started SSH.
2012-01-06 20:07:31 -08:00
Mitchell Hashimoto
396beb9faf
Require tempfile in shell provisioner
2012-01-06 17:36:51 -08:00
Mitchell Hashimoto
67aa4c3819
Get rid of unavailable API
2012-01-05 23:12:28 -08:00
Mitchell Hashimoto
586f506eff
Fix a terrible typo that causes vagrant ssh to fail
2012-01-05 23:08:20 -08:00
Mitchell Hashimoto
d0c85afd47
IdentityFile works again in ssh-config [GH-626]
2012-01-05 23:01:35 -08:00
Mitchell Hashimoto
79e8a6ef0a
Port forwarding definitions with the same guest port will override earlier
2012-01-05 22:58:38 -08:00
Mitchell Hashimoto
e85095d1bf
Subprocess uses readpartial on IO for Windows [GH-610]
...
Windows doesn't support read_nonblock.
2012-01-05 23:48:30 -08:00
Mitchell Hashimoto
467542ef8d
Use VBOX_INSTALL_PATH on Windows to find VBoxManage [GH-609]
2012-01-05 23:12:17 -08:00
Mitchell Hashimoto
323663c4fb
Handle MacPorts strange VirtualBox version formatting [GH-619]
2012-01-04 21:46:46 -08:00
Mitchell Hashimoto
fc3bb6ca92
Code style for RedHat network configurations
2012-01-04 21:43:14 -08:00
Mike Fiedler
a04fce880c
Changes to enable rhel/centos-style bridged & hostonly networking
2012-01-04 21:39:36 -08:00
Mitchell Hashimoto
026a551496
`vagrant ssh -p` is now plain mode
2012-01-04 21:28:30 -08:00
Mitchell Hashimoto
a6c3551064
Merge pull request #621 from bitprophet/clean-ssh-option
...
Allow 'vagrant ssh' to strip most non-port options.
2012-01-04 21:20:12 -08:00
Mitchell Hashimoto
ef1037ff7c
Cleanup puppet provisioner even more
2012-01-04 19:26:25 -08:00
Mitchell Hashimoto
36a59a89fc
Merge pull request #620 from LeftyBC/master
...
Fixup for variable scoping in the puppet provisioner
2012-01-04 19:10:35 -08:00
Elliot Pahl
9c89ed9c06
Fix vm state check in ssh-config.
2012-01-04 19:08:19 -08:00
Colin Moller
0466d76bd8
Merge remote branch 'mitchellh/master'
2012-01-04 16:50:22 -08:00
Mitchell Hashimoto
09e11ae792
Fix forwarded port map which still references "name"
2012-01-04 16:47:03 -08:00
Colin Moller
b572b7dbd6
Merge remote branch 'mitchellh/master'
2012-01-04 16:21:12 -08:00
Mitchell Hashimoto
175d95fcf1
Fix regex syntax for 1.8
2012-01-04 16:18:11 -08:00
Jeff Forcier
e646df5655
Tweak a variable name & help string
2012-01-04 12:47:53 -08:00
Jeff Forcier
72b609f0a6
Allow 'vagrant ssh' to strip most non-port options.
...
Adds a -p flag to 'vagrant ssh' which strips out username, private key
args, allowing the local user's ssh settings to take full effect.
2012-01-04 12:37:23 -08:00
Colin Moller
0f5f607767
Fix scoping for env and config.vm variables in the puppet provisioner.
2012-01-04 12:28:18 -08:00
Mitchell Hashimoto
a1b66f82aa
Consistently generate names for forwarded ports.
...
To do this, I convert the ports to base 32 strings in the format
of "guestport-hostport." This makes a consistent mapping we can use
to look up if the forwarded port is set.
2012-01-03 10:34:35 -08:00
Mitchell Hashimoto
b45286f780
Don't bother enabling/configuring network adapters if there are none
2012-01-03 10:24:31 -08:00
Mitchell Hashimoto
2d1ed88bcd
Forwarded ports no longer require a name paramter
2012-01-03 10:22:42 -08:00
Mitchell Hashimoto
aac9bb5ec5
Make adapter 1-based for forwarded ports as well
2012-01-03 10:11:07 -08:00
Mitchell Hashimoto
7982f01f2e
Check for adapter collisions
2012-01-03 09:34:32 -08:00
Mitchell Hashimoto
20edb5d05a
Error if no available network adapters are found
2012-01-03 08:01:26 -08:00
Mitchell Hashimoto
09945fe4f9
Better documentation and error messages for unsupported guest features
2012-01-03 07:50:01 -08:00
Mitchell Hashimoto
99d3565132
Delete old networking actions
2012-01-02 19:53:29 -08:00
Mitchell Hashimoto
97f7fa633d
Re-implement how networking is done internally
2012-01-02 19:51:38 -08:00
Mitchell Hashimoto
76a77432b8
Clear all network adapters during the boot process
2012-01-01 22:02:30 -08:00
Mitchell Hashimoto
22d042cb94
Vagrant now asks what adapter to bridge to
2012-01-01 00:05:47 -08:00
Mitchell Hashimoto
567c09df21
Allow a MAC address to be specified for bridges
2011-12-31 19:13:51 -08:00
Mitchell Hashimoto
c48a31d6bd
Fix template paths for other guests
2011-12-31 19:08:56 -08:00
Mitchell Hashimoto
474ac3a63d
Enabling bridged networks on Debian
2011-12-31 11:53:04 -08:00
Mitchell Hashimoto
42883cbd20
Bridged networking basics.
2011-12-31 11:35:09 -08:00
Mitchell Hashimoto
8f3a7ce22d
Rename Network action to HostOnlyNetwork
2011-12-31 01:04:06 -08:00
Mitchell Hashimoto
f7125b1dd7
Default host only adapters to #1 again
2011-12-31 00:55:37 -08:00
Mitchell Hashimoto
77b915f06a
Logging, and prepare code to automatically find next available adapter
2011-12-31 00:34:08 -08:00
Mitchell Hashimoto
b36e3c447e
Add a deprecation error for the old style of configuring host only networks
2011-12-30 23:39:16 -08:00
Mitchell Hashimoto
b5b3805157
Add validation once again for host only networks
2011-12-31 10:55:37 +09:00
Mitchell Hashimoto
c64f5e8d05
Refactor the Network action a bit
2011-12-31 05:03:17 +09:00
Mitchell Hashimoto
3f0bd6def4
Fix regex warning for Ruby 1.8.7
2011-12-31 04:22:44 +09:00
Mitchell Hashimoto
b66755cf26
Proper number of arguments for Puppet provisioner
2011-12-31 04:21:17 +09:00
Mitchell Hashimoto
0d2cf4bbe7
Upgrade to ChildProcess 0.2.4 for LaunchError
2011-12-26 19:55:10 -08:00
Mitchell Hashimoto
7e4d652702
Make export in general VBoxManage friendly
2011-12-26 19:06:44 -08:00
Mitchell Hashimoto
fbe984b32d
Check for package files before any exports or anything [GH-597]
2011-12-26 18:48:38 -08:00
Mitchell Hashimoto
6a1864011d
Require things as they're needed
2011-12-26 18:36:18 -08:00
Mitchell Hashimoto
ab0276c4a9
VM::Modify no longer exists
2011-12-26 18:35:19 -08:00
Mitchell Hashimoto
e0998b0b0f
Use proper UI with VM
2011-12-26 18:14:09 -08:00
Mitchell Hashimoto
4428daf344
A regex string can be passed to commands in Multi-VM
2011-12-26 18:12:02 -08:00
Mitchell Hashimoto
8f522225a1
Fix issue that could cause config loader to fail if no block given to a subvm
2011-12-26 18:07:39 -08:00
Mitchell Hashimoto
ad7f4c79ad
Make requiring a single VM target in a command more DRY
2011-12-26 17:59:18 -08:00
Mitchell Hashimoto
0887a18079
Make some fixes to get tests passing on Ruby 1.8.7
2011-12-26 17:45:55 -08:00
Mitchell Hashimoto
fd331ee785
Util::Busy calls the callbacks in reverse order
2011-12-26 17:03:29 -08:00
Mitchell Hashimoto
bfc85d7f14
Handle interrupts well with VirtualBox.
2011-12-26 17:00:41 -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
72b249fd19
Do port forwarding threshold check in the `call` method
2011-12-25 15:36:15 -08:00
Mitchell Hashimoto
ca938f041c
Check currently forwarded ports when looking for collisions [GH-606]
2011-12-25 13:13:01 -08:00
Mitchell Hashimoto
81ad053f8a
Check for port collisions after clearing forwarded ports on `up`
2011-12-25 10:18:49 -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
e870d1b29e
Discarding state works with VBoxManage
2011-12-25 09:53:54 -08:00
Mitchell Hashimoto
76f605f08d
Nice error message if port collisions are detected on `resume` [GH-602]
2011-12-25 09:48:49 -08:00
Mitchell Hashimoto
cc9abc8b9b
Fix up some subprocess comments
2011-12-22 21:55:57 -08:00
Mitchell Hashimoto
c0fabbe2bd
Fix interrupted? call in boot
2011-12-22 21:50:20 -08:00
Mitchell Hashimoto
963bdff9fd
Use Vagrant::Util::Subprocess for acceptance tests
2011-12-22 21:46:43 -08:00
Mitchell Hashimoto
b72b70a845
DataStore: Remove the file_path check in commit
2011-12-22 21:20:31 -08:00
Mitchell Hashimoto
40fdab3de8
DataStore tests and slight modifications
2011-12-22 21:18:59 -08:00
Mitchell Hashimoto
40689b556b
Logging in the DataStore class
2011-12-22 20:46:03 -08:00
Mitchell Hashimoto
3cd262ed75
Unit tests for Vagrant::Action::Builder
2011-12-22 20:17:45 -08:00
Mitchell Hashimoto
9f498ccb06
Subprocess now works properly with Ruby 1.8.7
2011-12-22 16:22:41 -08:00
Mitchell Hashimoto
5e5e0f69dc
`vagrant ssh` works again
2011-12-22 13:48:22 -08:00
Mitchell Hashimoto
dfeafa3776
Fix halt issues and acceptance test associated with it
2011-12-22 13:38:30 -08:00
Mitchell Hashimoto
36632c4bb7
Handle the case properly where the VM in `.vagrant` doesn't exist anymore
2011-12-22 13:03:08 -08:00
Mitchell Hashimoto
3eede78876
Get rid of 64-bit Windows error since it should work now
2011-12-22 12:51:20 -08:00
Mitchell Hashimoto
e31ef01679
NAT checking for forwarded ports
2011-12-22 11:47:52 -08:00
Mitchell Hashimoto
1e21fdd67a
Do a block_given check on import so you can call it w/o a block
2011-12-22 11:31:47 -08:00
Mitchell Hashimoto
698ad0af7e
Import progress works again
2011-12-22 11:29:58 -08:00
Mitchell Hashimoto
4093e79027
Removed deprecation notice for chef_server to chef_client
2011-12-21 23:27:43 -08:00
Mitchell Hashimoto
ecbf7df859
Host only networks now work with VBoxManage
2011-12-21 22:27:06 -08:00
Mitchell Hashimoto
79460f6122
Subprocess: Check if data is empty after the process exits as well
2011-12-21 22:12:22 -08:00
Mitchell Hashimoto
271c3827a1
Subprocess: catch any stdout/stderr left over after process exits
2011-12-21 21:58:23 -08:00
Mitchell Hashimoto
63720cc750
Fix reload with VBoxManage
2011-12-21 16:48:19 -08:00
Mitchell Hashimoto
a3395f94ab
Catch and handle customization errors
2011-12-21 16:37:59 -08:00
Mitchell Hashimoto
e1d0ce19ce
Customizations are back in!
2011-12-21 16:25:58 -08:00
Mitchell Hashimoto
306945dd26
Nice error messages if VBoxManage command fails
2011-12-21 15:41:14 -08:00
Mitchell Hashimoto
0aae0dd588
Box verification works with VBoxManage
2011-12-21 15:34:51 -08:00
Mitchell Hashimoto
d030c62820
Remove unused classes from autoload
2011-12-21 15:25:20 -08:00
Mitchell Hashimoto
177eb828af
Remove customize action, this will need rethinking
2011-12-21 15:24:43 -08:00
Mitchell Hashimoto
7a70755362
Destroying unused network interfaces via VBoxManage
2011-12-21 15:17:10 -08:00
Mitchell Hashimoto
d2e33768f3
CleanMachineFolder action works with VBoxManage
2011-12-21 14:45:14 -08:00
Mitchell Hashimoto
4c7059eaf6
Remove virtualbox dep
2011-12-21 14:36:51 -08:00
Mitchell Hashimoto
8eb1770b9d
Fix issue where we may not get the full output in a subprocess
2011-12-21 14:28:43 -08:00
Mitchell Hashimoto
d5981978a1
Resuming works better
2011-12-21 14:15:03 -08:00
Mitchell Hashimoto
a6e5078e4b
VM suspending works
2011-12-21 14:12:35 -08:00
Mitchell Hashimoto
8360bcf61b
Fix guest loading w/ VBoxManage
2011-12-21 13:54:51 -08:00
Mitchell Hashimoto
9cb0578c64
VM halt works.
2011-12-21 13:41:10 -08:00
Mitchell Hashimoto
48ea8173c6
Lots more VBoxManage
2011-12-21 13:37:59 -08:00
Mitchell Hashimoto
7527f6b7b6
Check for guest additions right after import
2011-12-21 12:11:48 -08:00
Mitchell Hashimoto
a39df9f150
Forwarded ports
2011-12-20 22:28:47 -08:00
Mitchell Hashimoto
c59defa7e8
Drivers now take a UUID
2011-12-20 21:20:45 -08:00
Mitchell Hashimoto
a8e4e62264
Make more things VBoxManage compatible
2011-12-20 21:20:45 -08:00
Mitchell Hashimoto
96868e5d29
Import and destroy work with the new driver interface
2011-12-20 21:20:45 -08:00
Mitchell Hashimoto
2de7a1424d
Load VirtualBox VM in the VM class
2011-12-20 21:20:45 -08:00
Mitchell Hashimoto
9debf5abe9
Attach a driver to each VM. Use that to detect VirtualBox.
2011-12-20 21:20:45 -08:00
Mitchell Hashimoto
ee389c33f7
`vagrant --help` now works for Ruby 1.8.7 [GH-599]
2011-12-20 16:28:45 -08:00
Mitchell Hashimoto
6a191f968c
Fix autoload typo for redhat guest [GH-600]
2011-12-20 16:27:51 -08:00
Mitchell Hashimoto
f9b3e89373
Enable provisioning by default [GH-601]
2011-12-20 16:27:08 -08:00
Mitchell Hashimoto
a8f5ed1863
Require vagrant environments for some commands.
2011-12-18 13:26:15 -08:00
Mitchell Hashimoto
98df762f8c
`vagrant init` uses new OptParse based CLI
2011-12-17 21:06:00 -08:00
Mitchell Hashimoto
1770ad1ee5
"provision.enabled" is once again honored. [GH-591]
2011-12-17 20:28:45 -08:00
Mitchell Hashimoto
c2e3a3050a
Ruby 1.8.7 compatibility
2011-12-17 20:22:46 -08:00
Mitchell Hashimoto
9bdff4c507
Styling
2011-12-17 19:53:57 -08:00
Mitchell Hashimoto
e29c5436e1
Box commands
2011-12-17 19:52:48 -08:00
Mitchell Hashimoto
780722386b
`vagrant status`
2011-12-17 17:36:11 -08:00
Mitchell Hashimoto
1176c65138
`vagrant ssh-config`
2011-12-17 17:29:52 -08:00
Mitchell Hashimoto
e34f0a8af7
`vagrant ssh`
2011-12-17 17:24:02 -08:00
Mitchell Hashimoto
19adc3189d
`vagrant package`
2011-12-17 16:58:54 -08:00
Mitchell Hashimoto
bdc39aa2e0
Suspend command
2011-12-17 12:04:35 -08:00
Mitchell Hashimoto
91d19b91e4
Improved help output for `vagrant` cli
2011-12-17 12:02:19 -08:00
Mitchell Hashimoto
a327eadd5f
Fix a nomethoderror on a nil
2011-12-17 11:54:21 -08:00
Mitchell Hashimoto
c5ec4b4a30
Provision, reload, resume
2011-12-17 11:53:26 -08:00
Mitchell Hashimoto
6c7e88c3ec
`vagrant halt`
2011-12-17 11:14:56 -08:00
Mitchell Hashimoto
7a76fd7e05
Remove the 0.6.0 upgrade command. We're far passed that :)
2011-12-17 11:11:02 -08:00
Mitchell Hashimoto
45d07a8382
Remove old Thor base classes
2011-12-17 11:10:42 -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
7191a54ed7
Print help and exit on "-h"
2011-12-17 08:18:43 -08:00
Mitchell Hashimoto
a4a77dc420
Remove the old version command.
2011-12-16 23:39:49 -08:00
Mitchell Hashimoto
27491b554c
Remove thor from requirements. Start revamping Vagrant::CLI
2011-12-16 23:34:30 -08:00
Mitchell Hashimoto
5f567f30d8
Provisioner output is now colorized based on stdout/stderr [GH-595]
2011-12-16 17:55:12 -08:00
Mitchell Hashimoto
f37778c848
Don't output json_class with the config json
2011-12-16 17:38:19 -08:00
Mitchell Hashimoto
7157bd9cdb
Re-namespace messages for systems to the vagrant.guest
2011-12-15 21:07:43 -08:00
Mitchell Hashimoto
1fcca71ce9
Re-namespace all systems to the Vagrant::Guest module
2011-12-15 21:05:19 -08:00
Mitchell Hashimoto
5fe50c8b5d
Change config.vm.system to config.vm.guest. Rename internals.
2011-12-15 20:55:16 -08:00
Mitchell Hashimoto
eda286b476
Config classes are registered via a registry now
2011-12-15 20:32:33 -08:00
Mitchell Hashimoto
7ab6ab31f8
Another tweak to chef to get it to work with new system
2011-12-14 23:37:47 -08:00
Mitchell Hashimoto
345ee35e16
When import recovers, don't validate when calling destroy
2011-12-14 23:35:46 -08:00
Mitchell Hashimoto
a23ebf7220
Fix chef configuration
2011-12-14 23:31:21 -08:00
Mitchell Hashimoto
e602af8c3a
Convert chef provisioners to new format
2011-12-14 23:19:46 -08:00
Mitchell Hashimoto
e5303a82e0
Autoload provisioners.
2011-12-14 22:49:14 -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
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
ee33588d10
Clean up system loading quite a bit
2011-12-12 00:03:28 -08:00
Mitchell Hashimoto
c66d846cb7
Fix issue which caused NFS to not work with new config
2011-12-11 23:30:17 -08:00
Mitchell Hashimoto
fd9b752938
Make host class available to all actions
2011-12-11 23:27:53 -08:00
Mitchell Hashimoto
daeb7ea726
Send new `id` element into NFS methods for hosts
2011-12-11 23:26:04 -08:00
Mitchell Hashimoto
cdc01c449d
Re-order things in vagrant.rb slightly
2011-12-11 23:24:23 -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
ad03163eff
Tweak timeouts so SSh detection works
2011-12-11 16:41:51 -08:00
Mitchell Hashimoto
48f0a50e61
More logging in SSH class
2011-12-11 16:39:36 -08:00
Mitchell Hashimoto
e5c2f38d7c
Fix validate calls to provisioners
2011-12-11 16:33:50 -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
98b8d858c4
Error message for improperly packaged boxes [GH-198]
2011-12-10 21:49:00 -08:00
Mitchell Hashimoto
7d8f6e511b
Fix syntax error
2011-12-10 21:30:54 -08:00
Mitchell Hashimoto
f44f1831ef
Special error message if SCP is unavailable [GH-568]
2011-12-10 21:30:04 -08:00
Mitchell Hashimoto
98448d5557
Merge branch '089'
2011-12-10 21:11:36 -08:00
Mitchell Hashimoto
b67dc75dfc
v0.8.10
2011-12-10 21:08:13 -08:00
Mitchell Hashimoto
00c40f82b1
Return true on ssh up?
2011-12-10 21:07:45 -08:00
Mitchell Hashimoto
c4eeda2025
v0.8.9
2011-12-10 20:43:20 -08:00
Mitchell Hashimoto
b65cb54636
Remove the "echo hello" check because it does nothing.
2011-12-10 20:42:34 -08:00
Hedgehog
a4423270f7
sleeping with the fiSSHes?
2011-12-10 20:33:12 -08:00
Mitchell Hashimoto
99b43fbeb8
Use shutdown instead of `halt` [GH-575]
2011-12-10 20:29:58 -08:00
Mitchell Hashimoto
e9f8e4dc91
Revert 8bb6d375
since it actually didn't help at all.
2011-12-10 20:23:52 -08:00
Mitchell Hashimoto
5762775998
Reorganize little methods and remove unused methods
2011-12-10 20:22:44 -08:00
Mitchell Hashimoto
4006befe7f
Trivial whitespace change
2011-12-10 20:20:01 -08:00
Mitchell Hashimoto
069a1c1348
Try to actually create directory before showing home directory error
2011-12-10 17:37:18 -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
d05c6f9d61
Get regression working again
2011-12-10 16:38:01 -08:00
Mitchell Hashimoto
baba6af4ff
Resource prefixes in UI output work
2011-12-10 16:17:09 -08:00
Mitchell Hashimoto
40b9254d5a
Environment reloading works
2011-12-10 16:07:28 -08:00
Mitchell Hashimoto
a1d3f8b4dd
Fix typo to get networking working again
2011-12-10 14:27:59 -08:00
Mitchell Hashimoto
448e9429ac
Get rid of broken env.ui calls in actions
2011-12-10 14:23:22 -08:00
Mitchell Hashimoto
697fb7eaaf
Get rid of more env.env calls
2011-12-10 14:22:04 -08:00
Mitchell Hashimoto
9e58e45c69
Fix resume action to work properly
2011-12-10 14:18:40 -08:00
Mitchell Hashimoto
71c39126e5
Fix suspend action to work again
2011-12-10 14:15:18 -08:00
Mitchell Hashimoto
2a7f0d8a85
Return nil if no root path to determine dotfile
2011-12-10 13:56:34 -08:00
Mitchell Hashimoto
6093dcc26d
Fix systems dependence on env
2011-12-10 13:44:45 -08:00
Mitchell Hashimoto
ea7caebe02
Setup the default name for the VM
2011-12-10 13:28:03 -08:00
Mitchell Hashimoto
f2666a9b74
Config validation is back in.
2011-12-10 13:21:45 -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
2f85fe1d4f
Return proper dotfile path
2011-12-10 13:02:00 -08:00
Mitchell Hashimoto
93e5bc3969
Tweak actions for new runner
2011-12-10 12:52:42 -08:00
Mitchell Hashimoto
b4c5b854e2
SSH working with new changes
2011-12-10 12:49:35 -08:00
Mitchell Hashimoto
bfd93eef4e
Come a lot farther in getting `up` to work again
2011-12-10 09:54:23 -08:00
Mitchell Hashimoto
1758970a53
Fixing up VM actions to try to get them working again
2011-12-09 20:39:08 -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
b878f1bd66
class => module Action
2011-12-09 17:23:27 -08:00
Mitchell Hashimoto
3edb9c2269
Move all autoloads for actions into action.rb
2011-12-09 17:19:13 -08:00
Mitchell Hashimoto
56663b5952
Remove dependence on Vagrant::Environment on downloaders
2011-12-09 15:18:43 -08:00
Mitchell Hashimoto
0304f78a84
Fix to runner to get interrupts working again
2011-12-09 14:56:56 -08:00
Mitchell Hashimoto
f261c0571f
Modify box download action to work with new runnerx
2011-12-09 14:55:24 -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