From 1353538644253081f62a6a74e299d102aa9965dd Mon Sep 17 00:00:00 2001
From: Steven Dake <stdake@cisco.com>
Date: Tue, 13 Oct 2015 03:56:20 -0400
Subject: [PATCH] Make Ceph work for RPM based distributions

Ceph packages need to be installed in nova, glance, and cinder.
Once that is done, Ceph works like a champ!

Change-Id: I296da1d04d0c1bcb729f22e65e432d53d561b49c
backport: liberty
Closes-Bug: #1505549
---
 docker/base/Dockerfile.j2               |  2 ++
 docker/base/ceph.yum.repo               | 15 +++++++++++++++
 docker/ceph/ceph-base/Dockerfile.j2     |  5 ++++-
 docker/cinder/cinder-base/Dockerfile.j2 |  2 ++
 docker/glance/glance-base/Dockerfile.j2 | 15 +++++++++++++--
 docker/nova/nova-compute/Dockerfile.j2  |  2 ++
 docker/nova/nova-libvirt/Dockerfile.j2  |  1 +
 7 files changed, 39 insertions(+), 3 deletions(-)
 create mode 100644 docker/base/ceph.yum.repo

diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2
index a9d576be4e..502103d4e3 100644
--- a/docker/base/Dockerfile.j2
+++ b/docker/base/Dockerfile.j2
@@ -42,6 +42,8 @@ ENV KOLLA_INSTALL_METATYPE {{ install_metatype }}
 # Turns on MariaDB repos throughout the RPM build
 COPY mariadb.yum.repo /etc/yum.repos.d/MariaDB.repo
 
+COPY ceph.yum.repo /etc/yum.repos.d/ceph.repo
+
 RUN yum install -y http://www.percona.com/redir/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm \
     && sed -i 's|$releasever|centos/latest|g' /etc/yum.repos.d/percona-release.repo
 
diff --git a/docker/base/ceph.yum.repo b/docker/base/ceph.yum.repo
new file mode 100644
index 0000000000..131e01a4c9
--- /dev/null
+++ b/docker/base/ceph.yum.repo
@@ -0,0 +1,15 @@
+[ceph-x86_64]
+name=Ceph x86_64 packages
+baseurl=http://ceph.com/rpm-hammer/el7/x86_64
+enabled=1
+gpgcheck=1
+type=rpm-md
+gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
+
+[ceph-noarch]
+name=Ceph noarch packages
+baseurl=http://ceph.com/rpm-hammer/el7/noarch
+enabled=1
+gpgcheck=1
+type=rpm-md
+gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
diff --git a/docker/ceph/ceph-base/Dockerfile.j2 b/docker/ceph/ceph-base/Dockerfile.j2
index 95e5bca752..859e4d5fd2 100644
--- a/docker/ceph/ceph-base/Dockerfile.j2
+++ b/docker/ceph/ceph-base/Dockerfile.j2
@@ -3,7 +3,10 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla)
 
 {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
 
-RUN yum -y install ceph \
+RUN yum -y install \
+        ceph \
+        parted \
+        hdparm \
     && yum clean all
 
 {% elif base_distro in ['ubuntu', 'debian'] %}
diff --git a/docker/cinder/cinder-base/Dockerfile.j2 b/docker/cinder/cinder-base/Dockerfile.j2
index 767f7bd5bb..214810ef1b 100644
--- a/docker/cinder/cinder-base/Dockerfile.j2
+++ b/docker/cinder/cinder-base/Dockerfile.j2
@@ -7,7 +7,9 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla)
 RUN yum -y install openstack-cinder \
     python-automaton \
     lvm2 \
+    ceph-common \
   && yum clean all \
+  && mkdir -p /etc/ceph \
   && sed -i "s|udev_rules = 1|udev_rules = 0|g" /etc/lvm/lvm.conf \
   && sed -i "s|udev_sync = 1|udev_sync = 0|g" /etc/lvm/lvm.conf
 
diff --git a/docker/glance/glance-base/Dockerfile.j2 b/docker/glance/glance-base/Dockerfile.j2
index bf079c5280..3ca7e51336 100644
--- a/docker/glance/glance-base/Dockerfile.j2
+++ b/docker/glance/glance-base/Dockerfile.j2
@@ -9,11 +9,22 @@ RUN yum -y install \
         python-oslo-i18n \
         python-castellan \
         python-cryptography \
-    && yum clean all
+        python-rbd \
+        python-rados \
+    && yum clean all \
+    && mkdir -p /etc/ceph/
 
     {% endif %}
 {% elif install_type == 'source' %}
-    {% if base_distro in ['ubuntu', 'debian'] %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+
+RUN yum -y install \
+        python-rbd \
+        python-rados \
+    && yum clean all \
+    && mkdir -p /etc/ceph/
+
+    {% elif base_distro in ['ubuntu', 'debian'] %}
 
 RUN apt-get install -y --no-install-recommends \
         python-rbd \
diff --git a/docker/nova/nova-compute/Dockerfile.j2 b/docker/nova/nova-compute/Dockerfile.j2
index e86440ed15..2723ba7117 100644
--- a/docker/nova/nova-compute/Dockerfile.j2
+++ b/docker/nova/nova-compute/Dockerfile.j2
@@ -8,6 +8,7 @@ RUN yum -y install \
         openstack-nova-compute \
         openvswitch \
         sysfsutils \
+        ceph-common \
     && yum clean all
 
     {% endif %}
@@ -19,6 +20,7 @@ RUN yum -y install \
         openvswitch \
         qemu-img \
         sysfsutils \
+        ceph-common \
     && yum clean all
 
     {% elif base_distro in ['ubuntu', 'debian'] %}
diff --git a/docker/nova/nova-libvirt/Dockerfile.j2 b/docker/nova/nova-libvirt/Dockerfile.j2
index 514c49d49c..29222da4e3 100644
--- a/docker/nova/nova-libvirt/Dockerfile.j2
+++ b/docker/nova/nova-libvirt/Dockerfile.j2
@@ -10,6 +10,7 @@ RUN yum -y install \
         libvirt-daemon-driver-nwfilter \
         libvirt-daemon-config-nwfilter \
         libvirt-daemon-driver-lxc \
+        ceph-common \
     && yum clean all
 
 {% elif base_distro in ['ubuntu', 'debian'] %}