Freshly Released Gems


#1

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:

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!

-Tyler


#2

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.

Cheers!
-T

On Apr 7, 2015, at 12:55 PM, Tyler Ball tball@chef.io 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:

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!

-Tyler


#3

I just released Cheffish 1.1.2 - this contains a 1 line fix where a log message had a syntax error. I also added test coverage for this.

Cheers!
-T

On Apr 7, 2015, at 5:24 PM, Tyler Ball tball@chef.io wrote:

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.

Cheers!
-T

On Apr 7, 2015, at 12:55 PM, Tyler Ball <tball@chef.io mailto:tball@chef.io> 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:

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!

-Tyler