Update Ceph images to Jammy and Reef 18.2.1

This change updates the Ceph images from Focal to Jammy. Because
the Ceph package repository has been updated so it only contains
Reef 18.2.1 packages, Ceph is also updated from 18.2.0 to 18.2.1.

Change-Id: I2ffe3df559965a402cfa2271d3aaef78a3d4a5bb
This commit is contained in:
Stephen Taylor 2024-01-29 11:05:30 -07:00
parent a82be69e90
commit 0bfd32673d
11 changed files with 240 additions and 9 deletions

View File

@ -0,0 +1,31 @@
ARG baseimg=docker.io/ubuntu:jammy
FROM ${baseimg}
ARG CEPH_RELEASE
ARG CEPH_RELEASE_TAG
ARG CEPH_REPO
ARG CEPH_KEY
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} jammy 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_focal}
DISTRO=${DISTRO:-ubuntu_jammy}
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,43 @@
ARG FROM=docker.io/ubuntu:jammy
FROM ${FROM}
ARG DISTRO_CODENAME='jammy'
ARG KUBE_VERSION=v1.16.2
ARG CEPH_RELEASE
ARG CEPH_RELEASE_TAG
ARG CEPH_REPO
ARG CEPH_KEY
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_focal}
DISTRO=${DISTRO:-ubuntu_jammy}
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,78 @@
ARG FROM=docker.io/ubuntu:jammy
FROM ${FROM}
ARG KUBE_VERSION=1.16.2
ARG CONFD_VERSION=0.16.0
ARG CEPH_RELEASE
ARG CEPH_RELEASE_TAG
ARG CEPH_REPO
ARG CEPH_KEY
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} jammy 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} \
ceph-volume=${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-bcrypt \
uuid-runtime \
jq \
alien \
lvm2 ;\
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 --ignore-installed \
six \
openssl-python \
pyopenssl \
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-11 \
cpp-11 ;\
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_focal}
DISTRO=${DISTRO:-ubuntu_jammy}
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,30 @@
ARG baseimg=docker.io/ubuntu:jammy
FROM ${baseimg}
ARG CEPH_RELEASE
ARG CEPH_RELEASE_TAG
ARG CEPH_REPO
ARG CEPH_KEY
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} jammy 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_focal}
DISTRO=${DISTRO:-ubuntu_jammy}
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,49 @@
ARG FROM=docker.io/ubuntu:jammy
FROM ${FROM}
ARG KUBE_VERSION=1.16.2
ARG CEPH_RELEASE
ARG CEPH_RELEASE_TAG
ARG CEPH_REPO
ARG CEPH_KEY
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} jammy 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_focal}
DISTRO=${DISTRO:-ubuntu_jammy}
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

@ -51,15 +51,15 @@
currentdate: "{{ now(utc=True,fmt='%Y%m%d') }}"
docker_images:
- &ceph_image
dockerfile: Dockerfile.ubuntu_focal
dockerfile: Dockerfile.ubuntu_jammy
build_args:
- "CEPH_RELEASE='reef'"
- "CEPH_RELEASE_TAG='18.2.0-1focal'"
- "CEPH_RELEASE_TAG='18.2.1-1jammy'"
- "CEPH_REPO='https://mirror.mirantis.com/acicd/ceph-reef/'"
- "CEPH_KEY='https://mirror.mirantis.com/acicd/ceph-reef/release.asc'"
tags:
- latest-ubuntu_focal
- "ubuntu_focal_18.2.0-1-{{ currentdate }}"
- latest-ubuntu_jammy
- "ubuntu_jammy_18.2.1-1-{{ currentdate }}"
files: &ceph_files
- ceph.*
- zuul.d/ceph.*