Chef 0.10.4 Released

We’re excited to reach another Opscode Chef release, this time with over 85 resolved bugs.

The gems are in the usual place. We’re also happy that this time the Debian/Ubuntu packages are available upon release. Head over to the installation page on the community wiki if you’re not familiar with these steps.

Red Hat Linux improvements

This is a special release for users of Redhat based Linux distributions. Long time contributor Matthew Kent and two time MVP recipient has out-done himself. He resolved 19 tickets in this release, drastically improving the yum package provider. Contributors earning three MVP awards become members of the Chef hall of fame. Congratulations, Matthew! We’re thrilled to have your contributions. Also, Sergio Rubio and James Sulinski have also both been doing great packaging work to provide more stable versions of Ruby to these users.


We’ve got a amazing community! Here is a list of people who contributed fixes to this release:

Akzhan Abdulin
Anh Ky Huynh
Anthony Goddard
Avishai Ish-Shal
Bruce Krysiak
Ches Martin
Dan Peterson
Dan Porter
Doug MacEachern
Elliot Murphy
Erik Frey
Grzegorz Marszał
Gábor Vészi
Jesai Langenbach
John E. Vincent
Jonathon Ramsey
KC Braunschweig
Laurent Désarmes
Matt Griffin
Michael Hale
Michael Leinartas
Renaud Chaput
Scott Frazer
Sergio Rubio
Stephen Haynes
Tommy Bishop
Toomas Pelberg
Wojciech Wnętrza

Special Thanks

We have slacked a little lately in our rush to get releases out the door, and we failed to choose MVPs for some of our releases. In apology, we’re going back and filling in the gaps. Belated MVP awards go to:

  • Daniel Oliver, 0.10.2 MVP for finding and reporting the cookbook security fix that lead to 0.9.18 and 0.10.2 being shipped.
  • Jesai Langenbach, 0.9.18 MVP for keeping the Zypper provider compatible with older distributions.
  • Michael Leinartas, 0.9.16 MVP for his work on patches for this release and consistent contributions.
  • Laurent Désarmes, 0.9.12 MVP for his super-speedy resolution of CHEF-1785 for the release.
  • Caleb Tennis, 0.9.6 MVP for years of notable contributions to the project.

Also, a tip of the Chef hat goes out to testers Greg Thornton, Gavin Sandie and Glenn Pratt for finding regressions during our release candidate cycle for 0.10.4.

