[ceph] Refactor images

+ create a single Dockerfile for different Ubuntu versions
+ pin setuptools version to v70.3.0 due to compilation issues

Change-Id: I4b3a8f9554461390e355a4d9ddb945cb4e6035d7
This commit is contained in:
astebenkova 2024-08-08 15:39:00 +03:00
parent 59efd2bf7f
commit 019613c27f
17 changed files with 184 additions and 564 deletions

@ -1,38 +0,0 @@
ARG FROM=docker.io/opensuse/leap:15
FROM ${FROM}
LABEL maintainers=stephane@alum.mit.edu
ARG KUBE_VERSION=v1.16.2
ARG CEPH_RELEASE=mimic
RUN set -ex ;\
TMP_DIR=$(mktemp --directory) ;\
cd ${TMP_DIR} ;\
zypper ar https://download.opensuse.org/repositories/filesystems:/ceph:/${CEPH_RELEASE}/openSUSE_Leap_15.0/ ${CEPH_RELEASE} ;\
zypper --gpg-auto-import-keys refresh ;\
zypper up -y ;\
zypper install -y \
ca-certificates-cacert \
ceph \
curl \
gcc \
python \
python-devel \
python-xml \
tar \
jq ;\
curl -sSL https://bootstrap.pypa.io/get-pip.py | python ;\
pip --no-cache-dir install --upgrade \
crush \
rgwadmin \
six \
s3cmd \
python-openstackclient \
python-swiftclient ;\
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} ;\
zypper rm -y --clean-deps \
python-devel \
gcc ;\
zypper clean -a

