Blog-S_Server-Cloud_100x385

Chef 0.10.8 released

For the holidays this year, we really want to give our fellow Windows Systems Administrators a leg-up in the DevOps cultural revolution. What better way to tear down walls and bring together two groups with historically opposed expectations from their company leadership, than with a common tool. For too long we’ve spent our careers waiting around to click the next button on dialog boxes with progress bars that don’t make any more sense today than they did a decade ago. Because of this, we’ve been putting a lot of work lately into improving the Chef primitives on Windows, like the service provider rewrite for 0.10.6 and the comprehensive ACL support that is in testing now.

We set a bar for this support in 0.10.6, but we didn’t meet it. So we’re working overtime and releasing 0.10.8 to make it up to you.

We often talk about the “principle of least surprise” when making design decisions for Chef. Not only does this mean that Chef’s actions should be sensible, but how we decide what sensible means should be based in our every day jobs. When you install a software package on an Ubuntu system, Chef chooses the package management tool that makes the most sense for Ubuntu; apt. You can override those choices, by design, but out of the box we don’t want to shock you with any of Chef’s choices.

We wrote a better way to run commands on Windows for 0.10.6, but it contained some unfortunate surprises. Due to its history, Windows decides how to interpret a file by the file extension. A text file and a batch file serve different purposes and should be interpreted differently. Many moons ago, the list of extensions was short and hardcoded into the operating system and we grew accustom to running find instead of find.exe. Unfortunately 0.10.6 required you to provide full extensions, not just in your execute resources, but in all of the resources that had our shell_out method under the hood. We wanted to fix that.

We’re always dealing with the nuances of automating with tools that may not have expected to be used in such a way. One troublesome point in this battle is dealing with where input and output come from and go to when nobody is interactively at the helm. We found one of these problems again, where we needed to do something with the input even though we weren’t using it, which caused some tools to hang up.

Finally, the fancy processor we were using simply wasn’t doing the correct things with batch files.

We fixed all of these things for you.

Since this release was produced by us at Opscode, I have no contributors for you this time. So, I’m awarding this releases MVP award to Bryan Berry. With his prior open source project and cultural experience, Bryan has dived right into the Chef community. I’ve personally adopted his phrase, “Chef grows with you,” from his Why Chef? blog post. Besides writing about Chef, he has been helping out on IRC, twitter, and the mailing list; and has been leveling up some cookbooks lately. For your enthusiasm for Chef Bryan, we award and celebrate thee.

Bryan McLellan