porthole/images/mysqlclient-utility/Dockerfile.ubuntu_jammy
Sergiy Markin 2ddd25489a Fixed swiftclient and updated kubeclient
Added simplejson module for openstack container
command to work with swiftclient

Also bumped all kubectl versions to 1.31.0

Change-Id: I30a160fa8d352f2e0d0c544991159c672b190381
2024-09-19 20:27:25 +00:00

72 lines
3.0 KiB
Docker

ARG FROM=docker.io/ubuntu:jammy
FROM ${FROM}
LABEL org.opencontainers.image.authors='airship-discuss@lists.airshipit.org, irc://#airshipit@freenode' \
org.opencontainers.image.url='https://airshipit.org' \
org.opencontainers.image.documentation='https://opendev.org/airship/porthole' \
org.opencontainers.image.source='https://opendev.org/airship/porthole' \
org.opencontainers.image.vendor='The Airship Authors' \
org.opencontainers.image.licenses='Apache-2.0'
ARG KUBE_VERSION=1.31.0
ARG MARIADB_VERSION=10.6
ARG PERCONA_TOOLKIT_VERSION=3.5.7
ARG DEBIAN_FRONTEND=noninteractive
RUN set -xe \
&& 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 --no-install-recommends \
apt-transport-https \
ca-certificates \
gnupg \
curl \
&& curl -LsS -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setup \
&& bash mariadb_repo_setup --mariadb-server-version=${MARIADB_VERSION} \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
bash \
sudo \
rsyslog \
pwgen \
jq \
libdbi-perl \
libdbd-mysql-perl \
moreutils \
mariadb-client \
mariadb-server \
python3.10 \
python3-pip \
python3-netifaces \
orphan-sysvinit-scripts \
&& curl -s https://bootstrap.pypa.io/get-pip.py | python3 \
&& pip3 install --no-cache-dir \
munch \
simplejson \
oslo.rootwrap==7.0.1 \
python-openstackclient==6.2.0 \
python-swiftclient==4.2.0 \
&& sed -i 's/$PrivDropToUser syslog/$PrivDropToUser nobody/' /etc/rsyslog.conf \
&& curl --silent -L https://dl.k8s.io/v${KUBE_VERSION}/kubernetes-client-linux-amd64.tar.gz \
| tar -zC /usr/bin --strip-components=3 --wildcards -x "*/*/*/kubectl" \
&& curl --silent -L https://downloads.percona.com/downloads/percona-toolkit/${PERCONA_TOOLKIT_VERSION}/binary/tarball/percona-toolkit-${PERCONA_TOOLKIT_VERSION}_$(arch).tar.gz \
| tar -zC /usr/local/bin/ --strip-components=2 --wildcards -x "*/*/pt-show-grants" \
&& curl -o /tmp/rclone.deb https://downloads.rclone.org/rclone-current-linux-amd64.deb \
&& apt-get install -y --no-install-recommends /tmp/rclone.deb \
&& apt-get purge --autoremove -y apt-transport-https \
&& rm -rf \
/tmp/* \
/var/cache/debconf/* \
/var/lib/apt/lists/* \
/var/tmp/*
RUN PYTHON_LOCATION=$(pip3 show oslo.rootwrap|grep Location|awk '{print $2}') \
&& sed -i "/rootwrap_logger.setLevel/s/.*/#&/" $PYTHON_LOCATION/oslo_rootwrap/wrapper.py \
&& sed -i "/handler.setFormatter/s/.*/#&/" $PYTHON_LOCATION/oslo_rootwrap/wrapper.py \
&& sed -i "/os.path.basename/s/.*/#&/" $PYTHON_LOCATION/oslo_rootwrap/wrapper.py \
&& sed -i "/rootwrap_logger.addHandler/s/.*/#&/" $PYTHON_LOCATION/oslo_rootwrap/wrapper.py
CMD ["/bin/bash"]