Commit Graph

2528 Commits

Author SHA1 Message Date
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
Mitchell Hashimoto bbb8f0ac2c Integrate new action runner/registry into Vagrant::Environment 2011-12-09 14:39:39 -08:00
Mitchell Hashimoto daf711fd80 Separate Vagrant::Action into Runner and Registry 2011-12-09 14:22:03 -08:00
Mitchell Hashimoto 5bfcbcba66 Remove step stuff. Failed experiment for now. Too radical for point release. 2011-12-09 13:40:49 -08:00
Mitchell Hashimoto b5ae4672b7 Raise exception in edge case 2011-12-09 13:30:04 -08:00
Mitchell Hashimoto 2c73de0043 The proper enter/exit sequence is called for multisteps 2011-12-06 18:45:37 -08:00
Mitchell Hashimoto 822226cae4 MultiStep does not allow composing steps that do not work together 2011-12-06 18:31:07 -08:00
Mitchell Hashimoto 73761dc92a MultiStep should do input/output validation 2011-12-06 18:19:18 -08:00
Mitchell Hashimoto 7d3746b292 Multistep can now take parameters from any arbitrary step prior. 2011-12-06 09:46:57 -08:00
Mitchell Hashimoto c5eae41fd8 Revamp Step to be more like a Python with-context 2011-12-05 21:05:41 -08:00
Mitchell Hashimoto 683bbdaa3c Implement multistep 2011-12-04 18:09:18 -08:00
Mitchell Hashimoto 49d299956f Add the "Step" abstraction 2011-12-04 17:14:21 -08:00
Mitchell Hashimoto 833dbf8fc4 Remove box dependence on env 2011-12-04 14:06:05 -08:00
Mitchell Hashimoto 8801bc7b1b Starting to revamp BoxCollection to not depend on env 2011-12-04 11:39:44 -08:00
Mitchell Hashimoto cf7a5db7e7 More environment.rb cleanup 2011-12-04 11:24:18 -08:00
Mitchell Hashimoto f8d628148c Remove all environment `parent` references 2011-12-04 11:16:55 -08:00
Mitchell Hashimoto e2977e8948 Make VM names symbols again, since they're accessed often. 2011-12-03 19:33:44 -08:00
Mitchell Hashimoto b61d9a6d3d load_vms. Broke so many things.
I've changed Vagrant::VM to be slightly more in line with what I
imagined. However, doing this change has definitely broken _everything_.
We now slowly must cobble back together based on this new API.
2011-12-03 19:30:42 -08:00
Mitchell Hashimoto 1921ce17e8 Propery load box configuration 2011-12-03 19:17:08 -08:00
Mitchell Hashimoto 99982fb26e VM-specific configuration now works. 2011-12-03 19:05:50 -08:00
Mitchell Hashimoto 73a672cff1 load_config! is kind of working again.
Specifically: Global configuration load appears to be working. More
unit tests should reveal if proper VM configuration is loading.
2011-12-03 18:31:17 -08:00
Mitchell Hashimoto cb5f6b57f4 Remove Vagrant 0.8.0 transition code. 2011-12-03 18:11:24 -08:00
Mitchell Hashimoto 02cc1447dc Configuration files are only loaded once 2011-12-03 17:42:16 -08:00
Mitchell Hashimoto 15c56a1f4c Configuration loads. Lots of refactor to do still. 2011-12-03 17:29:28 -08:00
Mitchell Hashimoto 1a8c4199b2 Introduce Config::Loader
Config::Loader will be the new class responsible for loading configuration
and replaces the previous dual-role "Vagrant::Config" played. While this
commit is very early-stage, once this new architecture is flushed out, it
will make loading, using, and extending configuration much easier and cleaner.

Additionally, I believe this will help post Vagrant 1.0 if multi-language
configuration is implemented.
2011-12-03 17:12:48 -08:00
Mitchell Hashimoto e38e3cc652 Move VAGRANT_LOG logic into vagrant.rb so VAGRANT_LOG is always available 2011-12-03 17:12:07 -08:00
Mitchell Hashimoto 1355487a04 Environment UI class can now be set through the environment init 2011-12-03 16:07:34 -08:00
Mitchell Hashimoto cb8d00b55f Move the VM accessible check into more relevant actions 2011-12-03 15:37:13 -08:00
Mitchell Hashimoto c37f16b754 Remove final logger reference 2011-12-01 21:56:56 -08:00