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 1.2.1

Chef omnibus package updater and installer

cookbook 'omnibus_updater', '= 1.2.1', :supermarket
cookbook 'omnibus_updater', '= 1.2.1'
knife supermarket install omnibus_updater
knife supermarket download omnibus_updater
Quality 100%

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.



  • redhat
  • centos
  • amazon
  • scientific
  • oracle
  • debian
  • ubuntu
  • mac_os_x
  • solaris
  • 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'

It can also uninstall Chef from the system Ruby installation if you tell it to:

  :omnibus_updater => {
    :remove_chef_system_gem => true


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.

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.


Windows Support

Windows support is available in versions 1.0.8 and higher; however, we only support Chef Client versions 12.5.1 and below, due to a known bug in 12.6.0. This is reflected in the Windows test suite.

If you would like to wrap this cookbook in order to prevent OmnibusUpdater with version 12.6.0 on Windows, you may do something like the following:

if (node[:chef_packages][:chef][:version] == '12.6.0') && node[:os].downcase.include?('windows')
  Chef::Log.warn 'Omnibus updater cannot upgrade or downgrade a Windows 12.6.0 installation, skipping'
  include_recipe 'omnibus_updater'

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.

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 EL6 not EL7
  • 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

1.2.1 passed this metric

Foodcritic Metric

1.2.1 passed this metric