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.


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

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

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


  • [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


  • [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)

AJ Christensen