RPM location change breaks couchbase server 2.2.0 download for centos cookbook

Looks like there have been some changes to the way we can access couchbase server RPMS, which have broken the chef supermarket couchbase cookbook.

The URL that worked previously was this one:

http://packages.couchbase.com/releases/2.2.0/couchbase-server-community-2.2.0-centos6.x86_64.rpm

which now yields 403 “Forbidden” errors.

Any chance we’ll be able to automate couchbase installs? We are hoping to be able to install 2.2.0, and not ready to upgrade to 3.x at this time.

Can you Couchbase folks help us out here?

Thanks.

Eric

That shouldn’t have been broken. I’ll have someone look into it shortly. Sorry for the inconvenience.

From the download site the URL seems to be different from what you said it was.

http://packages.couchbase.com/releases/2.2.0/couchbase-server-community-2.2.0-centos6.x86_64.rpm
versus
http://packages.couchbase.com/releases/2.2.0/couchbase-server-community_2.2.0_x86_64.rpm

I’m still checking, but are you sure that other URL worked before and it wasn’t just copying a naming scheme for a different version? Note that the file name has changed over time and I know the team is starting to move to the distro standards.

Near as we can tell, we’d never had it at the location you mention. I think it may have been incorrect assumptions that the scheme was the same in all releases.

If you know of some place that advertises it differently, let me know.

Matt,

Here’s the problem demonstrated by the last 6 versions of the 64-bit community versions of CB server:

couchbase-server-community-3.0.1-centos6.x86_64.rpm
couchbase-server-enterprise-3.0.1-centos5.x86_64.rpm
couchbase-server-enterprise-3.0.1-centos6.x86_64.rpm
couchbase-server-enterprise_2.2.0_x86_64.rpm
couchbase-server-enterprise_2.5.0_x86_64.rpm
couchbase-server-enterprise_2.5.1_x86_64.rpm
couchbase-server-enterprise_x86_64_2.1.1.rpm

The cookbook is expecting the 3.0.1 format. I’ve been trying to install a 2.x version.

Mystery solved.

Thanks for your help.

Eric

We’re doing something similar, and in our wrapper cookbook, while we only support centos, I override the attributes:

when "centos", "redhat", "amazon", "scientific"
  package_machine = node['kernel']['machine'] == "x86_64" ? "x86_64" : "x86"
  couchbase_version_separator = (Gem::Version.new(node['couchbase']['server']['version']) < Gem::Version.new('3.0.0')) ? '_' : '-'
  os_name_spacer = (Gem::Version.new(node['couchbase']['server']['version']) < Gem::Version.new('3.0.0')) ? '_' : '-centos6.'
  node.override['couchbase']['server']['package_file'] = "couchbase-server-#{node['couchbase']['server']['edition']}#{couchbase_version_separator}#{node['couchbase']['server']['version']}#{os_name_spacer}#{package_machine}.rpm"
else
  raise "Couchbase Server is not supported on #{node['platform']}"
end```