Chef 0.7.10 Release

Today I bring to you a tasty new release of Chef, courtesy of our fantastic MVP, Daniel (kallistec) DeLeo. Dan scoops the MVP for a snappy refactor, and some very cool in-progress SCM work which I’m sure we'll all see soon.

6a010536aeb3ae970b0120a59e3e52970c-150wi

This release of Chef focuses upon stability and compatibility over features, and so will the next (0.7.12).

In 0.7.8 we introduced a new method to set Node Attributes:

set_unless[:apache][:dir] = "/etc/httpd"
set_unless.apache.prefork.startservers(16)
set_unless.apache.prefork.startservers = 16

In addition to 'set_unless', 'default' is now usable. We felt this matched the intended behavior :

default[:apache][:dir] = "/etc/httpd"
default.apache.prefork.startservers(16)
default.apache.prefork.startservers = 16

We've added compatibility with CouchDB 0.10 (CHEF-515) for Ubuntu Karmic Koala support.

Matthew "Lebron" Kent came back to help with compatibility for Ruby 1.8.5 (CHEF-497, CHEF-481) which re-enables Debian Etch and CentOS 5 support.

The Gem provider is once again operational when installing specific versions thanks to a sneaky fix by Graeme Mathieson (CHEF-488) – what a great flavor!

A particularly nasty bug relating to variable binding in Template resources was identified and resolved, allowing you to pass Node Attribute data directly again (CHEF-492).

Changelog after the jump.

Release Notes – Chef – Version 0.7.10

Bug

  • [CHEF-287] – chef client logging to file only dumps periodically
  • [CHEF-362] – regression: mixlib-config 1.0.10 breaks log_location= override
  • [CHEF-476] – merb-slices gem not installed with new chef server install on ubuntu 9.0.4
  • [CHEF-481] – 0.7.6 breaks Centos5
  • [CHEF-488] – When installing a gem_package, the version parameter needs to be quoted
  • [CHEF-492] – Attributes aren't quite hash enough to fool variables() method in templates
  • [CHEF-494] – Multiple roles' default_attributes are not merged correctly on the node
  • [CHEF-497] – Status page fails to work under ruby 1.8.5
  • [CHEF-500] – server.rb log_location truncation take two
  • [CHEF-512] – Update chef config for pending mixlib-config config_attr_writer fix
  • [CHEF-525] – Spec failures in node/attribute_spec.rb

Improvement

  • [CHEF-449] – use the basename of the target path as the default for the template, remote_file and remote_directory sources
  • [CHEF-493] – Alias set_unless with "default" in attributes.rb
  • [CHEF-509] – add man pages, initscripts and other goods from packaging efforts
  • [CHEF-515] – chef-server needs to be compatible with couchdb 0.10.0
  • [CHEF-524] – Chef::Platform.find_provider_for_node is always used to get an instance of the provider (code duplication)