Commits on Jul 4, 2012
  1. Catch Net::SSH::Disconnect when connecting to SSH

    mitchellh committed Jul 4, 2012
    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.
Commits on Jun 29, 2012
Commits on Jun 28, 2012
Commits on Jun 27, 2012
  1. Handle case that `writers` is nil on in subprocess

    mitchellh committed Jun 27, 2012
    This can happen when timeout is reached when we're listening
    for writers.
Commits on Jun 26, 2012
  1. Remove the old guest base

    mitchellh committed Jun 26, 2012
  2. Support specifying a component for Vagrant.plugin

    mitchellh committed Jun 26, 2012
    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)`.
  3. Fix some nondeterminism in tests with GCing tempfiles.

    mitchellh committed Jun 26, 2012
    Before, the tempfile "f" could be GC'd before the path was used,
    resulting in failed tests because when it is GC'd the tempfile is
    removed. We now store the tempfile in an instance variable so that it
    isn't even available for GC until after the test is finished running.
Commits on Jun 25, 2012
  1. Merge pull request #991 from muffs/master

    mitchellh committed Jun 25, 2012
    Small error message fix. :)
  2. Small error message fix.

    Julian Connor committed Jun 25, 2012
Commits on Jun 24, 2012
  1. Renamespace V1 plugin root to Vagrant::Plugin::V1::Plugin

    mitchellh committed Jun 24, 2012
    This is mostly a transparent change to end users, but I'm going to put
    all base classes for V1 into Vagrant::Plugin::V1.
  2. Use a temporary directory for the VAGRANT_CWD when running tests

    mitchellh committed Jun 24, 2012
    Tests before were picking up a Vagrantfile in the Vagrant source
    directory, which can cause some funny failures. This ensures that each
    test run will actually establish a new temporary CWD so that a
    Vagrantfile is hopefully never found.
  3. Simple logging text change

    mitchellh committed Jun 24, 2012
  4. Configuration loader can handle upgrading.

    mitchellh committed Jun 24, 2012
    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.
Commits on Jun 23, 2012
  1. Use config finalize to move some version-specific logic to the version

    mitchellh committed Jun 23, 2012
    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.
  2. Configuration versions can finalize config after loading

    mitchellh committed Jun 23, 2012
    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.
  3. Config loader no longer assumes latest version for procs.

    mitchellh committed Jun 23, 2012
    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.
  4. Separate out the versions the config loader knows as init params.

    mitchellh committed Jun 23, 2012
    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.
  5. Use `next` instead of `return` for 1.8.x compatibility.

    mitchellh committed Jun 23, 2012
    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`.