-
Notifications
You must be signed in to change notification settings - Fork 189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Breaking] Support Vagrant 1.1+ and remove vagrant gem dependency. #7
Conversation
A new strategy is used here when dealing with Vagrant: each Kitchen Instance gets its own dedicated Vagrantfile which is rendered out just before any Vagrant CLI commands are invoked. In this way we can avoid writing a vagrant plugin and we return any Vagrantfile in the project root back to the user to fully control. An isolated Vagrant sandbox is created for each Instance in a an internal directory under .kitchen/. For example, given an Instance name of "default-ubuntu-1204", a Vagrantfile will be created in: .kitchen/kitchen-vagrant/default-ubuntu-1204/Vagrantfile
@@ -18,7 +18,6 @@ Gem::Specification.new do |gem| | |||
gem.require_paths = ["lib"] | |||
|
|||
gem.add_dependency 'test-kitchen', '~> 1.0.0.alpha.0' | |||
gem.add_dependency 'vagrant', '~> 1.0' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
\o/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am always excited to delete gems
👍 on this! Diggin' the new Vagrant 1.1 stuff. Very exciting. |
The tricky part now is that I'm currently using My plan of attack is to allow setting of environment variables in the The second place is the return of Driver#login_command only returns a String. This gets passed into a But, if this sounds crazy, anyone feel free to jump in 😺 |
Speaking of yak shaves, this work helps me to pass this branch in Test Kitchen which will perform gem installs in the absence of a Gemfile (under |
@fnichol doesn't seem that crazy to make it more threadsafe. Could always be improved later as well. |
This is the upstream API update needed to change directory before issuing the SSH command to connect to a Test Kitchen controlled Vagrant VM. Coolbeans.
Whoops that last commit had both upstream API updates. 2 one-liners ain't bad though. |
I'm feeling this… |
[Breaking] Support Vagrant 1.1+ and remove vagrant gem dependency.
A new strategy is used here when dealing with Vagrant: each Kitchen
Instance gets its own dedicated Vagrantfile which is rendered out just
before any Vagrant CLI commands are invoked. In this way we can avoid
writing a vagrant plugin and we return any Vagrantfile in the project
root back to the user to fully control.
An isolated Vagrant sandbox is created for each Instance in a an
internal directory under .kitchen/. For example, given an Instance name
of "default-ubuntu-1204", a Vagrantfile will be created in:
.kitchen/kitchen-vagrant/default-ubuntu-1204/Vagrantfile