From 70423f19596f92ed01c89e7d62f8c46a6dba6a23 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Mon, 27 Jan 2020 14:57:57 +0000 Subject: CentOS 8: Use upstream Ceph/master The only Ceph version that will support CentOS 8 is Octopus. It will be released end of March 2020 - so for now let's use master. Change-Id: I5955acb41e7346802d76f4f2b244cbf5c36f5bf2 Partially-Implements: blueprint centos-rhel-8 --- docker/base/Dockerfile.j2 | 13 +++++++++++++ docker/base/ceph_master.repo | 32 +++++++++++++++++++++++++++++++ docker/cinder/cinder-base/Dockerfile.j2 | 7 ++++++- docker/glance/glance-base/Dockerfile.j2 | 7 ++++++- docker/gnocchi/gnocchi-base/Dockerfile.j2 | 7 ++++++- docker/manila/manila-share/Dockerfile.j2 | 7 ++++++- docker/nova/nova-compute/Dockerfile.j2 | 7 ++++++- docker/nova/nova-libvirt/Dockerfile.j2 | 7 ++++++- docker/zun/zun-compute/Dockerfile.j2 | 7 ++++++- 9 files changed, 87 insertions(+), 7 deletions(-) create mode 100644 docker/base/ceph_master.repo (limited to 'docker') diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2 index 5a62b1ef2..effb9fdca 100644 --- a/docker/base/Dockerfile.j2 +++ b/docker/base/Dockerfile.j2 @@ -231,6 +231,11 @@ RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 'centos-release-opstools', 'centos-release-qemu-ev', ] %} +# FIXME(mnasiadka): Replace with CentOS Storage SIG packages when avail +{% else %} +COPY ceph_master.repo /etc/yum.repos.d/ +RUN export CEPH_MASTER_REPO=$(curl -s https://shaman.ceph.com/api/search/\?status\=ready\&project\=ceph\&ref\=master\&flavor\=default\&distros\=centos/8\&sha1\=\latest | awk -F'{|: |,|"|}' '{for(i=1;i<=NF;i++) {gsub(" ",""); if($i == "url") {print $(i+2)}}}') \ + && sed -i "s|CHACRA_URL|${CEPH_MASTER_REPO}|g" /etc/yum.repos.d/ceph_master.repo {% endif %} {% if distro_package_manager == 'dnf' %} @@ -257,6 +262,14 @@ RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 'centos-nfs-ganesha28', 'centos-qemu-ev', ] %} +{% else %} + # FIXME(mgoddard): Remove when CentOS Storage SIG repo is available for CentOS 8 + {% set base_centos_yum_repos_to_disable = base_centos_yum_repos_to_disable + [ + 'ceph', + 'ceph-noarch', + 'ceph-el8', + 'ceph-lab-extras', + ] %} {% endif %} RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("centos_yum_repo_packages"), chain=True, clean=False) }} \ diff --git a/docker/base/ceph_master.repo b/docker/base/ceph_master.repo new file mode 100644 index 000000000..b551e5cf5 --- /dev/null +++ b/docker/base/ceph_master.repo @@ -0,0 +1,32 @@ +[ceph] +name=Ceph packages for $basearch +baseurl=CHACRA_URL/$basearch +enabled=0 +gpgcheck=0 +type=rpm-md +gpgkey=https://download.ceph.com/keys/autobuild.asc + +[ceph-noarch] +name=Ceph noarch packages +baseurl=CHACRA_URL/noarch +enabled=0 +gpgcheck=0 +type=rpm-md +gpgkey=https://download.ceph.com/keys/autobuild.asc + +[ceph-el8] +name=Copr repo for ceph-el8 owned by ktdreyer +baseurl=https://copr-be.cloud.fedoraproject.org/results/ktdreyer/ceph-el8/epel-8-$basearch/ +type=rpm-md +skip_if_unavailable=True +gpgcheck=1 +gpgkey=https://copr-be.cloud.fedoraproject.org/results/ktdreyer/ceph-el8/pubkey.gpg +repo_gpgcheck=0 +enabled=0 +enabled_metadata=1 + +[ceph-lab-extras] +name=ceph-lab-extras +baseurl=http://apt-mirror.front.sepia.ceph.com/lab-extras/8/ +enabled=0 +gpgcheck=0 diff --git a/docker/cinder/cinder-base/Dockerfile.j2 b/docker/cinder/cinder-base/Dockerfile.j2 index 8ed7e0d20..964cfd325 100644 --- a/docker/cinder/cinder-base/Dockerfile.j2 +++ b/docker/cinder/cinder-base/Dockerfile.j2 @@ -7,7 +7,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {{ macros.configure_user(name='cinder') }} -{{ macros.enable_extra_repos(['ceph']) }} +# FIXME(mnasiadka): Remove when CentOS Storage SIG repo is available for CentOS 8 +{% if distro_package_manager == 'dnf' %} + {{ macros.enable_extra_repos(['ceph', 'ceph-noarch', 'ceph-el8', 'ceph-lab-extras']) }} +{% else %} + {{ macros.enable_extra_repos(['ceph']) }} +{% endif %} {% if install_type == 'binary' %} {% if base_package_type == 'rpm' %} diff --git a/docker/glance/glance-base/Dockerfile.j2 b/docker/glance/glance-base/Dockerfile.j2 index a0c0a281b..466047a71 100644 --- a/docker/glance/glance-base/Dockerfile.j2 +++ b/docker/glance/glance-base/Dockerfile.j2 @@ -7,7 +7,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {{ macros.configure_user(name='glance') }} -{{ macros.enable_extra_repos(['ceph']) }} +# FIXME(mnasiadka): Remove when CentOS Storage SIG repo is available for CentOS 8 +{% if distro_package_manager == 'dnf' %} + {{ macros.enable_extra_repos(['ceph', 'ceph-noarch', 'ceph-el8', 'ceph-lab-extras']) }} +{% else %} + {{ macros.enable_extra_repos(['ceph']) }} +{% endif %} {% if install_type == 'binary' %} {% if base_package_type == 'rpm' %} diff --git a/docker/gnocchi/gnocchi-base/Dockerfile.j2 b/docker/gnocchi/gnocchi-base/Dockerfile.j2 index ab1520245..4d23bd6aa 100644 --- a/docker/gnocchi/gnocchi-base/Dockerfile.j2 +++ b/docker/gnocchi/gnocchi-base/Dockerfile.j2 @@ -7,7 +7,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {{ macros.configure_user(name='gnocchi') }} -{{ macros.enable_extra_repos(['ceph']) }} +# FIXME(mnasiadka): Remove when CentOS Storage SIG repo is available for CentOS 8 +{% if distro_package_manager == 'dnf' %} + {{ macros.enable_extra_repos(['ceph', 'ceph-noarch', 'ceph-el8', 'ceph-lab-extras']) }} +{% else %} + {{ macros.enable_extra_repos(['ceph']) }} +{% endif %} {% if install_type == 'binary' %} {% if base_package_type == 'rpm' %} diff --git a/docker/manila/manila-share/Dockerfile.j2 b/docker/manila/manila-share/Dockerfile.j2 index 9b8f164f3..2dc599b09 100644 --- a/docker/manila/manila-share/Dockerfile.j2 +++ b/docker/manila/manila-share/Dockerfile.j2 @@ -5,7 +5,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% import "macros.j2" as macros with context %} -{{ macros.enable_extra_repos(['ceph']) }} +# FIXME(mnasiadka): Remove when CentOS Storage SIG repo is available for CentOS 8 +{% if distro_package_manager == 'dnf' %} + {{ macros.enable_extra_repos(['ceph', 'ceph-noarch', 'ceph-el8', 'ceph-lab-extras']) }} +{% else %} + {{ macros.enable_extra_repos(['ceph']) }} +{% endif %} {% if install_type == 'binary' %} {% if base_package_type == 'rpm' %} diff --git a/docker/nova/nova-compute/Dockerfile.j2 b/docker/nova/nova-compute/Dockerfile.j2 index ff41c0fbe..36083fe4e 100644 --- a/docker/nova/nova-compute/Dockerfile.j2 +++ b/docker/nova/nova-compute/Dockerfile.j2 @@ -5,7 +5,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% import "macros.j2" as macros with context %} -{{ macros.enable_extra_repos(['ceph']) }} +# FIXME(mnasiadka): Remove when CentOS Storage SIG repo is available for CentOS 8 +{% if distro_package_manager == 'dnf' %} + {{ macros.enable_extra_repos(['ceph', 'ceph-noarch', 'ceph-el8', 'ceph-lab-extras']) }} +{% else %} + {{ macros.enable_extra_repos(['ceph']) }} +{% endif %} {% if install_type == 'binary' %} {% if base_package_type == 'rpm' %} diff --git a/docker/nova/nova-libvirt/Dockerfile.j2 b/docker/nova/nova-libvirt/Dockerfile.j2 index 293020d60..8d0cb20d6 100644 --- a/docker/nova/nova-libvirt/Dockerfile.j2 +++ b/docker/nova/nova-libvirt/Dockerfile.j2 @@ -7,7 +7,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {{ macros.configure_user(name='nova', groups='qemu') }} -{{ macros.enable_extra_repos(['ceph']) }} +# FIXME(mnasiadka): Remove when CentOS Storage SIG repo is available for CentOS 8 +{% if distro_package_manager == 'dnf' %} + {{ macros.enable_extra_repos(['ceph', 'ceph-noarch', 'ceph-el8', 'ceph-lab-extras']) }} +{% else %} + {{ macros.enable_extra_repos(['ceph']) }} +{% endif %} {% if base_package_type == 'rpm' %} diff --git a/docker/zun/zun-compute/Dockerfile.j2 b/docker/zun/zun-compute/Dockerfile.j2 index b3442e47c..df0870435 100644 --- a/docker/zun/zun-compute/Dockerfile.j2 +++ b/docker/zun/zun-compute/Dockerfile.j2 @@ -5,7 +5,12 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% import "macros.j2" as macros with context %} -{{ macros.enable_extra_repos(['ceph']) }} +# FIXME(mnasiadka): Remove when CentOS Storage SIG repo is available for CentOS 8 +{% if distro_package_manager == 'dnf' %} + {{ macros.enable_extra_repos(['ceph', 'ceph-noarch', 'ceph-el8', 'ceph-lab-extras']) }} +{% else %} + {{ macros.enable_extra_repos(['ceph']) }} +{% endif %} {% if install_type == 'binary' %} -- cgit v1.2.3