From 1353538644253081f62a6a74e299d102aa9965dd Mon Sep 17 00:00:00 2001 From: Steven Dake 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'] %}