Puppet module-path were re-ordered by Vagrant due to the use of a hash. This could lead to unpredictable results.
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
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.
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.
…, a socket connect to localhost 2222 results in ENETUNREACH which needs to be caught as per this patch.
I don't use `activated` here because I'd really like to optimize performance as much as possible, and loading files from disk is generally slow. So instead of using `activated` I load the file at the last possible moment which is when the exact class is being requested. I don't think many people will do this outside of the core, and I'm not too concerned.
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.