@ -0,0 +1,39 @@
ARG FROM=docker.io/ubuntu:jammy
FROM ${FROM}
ARG KUBE_VERSION=1.29.7
ARG CEPH_RELEASE
ARG CEPH_RELEASE_TAG
ARG CEPH_REPO
ARG CEPH_KEY
ENV DEBIAN_FRONTEND=noninteractive
RUN set -ex \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install --no-install-recommends -y \
ca-certificates \
gnupg2 \
curl \
&& curl -fsSL ${CEPH_KEY} | gpg --dearmor -o /etc/apt/keyrings/ceph.acs \
&& DISTRO_VERSION=$(grep '^VERSION_CODENAME=' /etc/os-release | cut -d'=' -f2) \
&& echo "deb [signed-by=/etc/apt/keyrings/ceph.acs] ${CEPH_REPO} ${DISTRO_VERSION} main" | tee /etc/apt/sources.list.d/ceph.list \
&& apt-get update \
&& apt-get install --no-install-recommends -y \
ceph=${CEPH_RELEASE_TAG} \
python3 \
python3-pip \
python3-ceph-common \
python3-openstackclient \
python3-swiftclient \
s3cmd \
gdisk \
udev \
jq \
&& curl -s https://bootstrap.pypa.io/pip/get-pip.py | python3 \
&& pip3 install --upgrade --no-cache-dir rgwadmin \
&& curl -sSL https://dl.k8s.io/v${KUBE_VERSION}/kubernetes-client-linux-amd64.tar.gz \
| tar -zC /usr/local/bin --strip-components=3 --wildcards -x "*/*/*/kubectl" \
&& rm -rf /var/lib/apt/lists/*

@ -1,53 +0,0 @@
ARG FROM=docker.io/ubuntu:bionic
FROM ${FROM}
ARG DISTRO_CODENAME='bionic'
ARG KUBE_VERSION=v1.16.2
# Pacific 16.2.10
ARG CEPH_RELEASE=pacific
ARG CEPH_RELEASE_TAG=16.2.10-1bionic
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 \
gcc \
python3 \
python3-dev \
gdisk \
udev \
jq ;\
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 \
crush \
rgwadmin \
six \
s3cmd \
cryptography==37.0.4 \
python-openstackclient \
python-swiftclient ;\
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} ;\
apt-get purge -y --auto-remove \
python3-dev \
gcc ;\
rm -rf /var/lib/apt/lists/*

@ -1,44 +0,0 @@
ARG FROM=docker.io/ubuntu:focal
FROM ${FROM}
ARG DISTRO_CODENAME='focal'
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/*

@ -1,43 +0,0 @@
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/*

@ -6,9 +6,14 @@ cd ${SCRIPT_DIR}/..
IMAGE="ceph-config-helper"
VERSION=${VERSION:-latest}
DISTRO=${DISTRO:-ubuntu_jammy}
DISTRO=${DISTRO:-ubuntu}
DISTRO_VERSION=${DISTRO_VERSION:-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}
docker build --file=${IMAGE}/Dockerfile.${DISTRO} \
--network=host \
--build-arg="FROM=${DISTRO}:${DISTRO_VERSION}" \
--tag=${REGISTRY_URI}${IMAGE}:${VERSION}-${DISTRO}_${DISTRO_VERSION}${EXTRA_TAG_INFO} \
${extra_build_args} ${IMAGE}
cd -

@ -0,0 +1,73 @@
ARG FROM=docker.io/ubuntu:jammy
FROM ${FROM}
ARG KUBE_VERSION=1.29.7
ARG CONFD_VERSION=0.16.0
ARG CEPH_RELEASE
ARG CEPH_RELEASE_TAG
ARG CEPH_REPO
ARG CEPH_KEY
ARG DEBIAN_FRONTEND=noninteractive
RUN set -ex \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y --no-install-recommends \
ca-certificates \
gnupg2 \
curl \
&& curl -fsSL ${CEPH_KEY} | gpg --dearmor -o /etc/apt/keyrings/ceph.acs \
&& DISTRO_VERSION=$(grep '^VERSION_CODENAME=' /etc/os-release | cut -d'=' -f2) \
&& echo "deb [signed-by=/etc/apt/keyrings/ceph.acs] ${CEPH_REPO} ${DISTRO_VERSION} main" | tee /etc/apt/sources.list.d/ceph.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
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} \
rbd-nbd=${CEPH_RELEASE_TAG} \
rbd-mirror=${CEPH_RELEASE_TAG} \
rbd-fuse=${CEPH_RELEASE_TAG} \
gdisk \
udev \
s3cmd \
smartmontools \
strace \
tcpdump \
sdparm \
xfsprogs \
rsync \
python3 \
python3-dev \
python3-bcrypt \
uuid-runtime \
alien \
lvm2 \
jq \
&& curl -s https://bootstrap.pypa.io/pip/get-pip.py | python3 \
&& pip3 install --no-cache-dir \
PyYAML \
setuptools==70.3.0 \
&& pip3 install --no-cache-dir --upgrade \
six \
pyopenssl \
openssl-python \
python-swiftclient \
python-openstackclient \
&& curl -sSL https://dl.k8s.io/v${KUBE_VERSION}/kubernetes-client-linux-amd64.tar.gz \
| tar -zC /usr/local/bin --strip-components=3 --wildcards -x "*/*/*/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 -xzC /tmp \
&& alien -i /tmp/perccli_7.5-007.0529_linux/Linux/perccli-007.0529.0000.0000-1.noarch.rpm \
&& mkdir -p /etc/confd/conf.d /etc/confd/templates \
\
&& apt-get purge -y --auto-remove python3-dev gcc alien \
&& rm -rf /var/lib/apt/lists/* \
/usr/share/{doc,man,locale} \
/tmp/*

@ -1,75 +0,0 @@
ARG FROM=docker.io/ubuntu:bionic
FROM ${FROM}
ARG KUBE_VERSION=1.16.2
# Pacific 16.2.10
ARG CEPH_RELEASE=pacific
ARG CEPH_RELEASE_TAG=16.2.10-1bionic
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} bionic 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 \
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 \
cryptography==37.0.4 \
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/

@ -1,78 +0,0 @@
ARG FROM=docker.io/ubuntu:focal
FROM ${FROM}
ARG KUBE_VERSION=1.16.2
ARG CEPH_RELEASE
ARG CEPH_RELEASE_TAG
ARG CONFD_VERSION=0.16.0
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} 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} \
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-7 \
cpp-7 ;\
rm -rf /var/lib/apt/lists/* ;\
rm -rf /usr/share/doc/ ;\
rm -rf /usr/share/man/ ;\
rm -rf /usr/share/locale/

@ -1,80 +0,0 @@
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 \
setuptools==70.3.0 && \
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/

@ -6,9 +6,14 @@ cd ${SCRIPT_DIR}/..
IMAGE="ceph-daemon"
VERSION=${VERSION:-latest}
DISTRO=${DISTRO:-ubuntu_jammy}
DISTRO=${DISTRO:-ubuntu}
DISTRO_VERSION=${DISTRO_VERSION:-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}
docker build --file=${IMAGE}/Dockerfile.${DISTRO} \
--network=host \
--build-arg="FROM=${DISTRO}:${DISTRO_VERSION}" \
--tag=${REGISTRY_URI}${IMAGE}:${VERSION}-${DISTRO}_${DISTRO_VERSION}${EXTRA_TAG_INFO} \
${extra_build_args} ${IMAGE}
cd -

@ -0,0 +1,49 @@
ARG FROM=docker.io/ubuntu:jammy
FROM ${FROM}
ARG KUBE_VERSION=1.29.7
ARG CEPH_RELEASE
ARG CEPH_RELEASE_TAG
ARG CEPH_REPO
ARG CEPH_KEY
ENV DEBIAN_FRONTEND=noninteractive
RUN set -ex \
&& sed -i '/nobody/d' /etc/passwd \
&& echo "nobody:x:65534:65534:nobody:/nonexistent:/bin/bash" >> /etc/passwd \
&& apt-get update && apt-get upgrade -y \
&& apt-get install -y \
ca-certificates \
gnupg \
curl \
&& curl -fsSL ${CEPH_KEY} | gpg --dearmor -o /etc/apt/keyrings/ceph.acs \
&& DISTRO_VERSION=$(grep '^VERSION_CODENAME=' /etc/os-release | cut -d'=' -f2) \
&& echo "deb [signed-by=/etc/apt/keyrings/ceph.acs] ${CEPH_REPO} ${DISTRO_VERSION} main" | tee /etc/apt/sources.list.d/ceph.list \
&& apt-get update \
&& apt-get install -y \
vim \
bash \
sudo \
screen \
moreutils \
ceph=${CEPH_RELEASE_TAG} \
radosgw=${CEPH_RELEASE_TAG} \
ceph-common=${CEPH_RELEASE_TAG} \
python3 \
python3-rbd \
hexedit \
jq \
s3cmd \
rsyslog \
rsync \
xz-utils \
iperf \
&& curl -sSL https://bootstrap.pypa.io/pip/get-pip.py | python3 \
&& pip3 install --upgrade --no-cache-dir oslo.rootwrap \
&& curl -sSL https://dl.k8s.io/v${KUBE_VERSION}/kubernetes-client-linux-amd64.tar.gz \
| tar -zC /usr/local/bin --strip-components=3 --wildcards -x "*/*/*/kubectl" \
&& rm -rf /var/lib/apt/lists/*
CMD ["/bin/bash"]

@ -1,48 +0,0 @@
ARG FROM=docker.io/ubuntu:bionic
FROM ${FROM}
# Nautilus 14.2.9
ARG CEPH_RELEASE=nautilus
ARG CEPH_RELEASE_TAG=14.2.9-1.0~bionic
ARG KUBE_VERSION=1.16.2
ARG CEPH_REPO=https://mirror.mirantis.com/testing/ceph-nautilus/bionic/
ARG CEPH_KEY=https://mirror.mirantis.com/testing/ceph-nautilus/bionic/archive-ceph-nautilus.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} bionic main" | tee /etc/apt/sources.list.d/ceph.list \
&& apt-get update \
&& apt-get install -y \
bash \
python-oslo.rootwrap \
moreutils \
vim \
sudo \
screen \
ceph=${CEPH_RELEASE_TAG} \
ceph-common=${CEPH_RELEASE_TAG} \
python-rbd \
radosgw=${CEPH_RELEASE_TAG} \
hexedit \
jq \
s3cmd \
rsyslog \
rsync \
xz-utils \
iperf \
&& 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"]

@ -1,49 +0,0 @@
ARG FROM=docker.io/ubuntu:focal
FROM ${FROM}
ARG CEPH_RELEASE
ARG CEPH_RELEASE_TAG
ARG KUBE_VERSION=1.16.2
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} 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"]

@ -1,49 +0,0 @@
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"]

@ -6,9 +6,14 @@ cd ${SCRIPT_DIR}/..
IMAGE="ceph-utility"
VERSION=${VERSION:-latest}
DISTRO=${DISTRO:-ubuntu_jammy}
DISTRO=${DISTRO:-ubuntu}
DISTRO_VERSION=${DISTRO_VERSION:-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}
docker build --file=${IMAGE}/Dockerfile.${DISTRO} \
--network=host \
--build-arg="FROM=${DISTRO}:${DISTRO_VERSION}" \
--tag=${REGISTRY_URI}${IMAGE}:${VERSION}-${DISTRO}_${DISTRO_VERSION}${EXTRA_TAG_INFO} \
${extra_build_args} ${IMAGE}
cd -

@ -43,8 +43,9 @@
currentdate: "{{ now(utc=True,fmt='%Y%m%d') }}"
docker_images:
- &ceph_image
dockerfile: Dockerfile.ubuntu_jammy
dockerfile: Dockerfile.ubuntu
build_args:
- "FROM='ubuntu:jammy'"
- "CEPH_RELEASE='reef'"
- "CEPH_RELEASE_TAG='18.2.2-1~jammy'"
- "CEPH_REPO='http://mirror.mirantis.com/acicd/ceph/debian-18.2.2.patch1/jammy'"