Alexandre Marangone 57c6e08276 Support EL, Fedora and (open)SuSE repo
- Recipe is now ceph::repo
- For EL, add EPEL repository for dependencies by default.
Deactivable by using el_add_epel: false under ceph: {} in
the chef environment.
- Handle package names difference between EL/FC/SuSE and Debian.

Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
2013-03-26 14:55:46 -07:00

48 lines
1.9 KiB
Ruby

case node['platform_family']
when "rhel"
version = %x[ cat /etc/redhat-release | awk '{print $3}' | awk -F. '{print $1}' ].chomp
release = "el" + version
if node['ceph']['el_add_epel'] == true
# We need to do this since the EPEL
# version might change
epel_package = %x[ curl -s http://dl.fedoraproject.org/pub/epel/fullfilelist | grep ^#{version}/#{node['kernel']['machine']}/epel-release ].chomp
system "rpm -U http://dl.fedoraproject.org/pub/epel/#{epel_package}"
end
when "fedora"
version = %x[ cat /etc/fedora-release | awk '{print $3}' ].chomp
release = "fc" + version
when "suse"
suse = %x[ head -n1 /etc/SuSE-release| awk '{print $1}' ].chomp.downcase #can be suse or opensuse
version = %x[ grep VERSION /etc/SuSE-release | awk -F'= ' '{print $2}' ].chomp
release = suse + version
end
end_path = "/#{release}/x86_64/ceph-release-1-0.#{release}.noarch.rpm"
case node['ceph']['branch']
when "stable"
path = "http://ceph.com/rpm-#{node['ceph']['version']}" + end_path
system "rpm -U #{path}"
when "testing"
path = "http://ceph.com/rpm-testing" + end_path
system "rpm -U #{path}"
when "dev"
if node['platform'] == "centos"
baseurl="http://gitbuilder.ceph.com/ceph-rpm-centos#{version}-x86_64-basic/ref/#{node['ceph']['version']}/x86_64/"
elsif node['platform'] == "fedora"
baseurl="http://gitbuilder.ceph.com/ceph-rpm-#{release}-x86_64-basic/ref/#{node['ceph']['version']}/RPMS/x86_64/"
else
raise "repository not available for your distribution"
end
# Instead of using the yum cookbook,
# we do it this way. It avoids a dependency
system "curl -s 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc' > /etc/pki/rpm-gpg/RPM-GPG-KEY-CEPH"
system "cat > /etc/yum.repos.d/ceph.repo << EOF\n" \
"[ceph]\n" \
"name=Ceph\n" \
"baseurl=#{baseurl}\n" \
"enabled=1\n" \
"gpgcheck=1\n" \
"gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CEPH\n" \
"EOF\n"
end