02-18-2016 Delivery Pipelines Failing After Builder Update to ChefDK 0.11.0

Sean Horn -

Summary: Delivery customers may see broken pipelines starting around 3pm PST 2016-02-18 due to the release of chef-dk 0.11 at that time. There is a workaround for this issue (see further down).

 

Symptoms: Build systems fail with something like the following log output:

 

Berkshelf command failed
STDOUT:
STDERR: /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/httpclient-2.6.0.1/lib/httpclient/webagent-cookie.rb:458: warning: already initialized constant HTTPClient::CookieManager
/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/httpclient-2.6.0.1/lib/httpclient/cookie.rb:8: warning: previous definition of CookieManager was here
/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/chef-config-12.6.0/lib/chef-config/workstation_config_loader.rb:159:in `rescue in read_config': You have an error in your config file /var/opt/delivery/workspace/.chef/knife.rb (ChefConfig::ConfigurationError)
Gem::ConflictError: Unable to activate chef-12.7.2, because chef-config-12.6.0 conflicts with chef-config (= 12.7.2)
 /var/opt/delivery/workspace/.chef/knife.rb:1:in `from_string'
Relevant file content:
 1: require 'chef/config'
 2: current_dir = File.dirname(__FILE__)
 3: Chef::Config.from_file("/etc/chef/client.rb")
 4: log_location STDOUT
Add Comment Coll

 

Resolution:

1. Pull down the latest delivery-build cookbook from https://github.com/chef/delivery_build and then upload that to the delivery org in the chef server backing your delivery cluster. Then, run the chef-client on your builders as root. The chef-client run will use the new delivery_build cookbook that can handle chefdk 0.11.0

           # on your workstation with access to the delivery server

           git clone https://github.com/chef-cookbooks/delivery_build

      knife cookbook upload delivery_build

      # On the builders

      chef-client

2. Upgrade to the latest (02-19-2016) delivery-cluster cookbook which has the fix – use the standard upgrade procedure for that and it will upgrade your builders with the latest delivery_build cookbook:

2a. Change directories into your deliver-cluster cookbook on the provisioning machine

2b. Make sure you are on the master branch

2c. git pull

2d. UPGRADE DOC -  https://github.com/chef-cookbooks/delivery-cluster/blob/master/UPGRADE.md

 

Have more questions? Submit a request

Comments

Powered by Zendesk