Chef 0.8.10 Release

Chef 0.8.10 is upon us. The big news for this release is we updated the version dependencies, so that Merb 1.0.15 is installed. As we upgrade the Chef Server to support Merb 1.1.0, we’ll be updating this version dependency as well (there is a great reason – Ruby 1.9 support!) A special shout out to Guy Bolton King, who made sure we got this right. Good eye, Guy!

In a first for Chef, we have Co-MVPs this release, both of whom are previous MVP winners, and both of whom added some functionality to the template resource. Your first winner is Thom May, who added support for rendering templates that already exist on the filesystem, which can be particularly handy during things like application deployment. His comrade-in-MVP-winning-arms is Tollef Fog Heen – Tollef made it so that templates must no longer end in .erb, making it easier to move remote_files to templates. The thanks of a grateful Chef community to you both.

Tim Harper improved the error message you get from chef-solo when it cannot find a role on disk.

Jon Swope supplied a timely patch for a bug in the Web UI that made Chef throw an exception when you tried to save an invalid role, robbing you of the chance to fix your mistakes.

From Opscode in this release:

  • The deploy resource now uses the systems copy command, and now supports symlinks.
  • The chef-solr-indexer now specifies an amqp_consumer_id by default, making the default queue persistent.
  • Node names are now validated consistently, making it impossible to have a node without a name.
  • Logging in chef-solr now behaves as much like the rest of chef logging as is possible.
  • When RabbitMQ is down during the creation of the initial Validation and Web UI keys, we now re-generate them once it is available.
  • Array’s that contain hashes are now indexed properly.

I want to give a quick special thanks to the ton of people who have been helping the entire Chef community get up to speed on the changes in 0.8: by writing documentation, answering questions on the mailing list, and helping people in real-time in IRC. I’m proud to be around each and every one of you.

See you at Chef 0.8.12!

The full release notes:

Release Notes – Chef – Version 0.8.10


  • [CHEF-252] – If a template’s source doesn’t end in .erb, but exists, we still get a 500 error.
  • [CHEF-425] – portage provider in Gentoo reinstalls the packages over and over again; does not matter if :install or :upgrade is used.
  • [CHEF-468] – chef-server version needs to not rely on walking gem objectspace
  • [CHEF-554] – chef-server/indexer should run as ‘chef’ user in packaging
  • [CHEF-653] – Cron resource fails when the program takes a numerical argument.
  • [CHEF-735] – Web Slice needs a override config file.
  • [CHEF-828] – Mixlib CLI – Preserve ARGV after @opt_parser.parse!
  • [CHEF-833] – recursive copy of cached-copy in deploy resource fails on symlinked file
  • [CHEF-946] – if rabbitmq is down, the generated web ui and validation keys are lost
  • [CHEF-1039] – chef-solr doesn’t actually log to specified log file.
  • [CHEF-1044] – Nested arrays of hashes break node indexing
  • [CHEF-1048] – Creating an Invalid Role in WebUI causes 500
  • [CHEF-1064] – Installing gems with an implicit —remote flag on gem fails because of merb 1.1.x
  • [CHEF-1069] – Chef::Node does not properly validate the name parameter
  • [CHEF-1076] – Role error messages are non-helpful to track down which role caused the problem (when loading roles from filesystem)
  • [CHEF-1077] – Running the features should not require sudo (mac-dev-start)
  • [CHEF-1081] – Chef::Config should specify an amqp_consumer_id by default
  • [CHEF-1083] – chef-server-webui doesn’t correctly rescue load error when it tries to load itself from source checkout


  • [CHEF-1057] – Support templates that are already on the file system

Jesse Robbins

Chef Co-Founder & Advisor