So I’ve wrapped up most of my Learning Chef Book and I have to say it was very good at getting me started. It took about two dedicated weekends to get through most everything in detail (including lab set up, etc.) which I think is pretty good. To be fair I have used and played with chef before in a Unix setting, but beyond writing recipes and simple tasks I’ve not done much. I’ve started translating the information over for windows administration, and with the supplement of Chef’s own documentation I’ve been doing pretty well. I’ve been fiddling with the IIS Cookbook to try and configure and set up a windows box, and instead of making my own box I’ve been using opentable/win-2012r2-standard-amd64-nocm from Vagrant’s website. The Box has been treating me well, though I’ve run into some issues with the IIS Cookbook, which appears to stem from the base windows cookbook.
[2015-08-30T10:42:43-07:00] WARN: Using an LWRP provider by its name (WindowsFeatureDism) directly is no longer supported in Chef 12 and will be removed. Use Chef::ProviderResolver.new(node, resource, action) instead.
The fact that the base windows cookbook uses DISM for installing windows features caught me off guard, and it appears to not support out of order installations or dependency resolution. The fact that DISM names and PowerShell names vary also caught me off guard since I’m used to leveraging PowerShell for feature installation. Oddly, that isn’t one of the supported providers that the cookbook can leverage, so I’ve forked the cookbook to try and add the PowerShell provider. So if you take a look at the Repo you’ll see my first cookbook is windows! I’ve actually got several local, but I’m looking forward to trying to extend one by opscode as I think that will give me a way better understanding of making complex cookbooks. With the realization of the number of cookbooks I’ll likely be writing, I made an organization for my Cookbooks: https://github.com/wildbillcat-cookbooks which is where you can find my windows fork.
Tomorrow I’ll hopefully get started implementing chef at work, with my first project this week setting up an IIS Web Farm so we can use a shared hosting environment for our applications. I also plan on experimenting with Microsoft’s web deploy to see if we can leverage chef as a part of our deployment workflow. Chef has put so much hope on the horizon I’m pretty excited about the possibilities it unlocks for our application management. Combined with the deployment pipelines in TFS we should be hitting a completely automated cloudy horizon some time this year. I look forward to seeing the contrast!