cookbook 'omnibus_updater', '~> 3.0.2'
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
-
Follow63
Chef omnibus package updater and installer
cookbook 'omnibus_updater', '~> 3.0.2', :supermarket
knife supermarket install omnibus_updater
knife supermarket download omnibus_updater
omnibus_updater cookbook
This cookbook allows you to upgrade the omnibus based Chef install package via Chef. You can run either latest or pin to specific version.
Requirements
Platforms
- Debian / Ubuntu
- Mac OS X
- RHEL (redhat, centos, amazon, scientific, oracle)
- Solaris
- SLES / openSUSE
- Windows
Chef
- Chef 11+
Cookbooks
- none
Usage
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..
override_attributes( :omnibus_updater => { :version => '11.4.0' } )
Features
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:
provisioner: retry_on_exit_code: - 213 max_retries: 1 wait_for_retry: 1 client_rb: 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: https://github.com/chef/chef-rfc/blob/master/rfc062-exit-status.md
Restart chef-client Service
Use the restart_chef_service
attribute to restart chef-client if you have it running as a service.
Prerelease
Prereleases can be installed via the auto-installation using prerelease
attribute.
Disable
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
- Author: Chris Roberts (chrisroberts.code@gmail.com)
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 http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
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
v1.1.0
- 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.
v1.0.6
- 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
v1.0.4
- 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
v1.0.2
- Maintenance updates
- Support for Fedora
- omnitrucker solaris update
- bug fixes
v1.0.0
- 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)
v0.2.8
- Always download the package (thanks @miketheman for swiftly pointing out the issue!)
v0.2.6
- 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)
v0.2.4
- Only download omnibus package if version difference detected (#20 #22 #23)
- Provide attribute for always downloading package even if version matches
v0.2.3
- Use chef internals for interactions with omnitruck to provide proper proxy support (#19)
v0.2.0
- Use omnitruck client for url generation for package fetching
- Use
prerelease
in favor ofallow_release_clients
v0.1.2
- Fix regression on debian package path construction (thanks ashmere)
v0.1.1
- 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)
v0.1.0
- Fix redhat related versioning issues
- Remove requirement for '-1' suffix on versions
- Initial support for automatic latest version install
v0.0.5
- Add support for Ubuntu 12.10
- Path fixes for non-64 bit packages (thanks ashmere)
v0.0.4
- Use new aws bucket by default
- Update file key building
v0.0.3
- Path fix for debian omnibus packages (thanks ashmere)
v0.0.2
- Add robust check when uninstalling chef gem to prevent removal from omnibus
v0.0.1
- 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 https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md 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 https://github.com/user/repo, and your repo must contain a TESTING.md 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 https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
3.0.2 failed this 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 https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md 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 https://github.com/user/repo, and your repo must contain a TESTING.md 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 https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
3.0.2 failed this metric
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
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 https://github.com/user/repo, and your repo must contain a TESTING.md 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 https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
3.0.2 failed this 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 https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number