Release Notes


  • [CHEF-1063] – yum query/ fails when a locally-compiled Python is in $PATH
  • [CHEF-1245] – Yum package provider fails poorly when it encounters unexpected output from
  • [CHEF-1413] – FreeBSD “Unexpected form for PKGNAME variable in …”
  • [CHEF-1424] – Upstart provider fails restart action if service is not started yet
  • [CHEF-1439] – apt package provider should be able to detect and install ‘virtual’ packages
  • [CHEF-1565] – mount resource does not respect action :nothing
  • [CHEF-1576] – yum gets confused with available packge in different arch
  • [CHEF-1819] – Chef isn’t recognizing yum .x86_64 syntax
  • [CHEF-1838] – Remove dead code from Chef::Runner
  • [CHEF-1848] – http_request provider does not propagate request headers when following redirects
  • [CHEF-1887] – Mount provider should not check existence of Fuse devices
  • [CHEF-1891] – When using rake new_cookbook, deprecation message should show correct syntax of creating cookbook via knife tool
  • [CHEF-1907] – OSX Macports package provider does not respect options
  • [CHEF-1968] – windows caching configuration problem
  • [CHEF-1982] – mount provider fails to recognize existing /etc/fstab entries
  • [CHEF-2105] – “knife cookbook site vendor” in a git branch besides master it changes back to “master” and overwrites the cookbook
  • [CHEF-2127] – chef-client daemon does not pick up changes from chef server
  • [CHEF-2129] – Old zypper Versions will crash because they don’T know the commandline arguments
  • [CHEF-2222] – mount resource issue with its “options” attribute
  • [CHEF-2234] – dpkg package provider ignores ~ in versions
  • [CHEF-2235] – chef-client failed when trying to install freebsd package from ports
  • [CHEF-2250] – knife cookbook site vendor fails on windows with ShellCommandFailed
  • [CHEF-2271] – knife client bulk delete not consistent with node delete
  • [CHEF-2272] – – commas are valid in package names
  • [CHEF-2295] – README.rdoc in Chef source is outdated
  • [CHEF-2300] – net-ssh-multi dependancy it too restrictive
  • [CHEF-2309] – knife bootstrap throws optparse error for -E when bootstrapping less than 0.10.0
  • [CHEF-2310] – knife ssh documentation missing -i option
  • [CHEF-2311] – Knife default display does not correctly display cloud providers public IP
  • [CHEF-2312] – webui doesn’t show fully expanded run list as expected
  • [CHEF-2313] – cookbook_uploader exception when exception is raised in uploader_function_for method
  • [CHEF-2314] – “knife cookbook site install” fails with cookbook name partially matching another cookbook name
  • [CHEF-2316] – knife help can’t find its man pages outside of a gem file heiarchy
  • [CHEF-2325] – Knife cookbook upload needs to verify that dependencies of a cookbook are/will be available when uploading
  • [CHEF-2350] – rubygems spec relies on rspec version which changed its format in rspec2
  • [CHEF-2354] – Notifies :restart always triggers in remote_directory resource
  • [CHEF-2367] – support multiple lines in DAEMONS list in rc.conf on Arch linux
  • [CHEF-2373] – GET /environments/:environment/recipes fails if there is a cookbook with no available versions
  • [CHEF-2378] – Chef expander’s “rake install” fails with undefined method `version’
  • [CHEF-2396] – NoMethodError accessing non-existent members of Encrypted Data Bag Items
  • [CHEF-2398] – easy_install package provider doesn’t use options attribute
  • [CHEF-2399] – default group provider does not work on suse Linux
  • [CHEF-2416] – Chef web ui is unable to edit data bag items
  • [CHEF-2428] – yum provider raises an exception when asked to remove an uninstalled package
  • [CHEF-2429] – yum provider – remote provides loaded for :remove and :purge
  • [CHEF-2432] – yum-dump – provides broken on centos 4
  • [CHEF-2444] – yum provider – broken with older versions of yum
  • [CHEF-2449] – yum provider – slow parsing of yum-dump output
  • [CHEF-2456] – knife cookbook site install -D description is incorrect and opposite behavior of -d from the old cookbook site vendor
  • [CHEF-2471] – knife exit specs fail on Ubuntu
  • [CHEF-2474] – When loading a role from a json file, a role object is not returned
  • [CHEF-2493] – New additional_remotes feature in git resource breaks deploy resource
  • [CHEF-2518] – NoMethodError running chef-solo


  • [CHEF-39] – Resources need a retry parameter which allows the action to repeat a set number of times until success is achieved.
  • [CHEF-311] – yum provider – better cache refresh
  • [CHEF-519] – value_for_platform should accept an array for version
  • [CHEF-1054] – Chef SOLR gem has an empty README.rdoc
  • [CHEF-1287] – speed up yum provider
  • [CHEF-1588] – knife cookbook upload should have a -d option to upload the specified cookbooks dependencies
  • [CHEF-1790] – Modify package/yum.rb upgrade_package to support “downgrade” in certain situations
  • [CHEF-1929] – ‘knife ssh’ should read config file for attribute, ssh-user, identity-file
  • [CHEF-1947] – Alphabetical sort of keys in JSON editor
  • [CHEF-1956] – We should upgrade jQuery to 1.5.2 and remove old jQuery and jquery.livequery plugin
  • [CHEF-2085] – YumCache needs unit tests
  • [CHEF-2096] – Yum provider should support installing packages via provides when the name is not an exact match
  • [CHEF-2193] – knife bootstrap – search for bootstrap templates in external knife plugins
  • [CHEF-2280] – general improvements
  • [CHEF-2283] – yum/rpm providers – rpm version handling
  • [CHEF-2293] – bump rubygems version in bootstrap templates
  • [CHEF-2298] – Add support for remote encryption key support to knife
  • [CHEF-2301] – general yum provider improvements
  • [CHEF-2307] – knife or the chef-server ui to warn of cookbook download failure rather than silently fall back to previous version
  • [CHEF-2330] – yum provider – allow flushing of cache
  • [CHEF-2375] – knife bootstrap needs a bootstrap-proxy option
  • [CHEF-2386] – Make knife bootstrap (and ssh) use ui.msg for output
  • [CHEF-2394] – Add data bag support for chef-solo

New Feature

  • [CHEF-1946] – Lightweight resources should have access to run_context and node during class definition, for use in DSL (e.g. attribute default values)
  • [CHEF-2041] – Allow file paths in package names to populate source attribute
  • [CHEF-2379] – Allow recipe to specify additional remotes to git resources
  • [CHEF-2387] – systemd service provider


  • [CHEF-2308] – The cookbook shadowing feature should either be officially deprecated or well documented with a commitment to support it indefinitely

Bryan McLellan