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](http://s3.amazonaws.com/corpsite-www/assets/60/6a010536aeb3ae970b0120a59e3e52970c-150wi_original.jpg)
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)