Couchbase cookbook broken by changes at http://packages.couchbase.com


#1

Some time in the recent past, couchbase appears to have made some changes to
their http://packages.couchbase.com server, which broke the supermarket
couchbase cookbook (https://supermarket.getchef.com/cookbooks/couchbase).

I’ve been seeing 403 errors and chef throws this when running the client
recipe:

==> default: STDERR:
http://packages.couchbase.com/rpm/couchbase-rpm.key/repodata/repomd.xml: [Errno
14] PYCURL ERROR 22 - “The requested URL returned error: 403 Forbidden”

Here’s the debug output from a failed couchbase::client run. FYI, it was run
against a slightly modified version of the cookbook that simply replaces :

==> default: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


==> default: [2014-10-23T18:12:16+00:00] INFO: *** Chef 11.16.4 ***
==> default: [2014-10-23T18:12:16+00:00] INFO: Chef-client pid: 16014
==> default: [2014-10-23T18:12:22+00:00] INFO: Setting the run_list to
[“recipe[couchbase::client]”] from CLI options
==> default: [2014-10-23T18:12:22+00:00] INFO: Run List is
[recipe[couchbase::client]]
==> default: [2014-10-23T18:12:22+00:00] INFO: Run List expands to
[couchbase::client]
==> default: [2014-10-23T18:12:22+00:00] INFO: Starting Chef Run for
rubensteintech-berkshelf
==> default: [2014-10-23T18:12:22+00:00] INFO: Running start handlers
==> default: [2014-10-23T18:12:22+00:00] INFO: Start handlers complete.
==> default: [2014-10-23T18:12:22+00:00] INFO: WindowsPackage lightweight
resource already initialized – overriding!
==> default:

==> default: Error executing action install on resource
’package[libcouchbase2]’
==> default:

==> default: Mixlib::ShellOut::ShellCommandFailed
==> default: ------------------------------------
==> default: Expected process to exit with [0], but received ‘1’
==> default: ---- Begin output of /usr/bin/python
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/package/yum-dump.py
–options --installed-provides --yum-lock-timeout 30 ----
==> default: STDOUT: [option installonlypkgs] kernel kernel-bigmem
installonlypkg(kernel-module) installonlypkg(vm) kernel-enterprise kernel-smp
kernel-debug kernel-unsupported kernel-source kernel-devel kernel-PAE
kernel-PAE-debug
==> default: STDERR: yum-dump Repository Error: Cannot retrieve repository
metadata (repomd.xml) for repository: couchbase-rpm.key. Please verify its path
and try again
==> default: ---- End output of /usr/bin/python
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/package/yum-dump.py
–options --installed-provides --yum-lock-timeout 30 ----
==> default: Ran /usr/bin/python
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/package/yum-dump.py
–options --installed-provides --yum-lock-timeout 30 returned 1
==> default:
==> default: Resource Declaration:
==> default: ---------------------
==> default: # In
/tmp/vagrant-chef-6/chef-solo-1/cookbooks/couchbase/recipes/client.rb
==> default:
==> default: 65: package p do
==> default: 66: action :install
==> default: 67: end
==> default: 68: end
==> default:
==> default: Compiled Resource:
==> default: ------------------
==> default: # Declared in
/tmp/vagrant-chef-6/chef-solo-1/cookbooks/couchbase/recipes/client.rb:65:in
`block in from_file’
==> default:
==> default: package(“libcouchbase2”) do
==> default: action [:install]
==> default: retries 0
==> default: retry_delay 2
==> default: guard_interpreter :default
==> default: package_name “libcouchbase2”
==> default: timeout 900
==> default: cookbook_name :couchbase
==> default: recipe_name “client”
==> default: end
==> default:
==> default: [2014-10-23T18:12:35+00:00] INFO: Running queued delayed
notifications before re-raising exception
==> default: [2014-10-23T18:12:35+00:00] ERROR: Running exception handlers
==> default: [2014-10-23T18:12:35+00:00] ERROR: Exception handlers complete
==> default: [2014-10-23T18:12:35+00:00] FATAL: Stacktrace dumped to
/var/chef/cache/chef-stacktrace.out
==> default: [2014-10-23T18:12:35+00:00] ERROR: package[libcouchbase2]
(couchbase::client line 65) had an error: Mixlib::ShellOut::ShellCommandFailed:
Expected process to exit with [0], but received ‘1’
==> default: ---- Begin output of /usr/bin/python
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/package/yum-dump.py
–options --installed-provides --yum-lock-timeout 30 ----
==> default: STDOUT: [option installonlypkgs] kernel kernel-bigmem
installonlypkg(kernel-module) installonlypkg(vm) kernel-enterprise kernel-smp
kernel-debug kernel-unsupported kernel-source kernel-devel kernel-PAE
kernel-PAE-debug
==> default: STDERR: yum-dump Repository Error: Cannot retrieve repository
metadata (repomd.xml) for repository: couchbase-rpm.key. Please verify its path
and try again
==> default: ---- End output of /usr/bin/python
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/package/yum-dump.py
–options --installed-provides --yum-lock-timeout 30 ----
==> default: Ran /usr/bin/python
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/package/yum-dump.py
–options --installed-provides --yum-lock-timeout 30 returned 1
==> default: [2014-10-23T18:12:35+00:00] FATAL:
Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully
(exit code 1)
Chef never successfully completed! Any errors should be visible in the
output above. Please fix your recipes so that they properly complete.