TODO:
vagrant rdp && vagrant ps to connect to VM
Installing
gem install vagrant-windows
Building a Base Box
All Windows Machines
-Enable WinRM
winrm quickconfig -q
winrm set winrm/config/winrs @{MaxMemoryPerShellMB="512"}
winrm set winrm/config @{MaxTimeoutms="1800000"}
winrm set winrm/config/service @{AllowUnencrypted="true"}
winrm set winrm/config/service/auth @{Basic="true"}
Servers
The Vagrant File
Add the following to your Vagrantfile
config.vm.guest = :windows
config.vm.forward_port 3389, 3390, :name => "rdp", :auto => true
config.vm.forward_port 5985, 5985, :name => "winrm", :auto => true
Example:
Vagrant::Config.run do |config|
config.winrm.timeout = 1800
config.vm.box = "windows2008r2"
config.vm.box_url = "./windows-2008-r2.box"
config.vm.guest = :windows
config.vm.forward_port 3389, 3390, :name => "rdp", :auto => true
config.vm.forward_port 5985, 5985, :name => "winrm", :auto => true
config.vm.provision :chef_solo do |chef|
chef.add_recipe("your::recipe")
end
end
What Works?
- vagrant up|hault|reload|provision
- Chef Vagrant Provisioner
- Puppet standalone provisioning
What has not been tested
- Everything Else!!!
- Shell provisioning
- Shell should work, though I have not vetted it yet.
What does not work
Complex networking setups - Fixed in 0.0.3
- Note that I have not tested the Virtual Box 4.0 Driver, all should work. Can someone please confirm?
What Can I do to help?
- Contribute Code (See Below)
- Test Various Scenarios and file bugs for things that dont work
Contributing
- Fork it.
- Create a branch (git checkout -b my_feature_branch)
- Commit your changes (git commit -am "Added a sweet feature")
- Push to the branch (git push origin my_feature_branch)
- Create a pull requst from your branch into master (Please be sure to provide enough detail for us to cipher what this change is doing)
References and Shout Outs
Changelog
0.1.1 - Remove extra debug information from command output.
0.1.2 - added virtual box 4.2 support
0.1.3 - added puppet provisioner