In response to an dependency issue, I have just released chef-provisioning-aws 1.0.4 and cheffish 1.1.1. If you were affected by the chef-zero dependency issue, you can updated to the latest cheffish and chef-provisioning-aws gems to fix it. If you want the whole story, read on!
The issue: the current omnibus chef (12.2.1) uses appbundling https://github.com/chef/appbundler to pin the version of dependencies activated when using chef. The current omnibus chef package has a gem constraint of
chef-zero ‘~> 4.0’ - this means that chef-zero 4.2 can successfully fulfill that constraint. But because omnibus chef 12.2.1 was released before chef-zero 4.2 existed, it has been appbundled to activate chef-zero 4.0 as soon as a chef command (chef-client, chef-shell, etc.) is ran.
This was causing an issue for customers using omnibus chef 12.2.1 and chef-provisioning. The latest cheffish and chef-provisioning-aws gems had a
~> 4.2 constraint - they must have at least 4.2 activated to run. But because appbundling had already activated chef-zero 4.0, Rubygems threw a lovely error:
Gem::ConflictError: Unable to activate cheffish-1.1.0, because chef-zero-4.0 conflicts with chef-zero (~> 4.2)
I have reverted the constraint in cheffish and chef-provisioning-aws from
~> 4.2 to
~> 4.0. The changes in chef-zero are only used in development so their lack in production shouldn’t affect chef-provisioning.
The ChefDK omnibus 0.5.0 RC5 does not have this issue - if you install that locally you will be able to develop against chef-provisioning and leverage the RSpec support that chef-zero 4.2.0 includes.
On Apr 7, 2015, at 12:55 PM, Tyler Ball email@example.com wrote:
Today and yesterday, I’ve been on a furious gem-releasing run. I’ve released updated versions of chef-zero, cheffish, chef-provisioning and chef-provisioning-aws. Much of this is in preparation for the new ChefDK release I’m working on.
I may potentially perform some more releases of these same gems but I wanted to go ahead and get the word out about my changes in case anyone sees issues.
All the affected changelogs have been updated, but I’ll post a summary of the changes here:
chef-zero https://github.com/chef/chef-zero/blob/master/CHANGELOG.md 4.2.1
bump ffi-yajl dependencies
Update rspec support method
with_chef_server to take :organization and :data_scope parameters
cheffish https://github.com/chef/cheffish/blob/master/CHANGELOG.md 1.1.0
Add encapsulated chef runs that capture and stream output
chef-provisioning https://github.com/chef/chef-provisioning/blob/master/CHANGELOG.md 1.0.1
Cleaned up dependencies which were causing build failures - no longer depend on chef-provisioning-aws
Updated to cheffish ~> 1.1
chef-provisioning-aws https://github.com/chef/chef-provisioning-aws/blob/master/CHANGELOG.md 1.0.3
Update chef-provisioning, chef-zero and cheffish to use latest gem versions and no longer depend on github
Cheers, and let me know if anyone encounters issues!