when "stable"
apt_repository "ceph-stable" do
repo_name "ceph"
- uri "http://www.ceph.com/debian-#{node['ceph']['version']}/"
+ uri "http://ceph.com/debian-#{node['ceph']['version']}/"
distribution node['lsb']['codename']
components ["main"]
key "https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc"
key "https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc"
end
end
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-
-packages = %w{
- ceph
- ceph-common
-}
-if node['ceph']['install_debug']
- packages_dbg = %w{
- ceph-dbg
- ceph-common-dbg
+packages = []
+
+case node['platform_family']
+when "debian"
+ packages = %w{
+ ceph
+ ceph-common
+ }
+
+ if node['ceph']['install_debug']
+ packages_dbg = %w{
+ ceph-dbg
+ ceph-common-dbg
+ }
+ packages += packages_dbg
+ end
+when "rhel", "fedora"
+ packages = %w{
+ ceph
}
- packages += packages_dbg
+
+ if node['ceph']['install_debug']
+ packages_dbg = %w{
+ ceph-debug
+ }
+ packages += packages_dbg
+ end
end
packages.each do |pkg|
--- /dev/null
+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