Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

The omnibus_updater cookbook has been deprecated

Author provided reason for deprecation:

The omnibus_updater cookbook has been deprecated and is no longer being maintained by its authors. Use of the omnibus_updater cookbook is no longer recommended.

You may find that the chef_client_updater cookbook is a suitable alternative.


omnibus_updater (23) Versions 3.0.2

Chef omnibus package updater and installer

cookbook 'omnibus_updater', '~> 3.0.2', :supermarket
cookbook 'omnibus_updater', '~> 3.0.2'
knife supermarket install omnibus_updater
knife supermarket download omnibus_updater
Quality 17%

omnibus_updater cookbook

Build Status Cookbook Version

This cookbook allows you to upgrade the omnibus based Chef install package via Chef. You can run either latest or pin to specific version.



  • Debian / Ubuntu
  • Mac OS X
  • RHEL (redhat, centos, amazon, scientific, oracle)
  • Solaris
  • SLES / openSUSE
  • Windows


  • Chef 11+


  • none


Add the recipe to your run list and specify what version should be installed on the node:

knife node run_list add recipe[omnibus_updater]

In your role you'll likely want to set the version. It defaults to nothing, and will install the latest..

  :omnibus_updater => {
    :version => '11.4.0'


Latest Version

Force installation of the latest version regardless of value stored in version attribute by setting the force_latest attribute.

Chef Killing

By default the omnibus updater will kill the chef instance by raising an exception. You can turn this off using the kill_chef_on_upgrade attribute. It is not recommended to turn this off. Internal chef libraries may change, move, or no longer exist. The currently running instance can encounter unexpected states because of this. To prevent this, the updater will attempt to kill the Chef instance so that it can be restarted in a normal state.

When kill_chef_on_upgrade is true Test-kitchen's converge stage will fail. To avoid this and attempt a second converge after the initial converge aborts, you can configure .kitchen.yml to retry a converge given a specific exit code from node['omnibus_updater']['kill_chef_on_upgrade_exit_code']. The second converge should pick up the new chef-client version and exit without error. The following is how to accomplish this:

    - 213
  max_retries: 1
  wait_for_retry: 1
    exit_status: :enabled
    client_fork: false

Exit code 213 is a special designation for Chef Client Upgrade and only exists in Chef Client >= 12.15.19. If using an older client, you can replace exit code 213 (Chef upgrade) with 3 (SIGTERM recvd) as a workaround. Exit codes are documented here:

Restart chef-client Service

Use the restart_chef_service attribute to restart chef-client if you have it running as a service.


Prereleases can be installed via the auto-installation using prerelease attribute.


If you want to disable the updater you can set the disabled attribute to true. This might be useful if the cookbook is added to a role but should then be skipped for example on a Chef server.

Prevent Downgrade

If you want to prevent the updater from downgrading chef on a node, you can set the prevent_downgrade attribute to true. This can be useful for testing new versions manually. Note that the always_download attribute takes precedence if set.

License & Authors

Copyright:: 2010-2016, Chef Software, Inc

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

omnibus_updater Cookbook CHANGELOG

This file is used to list changes made in each version of the omnibus_updater cookbook.

3.0.2 (2017-03-07)

  • Fix version detection for macOS systems
  • Test with Local Delivery instead of Rake

3.0.1 (2017-01-05)

  • Remove the remaining system gem reference

3.0.0 (2017-01-05)

  • Added support for the new upgrade exit code (213) introduced with RFC062 and first shipped in chef 12.15.19
  • Fix support for upgrading Windows client 12.6 and later by first moving the install directory
  • Remove the recipe to cleanup system ruby chef installs. We should assume everyone is on Omnibus installs at this point and this same functionality can be easily implemented in your own recipes
  • Added suse, opensuse, and opensuseleap to the metadata

2.0.0 (2016-08-19)

  • Hard fail on unsupported platforms now
  • Add suse support
  • Add additional chefspec tests

1.2.1 (2016-08-19)

  • Use the improved rakefile
  • Fix github URLs in the metadata
  • Add testing on additional platforms to kitchen config
  • fix 1.2.0 no implicit conversion of nil to string. fixes #123

1.2.0 (2016-08-18)

  • Add OS X DMG Support and fix Mac OS X Version Determination
  • Add a potential Restart Fix
  • Add chef_version metadata to the metadata.rb file
  • Change maintainership to Chef and add standard Chef contributing, test, and maintainer docs
  • Renamed the test recipe for consistency and removed the use of minitest
  • Swapped Librarian for Berkshelf
  • Added testing in Travis CI using ChefDK
  • Resolved Foodcritic FC001/FC043 warnings
  • Resolved all Cookstyle warnings
  • Identify Fedora to be EL7 not EL6
  • Avoid a node.set deprecation warning
  • No need to warn on Debian 5. No one should be on this now.
  • Add a test for the standard flows


  • Add Windows support (only Chef client versions 12.5.1 and below).
  • Improve upgrade behavior on Amazon Linux
  • Explicitly require windows testing gems in order to support test-kitchen 1.6.x.


  • Get rid of warnings about defined constant
  • update Chef download url
  • Updates supported versions
  • require chef/rest
  • use Chef::Mash explicitly
  • Define the Chef::Mash constant if not provided by chef
  • add test suites for ubuntu 14.04 and centos 7


  • file_cache_path path to store chef-client
  • Avoid deleting chef-server packages if using the same cache dir
  • Only backup the last old chef client file
  • make sure directory exists before trying to write to it


  • Maintenance updates
  • Support for Fedora
  • omnitrucker solaris update
  • bug fixes


  • Breaking change: :always_download is now defaulted to false
  • Add solaris package install support (#37 thanks @jtimberman)
  • Update notifies/subscribes usage to support older Chefs (#38 thanks @spheromak)


  • Always download the package (thanks @miketheman for swiftly pointing out the issue!)


  • Work with amazon linux (thanks @thommay)
  • Disable updates on debian 5 (thanks @ianand0204)
  • Only use major version on debian systems (thanks @kvs)
  • Allow prevention of downgrades (thanks @buysse)
  • Add support for restarting chef service after upgrade (thanks @andrewfraley)


  • Only download omnibus package if version difference detected (#20 #22 #23)
  • Provide attribute for always downloading package even if version matches


  • Use chef internals for interactions with omnitruck to provide proper proxy support (#19)


  • Use omnitruck client for url generation for package fetching
  • Use prerelease in favor of allow_release_clients


  • Fix regression on debian package path construction (thanks ashmere)


  • Search for proper version suffix if not provided (removes default '-1')
  • Do not allow release clients by default when version search is enabled
  • Push omnibus package installation to the end of run (reduces issue described in #10)
  • Allow updater to be disabled via attribute (thanks Teemu Matilainen)


  • Fix redhat related versioning issues
  • Remove requirement for '-1' suffix on versions
  • Initial support for automatic latest version install


  • Add support for Ubuntu 12.10
  • Path fixes for non-64 bit packages (thanks ashmere)


  • Use new aws bucket by default
  • Update file key building


  • Path fix for debian omnibus packages (thanks ashmere)


  • Add robust check when uninstalling chef gem to prevent removal from omnibus


  • Initial release

Collaborator Number Metric

3.0.2 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric

3.0.2 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Foodcritic Metric

3.0.2 failed this metric

FC104: Use the :run action in ruby_block instead of :create: omnibus_updater/recipes/installer.rb:84
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric

3.0.2 passed this metric

Testing File Metric

3.0.2 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Version Tag Metric

3.0.2 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must include a tag that matches this cookbook version number