Update Ceph images to Focal

Add Dockerfiles for Ubuntu Focal for all of the Ceph images and
modify build scripts to use those Dockerfiles.

Also update ceph-utility to Pacific from Nautilus.

Change-Id: I47a53fb7419153cc50c6d1538eb56cdb735bc925
This commit is contained in:
Stephen Taylor
2022-11-29 13:30:43 -07:00
parent d3a7316566
commit e0da2c7370
15 changed files with 254 additions and 20 deletions

View File

@@ -0,0 +1,32 @@
ARG baseimg=docker.io/ubuntu:focal
FROM ${baseimg}
# Pacific 16.2.10
ARG CEPH_RELEASE=pacific
ARG CEPH_RELEASE_TAG=16.2.10-1focal
ARG CEPH_REPO=https://mirror.mirantis.com/acicd/ceph-pacific/
ARG CEPH_KEY=https://mirror.mirantis.com/acicd/ceph-pacific/release.asc
ADD ${CEPH_KEY} /etc/apt/ceph-${CEPH_RELEASE}.key
RUN set -ex ;\
export DEBIAN_FRONTEND=noninteractive ;\
apt-get update ;\
apt-get install --no-install-recommends -y \
apt-transport-https \
ca-certificates \
gnupg2 ;\
apt-key add /etc/apt/ceph-${CEPH_RELEASE}.key ;\
rm -f /etc/apt/ceph-${CEPH_RELEASE}.key ;\
echo "deb ${CEPH_REPO} focal main" | tee /etc/apt/sources.list.d/ceph.list ;\
apt-get update ;\
apt-get dist-upgrade -y ;\
apt-get install --no-install-recommends -y \
ceph=${CEPH_RELEASE_TAG} \
ceph-common=${CEPH_RELEASE_TAG} ;\
rm -rf /var/lib/apt/lists/* ;\
rm -rf /usr/share/doc/ ;\
rm -rf /usr/share/man/ ;\
rm -rf /usr/share/locale/
COPY --from=quay.io/external_storage/cephfs-provisioner:v2.1.0-k8s1.11 /usr/local/bin/cephfs* /usr/local/bin/
RUN chmod -v o+x /usr/local/bin/cephfs_provisioner

View File

@@ -6,7 +6,7 @@ cd ${SCRIPT_DIR}/..
IMAGE="ceph-cephfs-provisioner"
VERSION=${VERSION:-latest}
DISTRO=${DISTRO:-ubuntu_bionic}
DISTRO=${DISTRO:-ubuntu_focal}
REGISTRY_URI=${REGISTRY_URI:-"openstackhelm/"}
EXTRA_TAG_INFO=${EXTRA_TAG_INFO:-""}
docker build -f ${IMAGE}/Dockerfile.${DISTRO} --network=host -t ${REGISTRY_URI}${IMAGE}:${VERSION}-${DISTRO}${EXTRA_TAG_INFO} ${extra_build_args} ${IMAGE}

View File

@@ -0,0 +1,45 @@
ARG FROM=docker.io/ubuntu:focal
FROM ${FROM}
ARG DISTRO_CODENAME='focal'
ARG KUBE_VERSION=v1.16.2
# Pacific 16.2.10
ARG CEPH_RELEASE=pacific
ARG CEPH_RELEASE_TAG=16.2.10-1focal
ARG CEPH_REPO=https://mirror.mirantis.com/acicd/ceph-pacific/
ARG CEPH_KEY=https://mirror.mirantis.com/acicd/ceph-pacific/release.asc
ADD ${CEPH_KEY} /etc/apt/ceph-${CEPH_RELEASE}.key
RUN set -ex ;\
export DEBIAN_FRONTEND=noninteractive ;\
apt-get update ;\
apt-get dist-upgrade -y ;\
apt-get install --no-install-recommends -y apt-transport-https ca-certificates gnupg2 ;\
apt-key add /etc/apt/ceph-${CEPH_RELEASE}.key ;\
rm -f /etc/apt/ceph-${CEPH_RELEASE}.key ;\
echo deb ${CEPH_REPO} ${DISTRO_CODENAME} main | tee /etc/apt/sources.list.d/ceph.list ;\
TMP_DIR=$(mktemp --directory) ;\
cd ${TMP_DIR} ;\
apt-get update ;\
apt-get dist-upgrade -y ;\
apt-get install --no-install-recommends -y \
ceph=${CEPH_RELEASE_TAG} \
curl \
python3 \
python3-ceph-common \
python3-openstackclient \
python3-pip \
python3-swiftclient \
s3cmd \
gdisk \
udev \
jq ;\
pip3 --no-cache-dir install --upgrade \
rgwadmin ;\
curl -sSL https://dl.k8s.io/${KUBE_VERSION}/kubernetes-client-linux-amd64.tar.gz | tar -zxv --strip-components=1 ;\
mv ${TMP_DIR}/client/bin/kubectl /usr/bin/kubectl ;\
chmod +x /usr/bin/kubectl ;\
rm -rf ${TMP_DIR} ;\
rm -rf /var/lib/apt/lists/*

View File

@@ -6,7 +6,7 @@ cd ${SCRIPT_DIR}/..
IMAGE="ceph-config-helper"
VERSION=${VERSION:-latest}
DISTRO=${DISTRO:-ubuntu_bionic}
DISTRO=${DISTRO:-ubuntu_focal}
REGISTRY_URI=${REGISTRY_URI:-"openstackhelm/"}
EXTRA_TAG_INFO=${EXTRA_TAG_INFO:-""}
docker build -f ${IMAGE}/Dockerfile.${DISTRO} --network=host -t ${REGISTRY_URI}${IMAGE}:${VERSION}-${DISTRO}${EXTRA_TAG_INFO} ${extra_build_args} ${IMAGE}

View File

@@ -0,0 +1,75 @@
ARG FROM=docker.io/ubuntu:focal
FROM ${FROM}
ARG KUBE_VERSION=1.16.2
# Pacific 16.2.10
ARG CEPH_RELEASE=pacific
ARG CEPH_RELEASE_TAG=16.2.10-1focal
ARG CONFD_VERSION=0.16.0
ARG CEPH_REPO=https://mirror.mirantis.com/acicd/ceph-pacific/
ARG CEPH_KEY=https://mirror.mirantis.com/acicd/ceph-pacific/release.asc
ADD ${CEPH_KEY} /etc/apt/ceph-${CEPH_RELEASE}.key
RUN set -ex ;\
export DEBIAN_FRONTEND=noninteractive ;\
apt-get update ;\
apt-get dist-upgrade -y ;\
apt-get install -y apt-transport-https ca-certificates gnupg2 ;\
apt-key add /etc/apt/ceph-${CEPH_RELEASE}.key ;\
rm -f /etc/apt/ceph-${CEPH_RELEASE}.key ;\
echo "deb ${CEPH_REPO} focal main" | tee /etc/apt/sources.list.d/ceph.list ;\
TMP_DIR=$(mktemp --directory) ;\
cd ${TMP_DIR} ;\
apt-get update ;\
apt-get dist-upgrade -y ;\
apt-get install --no-install-recommends -y \
ceph=${CEPH_RELEASE_TAG} \
ceph-common=${CEPH_RELEASE_TAG} \
radosgw=${CEPH_RELEASE_TAG} \
ceph-mds=${CEPH_RELEASE_TAG} \
ceph-fuse=${CEPH_RELEASE_TAG} \
gdisk \
udev \
rbd-nbd=${CEPH_RELEASE_TAG} \
rbd-mirror=${CEPH_RELEASE_TAG} \
rbd-fuse=${CEPH_RELEASE_TAG} \
s3cmd \
smartmontools \
strace \
tcpdump \
sdparm \
xfsprogs \
rsync \
curl \
python3 \
python3-dev \
python3-openssl \
uuid-runtime \
jq \
alien ;\
curl -sSL https://bootstrap.pypa.io/pip/3.6/get-pip.py | python3 ;\
pip3 --no-cache-dir install --upgrade --ignore-installed PyYAML ;\
pip3 --no-cache-dir install --upgrade \
six \
python-openstackclient \
python-swiftclient ;\
curl -sSL https://dl.k8s.io/v${KUBE_VERSION}/kubernetes-client-linux-amd64.tar.gz | tar -zxv --strip-components=1 ;\
mv ${TMP_DIR}/client/bin/kubectl /usr/local/bin/kubectl ;\
chmod +x /usr/local/bin/kubectl ;\
curl -sSL https://github.com/kelseyhightower/confd/releases/download/v${CONFD_VERSION}/confd-${CONFD_VERSION}-linux-amd64 -o /usr/local/bin/confd ;\
chmod +xr /usr/local/bin/confd ;\
curl -sSL https://downloads.dell.com/FOLDER05235308M/1/perccli_linux_NF8G9_A07_7.529.00.tar.gz | tar xfz - ;\
alien -i ${TMP_DIR}/perccli_7.5-007.0529_linux/Linux/perccli-007.0529.0000.0000-1.noarch.rpm ;\
mkdir -p /etc/confd/conf.d ;\
mkdir -p /etc/confd/templates ;\
rm -rf ${TMP_DIR} ;\
apt-get purge -y --auto-remove \
python3-dev \
gcc \
gcc-7 \
cpp-7 ;\
rm -rf /var/lib/apt/lists/* ;\
rm -rf /usr/share/doc/ ;\
rm -rf /usr/share/man/ ;\
rm -rf /usr/share/locale/

View File

@@ -6,7 +6,7 @@ cd ${SCRIPT_DIR}/..
IMAGE="ceph-daemon"
VERSION=${VERSION:-latest}
DISTRO=${DISTRO:-ubuntu_bionic}
DISTRO=${DISTRO:-ubuntu_focal}
REGISTRY_URI=${REGISTRY_URI:-"openstackhelm/"}
EXTRA_TAG_INFO=${EXTRA_TAG_INFO:-""}
docker build -f ${IMAGE}/Dockerfile.${DISTRO} --network=host -t ${REGISTRY_URI}${IMAGE}:${VERSION}-${DISTRO}${EXTRA_TAG_INFO} ${extra_build_args} ${IMAGE}

View File

@@ -0,0 +1,32 @@
ARG baseimg=docker.io/ubuntu:focal
FROM ${baseimg}
# Pacific 16.2.10
ARG CEPH_RELEASE=pacific
ARG CEPH_RELEASE_TAG=16.2.10-1focal
ARG CEPH_REPO=https://mirror.mirantis.com/acicd/ceph-pacific/
ARG CEPH_KEY=https://mirror.mirantis.com/acicd/ceph-pacific/release.asc
ADD ${CEPH_KEY} /etc/apt/ceph-${CEPH_RELEASE}.key
RUN set -ex ;\
export DEBIAN_FRONTEND=noninteractive ;\
apt-get update ;\
apt-get install --no-install-recommends -y \
apt-transport-https \
ca-certificates \
gnupg2 ;\
apt-key add /etc/apt/ceph-${CEPH_RELEASE}.key ;\
rm -f /etc/apt/ceph-${CEPH_RELEASE}.key ;\
echo "deb ${CEPH_REPO} focal main" | tee /etc/apt/sources.list.d/ceph.list ;\
apt-get update ;\
apt-get dist-upgrade -y ;\
apt-get install --no-install-recommends -y \
ceph-common=${CEPH_RELEASE_TAG} ;\
rm -rf /var/lib/apt/lists/* ;\
rm -rf /usr/share/doc/ ;\
rm -rf /usr/share/man/ ;\
rm -rf /usr/share/locale/
COPY --from=quay.io/external_storage/rbd-provisioner:v2.1.1-k8s1.11 /usr/local/bin/rbd-provisioner /usr/local/bin/rbd-provisioner
ENTRYPOINT ["/usr/local/bin/rbd-provisioner"]

View File

@@ -6,7 +6,7 @@ cd ${SCRIPT_DIR}/..
IMAGE="ceph-rbd-provisioner"
VERSION=${VERSION:-latest}
DISTRO=${DISTRO:-ubuntu_bionic}
DISTRO=${DISTRO:-ubuntu_focal}
REGISTRY_URI=${REGISTRY_URI:-"openstackhelm/"}
EXTRA_TAG_INFO=${EXTRA_TAG_INFO:-""}
docker build -f ${IMAGE}/Dockerfile.${DISTRO} --network=host -t ${REGISTRY_URI}${IMAGE}:${VERSION}-${DISTRO}${EXTRA_TAG_INFO} ${extra_build_args} ${IMAGE}

View File

@@ -0,0 +1,50 @@
ARG FROM=docker.io/ubuntu:focal
FROM ${FROM}
# Pacific 16.2.10
ARG CEPH_RELEASE=pacific
ARG CEPH_RELEASE_TAG=16.2.10-1focal
ARG KUBE_VERSION=1.16.2
ARG CEPH_REPO=https://mirror.mirantis.com/acicd/ceph-pacific/
ARG CEPH_KEY=https://mirror.mirantis.com/acicd/ceph-pacific/release.asc
ADD ${CEPH_KEY} /etc/apt/ceph-${CEPH_RELEASE}.key
RUN set -xe \
&& export DEBIAN_FRONTEND=noninteractive \
&& sed -i '/nobody/d' /etc/passwd \
&& echo "nobody:x:65534:65534:nobody:/nonexistent:/bin/bash" >> /etc/passwd \
&& apt-get update && apt-get dist-upgrade -y \
&& apt-get install -y wget curl apt-transport-https ca-certificates gnupg\
&& apt-key add /etc/apt/ceph-${CEPH_RELEASE}.key \
&& rm -f /etc/apt/ceph-${CEPH_RELEASE}.key \
&& echo "deb ${CEPH_REPO} focal main" | tee /etc/apt/sources.list.d/ceph.list \
&& apt-get update \
&& apt-get install -y \
bash \
moreutils \
vim \
sudo \
screen \
ceph=${CEPH_RELEASE_TAG} \
ceph-common=${CEPH_RELEASE_TAG} \
python3 \
python3-rbd \
radosgw=${CEPH_RELEASE_TAG} \
hexedit \
jq \
s3cmd \
rsyslog \
rsync \
xz-utils \
iperf \
&& curl -sSL https://bootstrap.pypa.io/pip/3.6/get-pip.py | python3 \
&& pip3 --no-cache-dir install --upgrade --ignore-installed oslo.rootwrap \
&& apt-get remove --purge -y wget apt-transport-https && apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* \
&& TMP_DIR=$(mktemp --directory) \
&& cd ${TMP_DIR} \
&& curl -sSL https://dl.k8s.io/v${KUBE_VERSION}/kubernetes-client-linux-amd64.tar.gz | tar -zxv --strip-components=1 \
&& mv ${TMP_DIR}/client/bin/kubectl /usr/bin/kubectl \
&& chmod +x /usr/bin/kubectl \
&& rm -rf ${TMP_DIR}
CMD ["/bin/bash"]

View File

@@ -6,7 +6,7 @@ cd ${SCRIPT_DIR}/..
IMAGE="ceph-utility"
VERSION=${VERSION:-latest}
DISTRO=${DISTRO:-ubuntu_bionic}
DISTRO=${DISTRO:-ubuntu_focal}
REGISTRY_URI=${REGISTRY_URI:-"openstackhelm/"}
EXTRA_TAG_INFO=${EXTRA_TAG_INFO:-""}
docker build -f ${IMAGE}/Dockerfile.${DISTRO} --network=host -t ${REGISTRY_URI}${IMAGE}:${VERSION}-${DISTRO}${EXTRA_TAG_INFO} ${extra_build_args} ${IMAGE}

View File

@@ -36,10 +36,10 @@
docker_images:
- context: ceph-cephfs-provisioner
repository: openstackhelm/ceph-cephfs-provisioner
dockerfile: Dockerfile.ubuntu_bionic
dockerfile: Dockerfile.ubuntu_focal
tags:
- latest-ubuntu_bionic
- "ubuntu_bionic-{{ currentdate }}"
- latest-ubuntu_focal
- "ubuntu_focal-{{ currentdate }}"
files: &ceph-cephfs-provisioner_files
- ceph-cephfs-provisioner/.*
- zuul.d/ceph-cephfs-provisioner.yaml

View File

@@ -42,10 +42,10 @@
# dockerfile: Dockerfile.suse_15
- context: ceph-config-helper
repository: openstackhelm/ceph-config-helper
dockerfile: Dockerfile.ubuntu_bionic
dockerfile: Dockerfile.ubuntu_focal
tags:
- latest-ubuntu_bionic
- "ubuntu_bionic-{{ currentdate }}"
- latest-ubuntu_focal
- "ubuntu_focal-{{ currentdate }}"
files: &ceph-config-helper_files
- ceph-config-helper/.*
- zuul.d/ceph-config-helper.yaml

View File

@@ -36,10 +36,10 @@
docker_images:
- context: ceph-daemon
repository: openstackhelm/ceph-daemon
dockerfile: Dockerfile.ubuntu_bionic
dockerfile: Dockerfile.ubuntu_focal
tags:
- latest-ubuntu_bionic
- "ubuntu_bionic-{{ currentdate }}"
- latest-ubuntu_focal
- "ubuntu_focal-{{ currentdate }}"
files: &ceph-daemon_files
- ceph-daemon/.*
- zuul.d/ceph-daemon.yaml

View File

@@ -36,10 +36,10 @@
docker_images:
- context: ceph-rbd-provisioner
repository: openstackhelm/ceph-rbd-provisioner
dockerfile: Dockerfile.ubuntu_bionic
dockerfile: Dockerfile.ubuntu_focal
tags:
- latest-ubuntu_bionic
- "ubuntu_bionic-{{ currentdate }}"
- latest-ubuntu_focal
- "ubuntu_focal-{{ currentdate }}"
files: &ceph-rbd-provisioner_files
- ceph-rbd-provisioner/.*
- zuul.d/ceph-rbd-provisioner.yaml

View File

@@ -36,10 +36,10 @@
docker_images:
- context: ceph-utility
repository: openstackhelm/ceph-utility
dockerfile: Dockerfile.ubuntu_bionic
dockerfile: Dockerfile.ubuntu_focal
tags:
- latest-ubuntu_bionic
- "ubuntu_bionic-{{ currentdate }}"
- latest-ubuntu_focal
- "ubuntu_focal-{{ currentdate }}"
files: &ceph-utility_files
- ceph-utility/.*
- zuul.d/ceph-utility.yaml