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 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.
Cheers!
-T
On Apr 7, 2015, at 12:55 PM, Tyler Ball <
" class="">
> wrote:
Greetings!
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:
- bump ffi-yajl dependencies
- Update rspec support method `with_chef_server` to take :organization and :data_scope parameters
- Add encapsulated chef runs that capture and stream output
- Cleaned up dependencies which were causing build failures - no longer depend on chef-provisioning-aws
- Updated to cheffish ~> 1.1
- 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!
-Tyler