travis-ci/travis-cookbooks — pull request #324 by maxlinc (2014-06-04 19:36:32+00:00)
Title: Windows in the Kitchen

I'm sending two related PRs. I thought it would be a little clearer and easier to discuss than a single PR.

This PR continues the work started in https://github.com/travis-ci/travis-cookbooks/pull/289 to setup development/testing tools. So this PR is good for discussion about "how do we want to test travis-cookbooks" and windows support specifically.

Note that I've created a "worker_windows" which is basically a copy of "worker_standard". They might be merge together into a platform agnostic "worker_standard", pending discussing on the other PR.

test-kitchen is looking promising, but there are a number of workarounds necessary to use windows in the kitchen:
- test-kitchen/kitchen-vagrant do not currently support windows over winrm, but @docwhat created a [workaround driver that uses vagrant for provisioning](https://github.com/docwhat/kitchen-driver-vagrant_provision)
- test-kitchen has serverspec support, but it only supports transferring suites over SSH and running them on the guest machine. I want to run serverspec on the host machine and use the WinRM transport. So although I followed the test-kitchen layout, I am not using test-kitchen to run serverspec (i.e. you currently can do `kitchen converge` but not `kitchen verify` or `kitchen test`... run the tests directly via rspec)
- `vagrant-berkshelf` isn't working for me. I'm manually doing a `berks vendor` and setting the cookbooks_path to use berks-cookbooks

Other notes:
- I found [packer-windows](https://github.com/joefitzgerald/packer-windows), which is working well. It can build more Windows images, but currently install OpenSSH (which I don't really want). I'm currently testing with both Windows 2012 [Server Core](http://msdn.microsoft.com/en-us/library/dd184075.aspx) (including OpenSSH) built via packer-windows, and with Windows 8.1 built manually (without OpenSSH)