Restore bionic images

This PS restores building ans testing bionic images

Change-Id: Id88e1c096a8934e5974b9404cc2b0bfd748fc25f
This commit is contained in:
Sergiy Markin 2023-06-03 21:33:12 +00:00
parent 693f99363e
commit 5ead2930ae
48 changed files with 999 additions and 273 deletions

1
.gitignore vendored
View File

@ -28,6 +28,7 @@ cover/
nosetests.xml nosetests.xml
.testrepository .testrepository
.venv .venv
.stestr
# Translations # Translations
*.mo *.mo

View File

@ -139,7 +139,7 @@ unit_tests:
feature_tests: feature_tests:
@echo "Run Feature Validation Testing" @echo "Run Feature Validation Testing"
./tools/run_avt.sh feature_tests ./tools/run_avt.sh feature_tests
tox -e docs
format: format:
@echo "Not implemented." >&2; exit 2 @echo "Not implemented." >&2; exit 2

View File

@ -17,7 +17,7 @@
images: images:
tags: tags:
calicoctl_utility: 'quay.io/airshipit/porthole-calicoctl-utility:latest-ubuntu_bionic' calicoctl_utility: 'quay.io/airshipit/porthole-calicoctl-utility:latest-ubuntu_focal'
image_repo_sync: docker.io/docker:18.09.02 image_repo_sync: docker.io/docker:18.09.02
pull_policy: IfNotPresent pull_policy: IfNotPresent
local_registry: local_registry:

View File

@ -20,7 +20,7 @@ release_group: null
images: images:
pull_policy: IfNotPresent pull_policy: IfNotPresent
tags: tags:
ceph_utility: 'quay.io/airshipit/porthole-ceph-utility:latest-ubuntu_bionic' ceph_utility: 'quay.io/airshipit/porthole-ceph-utility:latest-ubuntu_focal'
image_repo_sync: docker.io/docker:18.09.02 image_repo_sync: docker.io/docker:18.09.02
local_registry: local_registry:
active: false active: false

View File

@ -21,7 +21,7 @@ release_uuid: null
images: images:
pull_policy: IfNotPresent pull_policy: IfNotPresent
tags: tags:
compute_utility: 'quay.io/airshipit/porthole-compute-utility:latest-ubuntu_bionic' compute_utility: 'quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal'
image_repo_sync: docker.io/docker:18.09.02 image_repo_sync: docker.io/docker:18.09.02
local_registry: local_registry:
active: false active: false

View File

@ -20,7 +20,7 @@ release_group: null
images: images:
pull_policy: IfNotPresent pull_policy: IfNotPresent
tags: tags:
etcdctl_utility: 'quay.io/airshipit/porthole-etcdctl-utility:latest-ubuntu_bionic' etcdctl_utility: 'quay.io/airshipit/porthole-etcdctl-utility:latest-ubuntu_focal'
image_repo_sync: docker.io/docker:18.09.02 image_repo_sync: docker.io/docker:18.09.02
pull_policy: "IfNotPresent" pull_policy: "IfNotPresent"
local_registry: local_registry:

View File

@ -19,8 +19,8 @@ release_group: null
images: images:
tags: tags:
mariadb: docker.io/openstackhelm/mariadb:latest-ubuntu_bionic mariadb: docker.io/openstackhelm/mariadb:latest-ubuntu_focal
mysqlclient_utility: 'quay.io/airshipit/porthole-mysqlclient-utility:latest-ubuntu_bionic' mysqlclient_utility: 'quay.io/airshipit/porthole-mysqlclient-utility:latest-ubuntu_focal'
image_repo_sync: docker.io/docker:18.09.02 image_repo_sync: docker.io/docker:18.09.02
pull_policy: IfNotPresent pull_policy: IfNotPresent
local_registry: local_registry:

View File

@ -9,7 +9,7 @@ release_group: null
images: images:
pull_policy: IfNotPresent pull_policy: IfNotPresent
tags: tags:
openstack_utility: 'quay.io/airshipit/porthole-openstack-utility:latest-ubuntu_bionic' openstack_utility: 'quay.io/airshipit/porthole-openstack-utility:latest-ubuntu_focal'
image_repo_sync: docker.io/docker:18.09.02 image_repo_sync: docker.io/docker:18.09.02
local_registry: local_registry:
active: false active: false

View File

@ -20,7 +20,7 @@ release_group: null
images: images:
pull_policy: IfNotPresent pull_policy: IfNotPresent
tags: tags:
postgresql_utility: 'quay.io/airshipit/porthole-postgresql-utility:latest-ubuntu_bionic' postgresql_utility: 'quay.io/airshipit/porthole-postgresql-utility:latest-ubuntu_focal'
image_repo_sync: docker.io/docker:18.09.02 image_repo_sync: docker.io/docker:18.09.02
local_registry: local_registry:
active: false active: false

View File

@ -0,0 +1,53 @@
ARG FROM=docker.io/ubuntu:bionic
ARG DOCKER_REGISTRY=quay.io
ARG CALICOCTL_IMAGE_PREFIX=calico/ctl
ARG CALICOCTL_VERSION=v3.23.1
ARG CALICOCTL_IMAGE="${DOCKER_REGISTRY}/${CALICOCTL_IMAGE_PREFIX}:${CALICOCTL_VERSION}"
FROM ${CALICOCTL_IMAGE} as stage_calicoctl
FROM ${FROM}
ARG CALICOCTL_VERSION
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' \
org.projectcalico.calicoctl.version="${CALICOCTL_VERSION}"
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 install -y --no-install-recommends \
bash \
locales \
moreutils \
sudo \
socat \
python3.6 \
python3-pip \
&& pip3 install --upgrade pip \
&& pip3 install \
oslo.rootwrap==6.2.0 \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*
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
COPY --from=stage_calicoctl /calicoctl /usr/local/bin/calicoctl
RUN set -xe \
&& chmod 0754 /usr/local/bin/calicoctl \
&& chmod 0754 /usr/bin/socat
WORKDIR /tmp
CMD ["/bin/bash"]

View File

@ -0,0 +1,61 @@
ARG FROM=docker.io/ubuntu:bionic
ARG DOCKER_REGISTRY=quay.io
ARG CALICOCTL_IMAGE_PREFIX=tigera/calicoctl
ARG CALICOCTL_VERSION=v3.23.1
ARG CALICOCTL_IMAGE="${DOCKER_REGISTRY}/${CALICOCTL_IMAGE_PREFIX}:${CALICOCTL_VERSION}"
ARG CALICOQ_IMAGE_PREFIX=tigera/calicoq
ARG CALICOQ_VERSION=v3.23.1
ARG CALICOQ_IMAGE="${DOCKER_REGISTRY}/${CALICOQ_IMAGE_PREFIX}:${CALICOQ_VERSION}"
FROM ${CALICOCTL_IMAGE} as stage_calicoctl
FROM ${CALICOQ_IMAGE} as stage_calicoq
FROM ${FROM}
ARG CALICOCTL_VERSION
ARG CALICOQ_VERSION
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' \
io.tigera.calicoctl.version="${CALICOCTL_VERSION}" \
io.tigera.calicoq.version="${CALICOQ_VERSION}"
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 install -y --no-install-recommends \
bash \
locales \
moreutils \
sudo \
socat \
python3.6 \
python3-pip \
&& pip3 install --upgrade pip \
&& pip3 install \
oslo.rootwrap==6.2.0 \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*
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
COPY --from=stage_calicoctl /calicoctl /usr/local/bin/calicoctl
COPY --from=stage_calicoq /calicoq /usr/local/bin/calicoq
RUN set -xe \
&& chmod 0754 /usr/local/bin/calicoctl \
&& chmod 0754 /usr/local/bin/calicoq \
&& chmod 0754 /usr/bin/socat
WORKDIR /tmp
CMD ["/bin/bash"]

View File

@ -0,0 +1,66 @@
ARG FROM=docker.io/ubuntu:bionic
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'
# Pacific 16.2.10
ARG CEPH_RELEASE=pacific
ARG CEPH_RELEASE_TAG=16.2.10-1bionic
ARG KUBE_VERSION=1.24.6
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} bionic 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-rbd \
radosgw=${CEPH_RELEASE_TAG} \
hexedit \
jq \
s3cmd \
rsyslog \
rsync \
xz-utils \
iperf \
python3.6 \
python3-pip \
&& pip3 install --upgrade pip \
&& pip3 install \
oslo.rootwrap==6.2.0 \
&& apt-get remove --purge -y wget apt-transport-https \
&& apt-get autoremove -y \
&& apt-get clean \
&& 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" \
&& rm -rf \
/var/lib/apt/lists/*
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"]

View File

@ -0,0 +1,55 @@
ARG FROM=docker.io/ubuntu:bionic
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.24.6
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 install -y apt-transport-https \
bash \
ca-certificates \
openvswitch-switch \
curl \
gnupg \
hexedit \
iperf \
jq \
moreutils \
radosgw \
rsyslog \
s3cmd \
rsync \
sudo \
wget \
xz-utils \
python3.6 \
python3-pip \
&& pip3 install --upgrade pip \
&& pip3 install \
oslo.rootwrap==6.2.0 \
&& apt-get remove --purge -y wget apt-transport-https \
&& apt-get autoremove -y \
&& apt-get clean \
&& 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" \
&& rm -rf \
/var/lib/apt/lists/*
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"]

View File

@ -0,0 +1,56 @@
ARG FROM=docker.io/ubuntu:bionic
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 ETCDCTL_VERSION=v3.5.3
ARG KUBE_VERSION=1.24.6
ENV GOOGLE_URL=https://storage.googleapis.com/etcd
ENV GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
ENV DOWNLOAD_URL=${GITHUB_URL}
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 install -y \
wget curl \
locales \
apt-transport-https \
ca-certificates \
gnupg \
bash \
moreutils \
sudo \
rsyslog \
python3.6 \
python3-pip \
jq \
rclone \
&& pip3 install --upgrade pip \
&& pip3 install \
oslo.rootwrap==6.2.0 \
python-openstackclient==5.4.0 \
python-swiftclient==3.10.1 \
&& curl --silent -L "${DOWNLOAD_URL}/${ETCDCTL_VERSION}/etcd-${ETCDCTL_VERSION}-linux-amd64.tar.gz" \
| tar -zC /usr/local/bin --strip-components=1 --wildcards -x "*/etcdctl" \
&& 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" \
&& apt-get clean -y \
&& rm -rf \
/var/lib/apt/lists/*
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"]

View File

@ -0,0 +1,60 @@
ARG FROM=docker.io/ubuntu:bionic
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.24.6
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 install -y wget curl \
apt-transport-https ca-certificates gnupg \
&& curl -o /etc/apt/trusted.gpg.d/mariadb_release_signing_key.asc 'https://mariadb.org/mariadb_release_signing_key.asc' \
&& echo 'deb https://mirrors.gigenet.com/mariadb/repo/10.6/ubuntu bionic main' >>/etc/apt/sources.list \
&& apt-get update \
&& apt-get install -y \
bash \
sudo \
rsyslog \
pwgen \
curl \
libdbi-perl \
libdbd-mysql-perl \
moreutils \
mysql-client \
python3.6 \
python3-pip \
jq \
rclone \
&& pip3 install --upgrade pip \
&& pip3 install \
oslo.rootwrap==6.2.0 \
python-openstackclient==5.4.0 \
python-swiftclient==3.10.1 \
&& sed -i 's/$PrivDropToUser syslog/$PrivDropToUser nobody/' /etc/rsyslog.conf \
&& apt-get clean -y \
&& 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://percona.com/get/percona-toolkit.tar.gz \
| tar -zC /usr/local/bin/ --strip-components=2 --wildcards -x "*/*/pt-show-grants" \
&& 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"]

View File

@ -0,0 +1,39 @@
ARG FROM=docker.io/ubuntu:bionic
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 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 install -y \
bash \
sudo \
rsyslog \
python3.6 \
python3-pip \
&& pip3 install --upgrade pip \
&& pip3 install \
oslo.rootwrap==6.2.0 \
python-openstackclient==5.4.0 \
python-glanceclient==3.2.2 \
python-novaclient==17.2.1 \
python-neutronclient==7.2.1 \
python-cinderclient==7.2.2 \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*
RUN sed -i "/rootwrap_logger.setLevel/s/.*/#&/" /usr/local/lib/python3.6/dist-packages/oslo_rootwrap/wrapper.py \
&& sed -i "/handler.setFormatter/s/.*/#&/" /usr/local/lib/python3.6/dist-packages/oslo_rootwrap/wrapper.py \
&& sed -i "/os.path.basename/s/.*/#&/" /usr/local/lib/python3.6/dist-packages/oslo_rootwrap/wrapper.py \
&& sed -i "/rootwrap_logger.addHandler/s/.*/#&/" /usr/local/lib/python3.6/dist-packages/oslo_rootwrap/wrapper.py
CMD ["/bin/bash"]

View File

@ -0,0 +1,53 @@
ARG FROM=docker.io/ubuntu:bionic
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.24.6
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 install -y wget curl \
apt-transport-https ca-certificates gnupg \
&& echo "deb http://apt.postgresql.org/pub/repos/apt bionic-pgdg main" > /etc/apt/sources.list.d/pgdg.list \
&& curl -o /etc/apt/trusted.gpg.d/postgresql_release_signing_key.asc 'https://www.postgresql.org/media/keys/ACCC4CF8.asc' \
&& apt-get update \
&& apt-get install -y \
bash \
moreutils \
rsyslog \
screen \
sudo \
postgresql-client \
postgresql-common \
python3.6 \
python3-pip \
jq \
rclone \
&& pip3 install --upgrade pip \
&& pip3 install \
oslo.rootwrap==6.2.0 \
python-openstackclient==5.4.0 \
python-swiftclient==3.10.1 \
&& apt-get clean -y \
&& 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" \
&& rm -rf \
/var/cache/debconf/* \
/var/lib/apt/lists/*
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"]

View File

@ -26,8 +26,10 @@ class TestDeploymentNameMapping(unittest.TestCase):
def setUp(self) -> None: def setUp(self) -> None:
self.mapping = DeploymentMapping(self) self.mapping = DeploymentMapping(self)
super().setUp()
def tearDown(self) -> None: def tearDown(self) -> None:
super().tearDown()
pass pass
def test_deployment_name_is_consistent_with_name_mapping(self): def test_deployment_name_is_consistent_with_name_mapping(self):

View File

@ -11,6 +11,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
import time
from kube_utility_container.tests.utility.base import TestBase from kube_utility_container.tests.utility.base import TestBase
@ -70,10 +71,12 @@ class TestMysqlclientUtilityContainer(TestBase):
date_2 = (self.client.exec_cmd(self.deployment_name, date_2 = (self.client.exec_cmd(self.deployment_name,
['date', '+%b %d %H'])).replace( ['date', '+%b %d %H'])).replace(
'\n', '') '\n', '')
exec_cmd = ['utilscli', 'mysql', 'version'] exec_cmd = ['utilscli', 'dbutils', 'show_databases', 'openstack']
self.client.exec_cmd(self.deployment_name, exec_cmd) self.client.exec_cmd(self.deployment_name, exec_cmd)
time.sleep(10)
pod_logs = (self.client._get_pod_logs(self.deployment_name)). \ pod_logs = (self.client._get_pod_logs(self.deployment_name)). \
replace('\n', '') replace('\n', '')
print(pod_logs)
if date_1 in pod_logs: if date_1 in pod_logs:
latest_pod_logs = (pod_logs.split(date_1))[1:] latest_pod_logs = (pod_logs.split(date_1))[1:]
else: else:

View File

@ -12,9 +12,9 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from kube_utility_container.tests.utility.base import TestBase import time
import warnings from kube_utility_container.tests.utility.base import TestBase
class TestPostgresqlUtilityContainer(TestBase): class TestPostgresqlUtilityContainer(TestBase):
@ -23,6 +23,15 @@ class TestPostgresqlUtilityContainer(TestBase):
cls.deployment_name = cls._get_deployment_name("postgresql-utility") cls.deployment_name = cls._get_deployment_name("postgresql-utility")
super(TestPostgresqlUtilityContainer, cls).setUpClass() super(TestPostgresqlUtilityContainer, cls).setUpClass()
def test_verify_postgresql_client_psql_is_present(self):
"""To verify psql-client is present"""
exec_cmd = ['utilscli', 'psql', '-V']
expected = 'psql'
result_set = self.client.exec_cmd(self.deployment_name, exec_cmd)
self.assertIn(
expected, result_set, 'Unexpected value for command: {}, '
'Command Output: {}'.format(exec_cmd, result_set))
def test_verify_readonly_rootfs(self): def test_verify_readonly_rootfs(self):
"""To verify postgresql-utility readonly rootfs configuration""" """To verify postgresql-utility readonly rootfs configuration"""
failures = [] failures = []
@ -38,36 +47,6 @@ class TestPostgresqlUtilityContainer(TestBase):
f" in pod {postgresql_utility_pod.metadata.name}") f" in pod {postgresql_utility_pod.metadata.name}")
self.assertEqual(0, len(failures), failures) self.assertEqual(0, len(failures), failures)
def test_verify_postgresql_utility_pod_logs(self):
"""To verify postgresql-utility pod logs"""
warnings.filterwarnings(
action="ignore", message="unclosed", category=ResourceWarning)
date_1 = (self.client.exec_cmd(self.deployment_name,
['date', '+%Y-%m-%d %H'])).replace(
'\n', '')
date_2 = (self.client.exec_cmd(self.deployment_name,
['date', '+%b %d %H'])).replace(
'\n', '')
exec_cmd = ['utilscli', 'psql', 'version']
self.client.exec_cmd(self.deployment_name, exec_cmd)
pod_logs = (self.client._get_pod_logs(self.deployment_name)). \
replace('\n', '')
if date_1 in pod_logs:
latest_pod_logs = (pod_logs.split(date_1))[1:]
else:
latest_pod_logs = (pod_logs.split(date_2))[1:]
self.assertNotEqual(0, len(latest_pod_logs),
"Not able to get the latest logs")
def test_verify_postgresql_client_psql_is_present(self):
"""To verify psql-client is present"""
exec_cmd = ['utilscli', 'psql', '-V']
expected = 'psql'
result_set = self.client.exec_cmd(self.deployment_name, exec_cmd)
self.assertIn(
expected, result_set, 'Unexpected value for command: {}, '
'Command Output: {}'.format(exec_cmd, result_set))
def test_verify_apparmor(self): def test_verify_apparmor(self):
"""To verify postgresql-utility Apparmor""" """To verify postgresql-utility Apparmor"""
failures = [] failures = []
@ -84,3 +63,24 @@ class TestPostgresqlUtilityContainer(TestBase):
f"{postgresql_utility_pod.metadata.name} " f"{postgresql_utility_pod.metadata.name} "
f"is not having expected apparmor profile set") f"is not having expected apparmor profile set")
self.assertEqual(0, len(failures), failures) self.assertEqual(0, len(failures), failures)
def test_verify_postgresql_utility_pod_logs(self):
"""To verify postgresql-utility pod logs"""
date_1 = (self.client.exec_cmd(self.deployment_name,
['date', '+%Y-%m-%d %H'])).replace(
'\n', '')
date_2 = (self.client.exec_cmd(self.deployment_name,
['date', '+%b %d %H'])).replace(
'\n', '')
exec_cmd = ['utilscli', 'dbutils', 'show_databases']
self.client.exec_cmd(self.deployment_name, exec_cmd)
time.sleep(10)
pod_logs = (self.client._get_pod_logs(self.deployment_name)). \
replace('\n', '')
print(pod_logs)
if date_1 in pod_logs:
latest_pod_logs = (pod_logs.split(date_1))[1:]
else:
latest_pod_logs = (pod_logs.split(date_2))[1:]
self.assertNotEqual(0, len(latest_pod_logs),
"Not able to get the latest logs")

View File

@ -0,0 +1,17 @@
#!/bin/bash
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
set -x
env
make images

View File

@ -13,7 +13,8 @@
set -xe set -xe
namespace=utility namespace=utility
helm upgrade --install calicoctl-utility ./artifacts/calicoctl-utility.tgz --namespace=$namespace helm upgrade --install calicoctl-utility ./artifacts/calicoctl-utility.tgz --namespace=$namespace \
--set "images.tags.calicoctl_utility=quay.io/airshipit/porthole-calicoctl-utility:latest-${DISTRO}"
# Wait for Deployment # Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}" : "${OSH_INFRA_PATH:="../openstack-helm-infra"}"

View File

@ -52,7 +52,8 @@ helm upgrade --install ceph-utility-config ./ceph-provisioners \
# Deploy Ceph-Utility # Deploy Ceph-Utility
cd ${CURRENT_DIR} cd ${CURRENT_DIR}
helm upgrade --install ceph-utility ./artifacts/ceph-utility.tgz --namespace=$namespace helm upgrade --install ceph-utility ./artifacts/ceph-utility.tgz --namespace=$namespace \
--set "images.tags.ceph_utility=quay.io/airshipit/porthole-ceph-utility:latest-${DISTRO}"
# Wait for Deployment # Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}" : "${OSH_INFRA_PATH:="../openstack-helm-infra"}"

View File

@ -14,7 +14,8 @@
set -xe set -xe
namespace="utility" namespace="utility"
helm upgrade --install compute-utility ./artifacts/compute-utility.tgz --namespace=$namespace helm upgrade --install compute-utility ./artifacts/compute-utility.tgz --namespace=$namespace \
--set "images.tags.compute_utility=quay.io/airshipit/porthole-compute-utility:latest-${DISTRO}"
# Wait for Deployment # Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}" : "${OSH_INFRA_PATH:="../openstack-helm-infra"}"

View File

@ -13,7 +13,8 @@
set -xe set -xe
namespace="utility" namespace="utility"
helm upgrade --install etcdctl-utility ./artifacts/etcdctl-utility.tgz --namespace=$namespace helm upgrade --install etcdctl-utility ./artifacts/etcdctl-utility.tgz --namespace=$namespace \
--set "images.tags.etcdctl_utility=quay.io/airshipit/porthole-etcdctl-utility:latest-${DISTRO}"
# Wait for Deployment # Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}" : "${OSH_INFRA_PATH:="../openstack-helm-infra"}"

View File

@ -12,8 +12,50 @@
# under the License. # under the License.
set -xe set -xe
CURRENT_DIR="$(pwd)"
: "${OSH_PATH:="../openstack-helm"}"
# Deploy mariadb server
cd "${OSH_PATH}"
tee /tmp/mariadb-server-config.yaml <<EOF
conf:
backup:
enabled: true
secrets:
mariadb:
backup_restore: mariadb-backup-restore
manifests:
cron_job_mariadb_backup: true
secret_backup_restore: true
pvc_backup: true
EOF
export HELM_CHART_ROOT_PATH="${HELM_CHART_ROOT_PATH:="${OSH_INFRA_PATH:="../openstack-helm-infra"}"}"
: ${OSH_EXTRA_HELM_ARGS_MARIADB:="$(./tools/deployment/common/get-values-overrides.sh mariadb)"}
#NOTE: Lint and package chart
make -C ${HELM_CHART_ROOT_PATH} mariadb
#NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
helm upgrade --install mariadb ${HELM_CHART_ROOT_PATH}/mariadb \
--namespace=openstack \
--values /tmp/mariadb-server-config.yaml \
--set pod.replicas.server=1 \
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_MARIADB}
#NOTE: Wait for deploy
./tools/deployment/common/wait-for-pods.sh openstack
# Deploy mysqlclient-utility
cd ${CURRENT_DIR}
namespace="utility" namespace="utility"
helm upgrade --install mysqlclient-utility ./artifacts/mysqlclient-utility.tgz --namespace=$namespace helm upgrade --install mysqlclient-utility ./artifacts/mysqlclient-utility.tgz --namespace=$namespace \
--set "images.tags.mysqlclient_utility=quay.io/airshipit/porthole-mysqlclient-utility:latest-${DISTRO}" \
--set "conf.mariadb_backup_restore.enabled_namespaces=openstack"
# Wait for Deployment # Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}" : "${OSH_INFRA_PATH:="../openstack-helm-infra"}"

View File

@ -13,7 +13,8 @@
set -xe set -xe
namespace="utility" namespace="utility"
helm upgrade --install openstack-utility ./artifacts/openstack-utility.tgz --namespace=$namespace helm upgrade --install openstack-utility ./artifacts/openstack-utility.tgz --namespace=$namespace \
--set "images.tags.openstack_utility=quay.io/airshipit/porthole-openstack-utility:latest-${DISTRO}"
# Wait for Deployment # Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}" : "${OSH_INFRA_PATH:="../openstack-helm-infra"}"

View File

@ -11,8 +11,21 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
set -xe set -xe
CURRENT_DIR="$(pwd)"
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
# Deploy postgresql server
cd "${OSH_INFRA_PATH}"
bash -c "./tools/deployment/common/postgresql.sh"
bash -c "./tools/deployment/common/020-ingress.sh"
# Deploy postgresql-utility
cd ${CURRENT_DIR}
namespace="utility" namespace="utility"
helm upgrade --install postgresql-utility ./artifacts/postgresql-utility.tgz --namespace=$namespace helm upgrade --install postgresql-utility ./artifacts/postgresql-utility.tgz --namespace=$namespace \
--set "images.tags.postgresql_utility=quay.io/airshipit/porthole-postgresql-utility:latest-${DISTRO}" \
--set "conf.postgresql_backup_restore.enabled_namespaces=osh-infra"
# Wait for Deployment # Wait for Deployment
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}" : "${OSH_INFRA_PATH:="../openstack-helm-infra"}"

View File

@ -5,6 +5,7 @@ set -ex
./tools/deployment/000-install-packages.sh ./tools/deployment/000-install-packages.sh
./tools/deployment/002-build-charts.sh ./tools/deployment/002-build-charts.sh
./tools/deployment/003-deploy-k8s.sh ./tools/deployment/003-deploy-k8s.sh
./tools/deployment/004-make-images.sh
./tools/deployment/005-calicoctl-utility.sh ./tools/deployment/005-calicoctl-utility.sh
./tools/deployment/010-ceph-utility.sh ./tools/deployment/010-ceph-utility.sh
./tools/deployment/020-compute-utility.sh ./tools/deployment/020-compute-utility.sh
@ -12,4 +13,4 @@ set -ex
./tools/deployment/040-mysqlclient-utility.sh ./tools/deployment/040-mysqlclient-utility.sh
./tools/deployment/050-openstack-utility.sh ./tools/deployment/050-openstack-utility.sh
./tools/deployment/060-postgresql-utility.sh ./tools/deployment/060-postgresql-utility.sh
sleep 30 sleep 60

View File

@ -11,20 +11,14 @@
# limitations under the License. # limitations under the License.
- hosts: primary - hosts: primary
roles:
- ensure-python
- ensure-pip
- ensure-tox
- start-zuul-console
- clear-firewall
- ensure-docker
tasks: tasks:
- name: install python
apt:
name: "{{ item }}"
allow_unauthenticated: True
with_items:
- python3-pip
- python3-setuptools
become: true
- name: ensure tox is present
pip:
name: tox
executable: pip3
become: true
- name: Run gate scripts - name: Run gate scripts
include_role: include_role:
name: osh-run-script name: osh-run-script

View File

@ -1,8 +0,0 @@
# NOTE(SamYaple): CentOS cannot be build with userns-remap enabled. httpd uses
# cap_set_file capability and there is no way to pass that in at build as of
# docker 17.06.
# TODO(SamYaple): Periodically check to see if this is possible in newer
# versions of Docker
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd

View File

@ -22,8 +22,12 @@
tasks: tasks:
- name: Install deps for tests - name: Install deps for tests
shell: | shell: |
set -x
env
./tools/gate/deploy.sh ./tools/gate/deploy.sh
args: args:
chdir: "{{ zuul.project.src_dir }}" chdir: "{{ zuul.project.src_dir }}"
executable: /bin/bash executable: /bin/bash
environment:
DISTRO: "{{ distro_suffix | default('') }}"
become: True become: True

View File

@ -13,11 +13,14 @@
- hosts: primary - hosts: primary
tasks: tasks:
- name: Execute the make target for features testing - name: Execute the make target for features testing
make: block:
chdir: "{{ zuul.project.src_dir }}" - make:
target: feature_tests chdir: "{{ zuul.project.src_dir }}"
register: result target: feature_tests
failed_when: result.failed register: result
failed_when: result.failed
- debug:
var: result
- name: Include collecting running logs - name: Include collecting running logs
import_playbook: airship-porthole-collect-logs.yaml import_playbook: airship-porthole-collect-logs.yaml

View File

@ -13,11 +13,14 @@
- hosts: primary - hosts: primary
tasks: tasks:
- name: Execute the make target for unit testing - name: Execute the make target for unit testing
make: block:
chdir: "{{ zuul.project.src_dir }}" - make:
target: unit_tests chdir: "{{ zuul.project.src_dir }}"
register: result target: unit_tests
failed_when: result.failed register: result
failed_when: result.failed
- debug:
var: result
- name: Include collecting running logs - name: Include collecting running logs
import_playbook: airship-porthole-collect-logs.yaml import_playbook: airship-porthole-collect-logs.yaml

View File

@ -1,55 +0,0 @@
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
- hosts: all
vars_files:
- vars.yaml
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
gather_facts: False
become: yes
roles:
- deploy-python
tags:
- deploy-python
- hosts: all
vars_files:
- vars.yaml
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
gather_facts: True
become: yes
roles:
- upgrade-host
- start-zuul-console
- disable-local-nameserver
- setup-firewall
tags:
- upgrade-host
- start-zuul-console
- disable-local-nameserver
- setup-firewall
- hosts: all
vars_files:
- vars.yaml
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
gather_facts: False
become: yes
roles:
- deploy-apparmor
tags:
- deploy-apparmor
...

View File

@ -14,4 +14,4 @@ osh_params:
openstack_release: yoga openstack_release: yoga
container_distro_name: ubuntu container_distro_name: ubuntu
container_distro_version: focal container_distro_version: focal
#feature_gates: # feature_gates:

View File

@ -25,3 +25,4 @@
CONTAINER_DISTRO_NAME: "{{ osh_params.container_distro_name }}" CONTAINER_DISTRO_NAME: "{{ osh_params.container_distro_name }}"
CONTAINER_DISTRO_VERSION: "{{ osh_params.container_distro_version }}" CONTAINER_DISTRO_VERSION: "{{ osh_params.container_distro_version }}"
FEATURE_GATES: "{{ osh_params.feature_gates | default('') }}" FEATURE_GATES: "{{ osh_params.feature_gates | default('') }}"
DISTRO: "{{ distro_suffix | default('') }}"

View File

@ -1,29 +0,0 @@
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# NOTE(portdirect): This needs refinement but drops the firewall on zuul nodes
---
- name: deploy iptables packages
include_role:
name: deploy-package
tasks_from: dist
vars:
packages:
deb:
- iptables
rpm:
- iptables
- command: iptables -S
- command: iptables -F
- command: iptables -P INPUT ACCEPT
- command: iptables -S
...

View File

@ -24,8 +24,8 @@ function setup_venv() {
python3 -m venv ${VENV} python3 -m venv ${VENV}
if [[ -f ${VENV}/bin/activate ]] ;then if [[ -f ${VENV}/bin/activate ]] ;then
source $VENV/bin/activate source $VENV/bin/activate
${VENV}/bin/pip install -r requirements-frozen.txt ${VENV}/bin/pip3 install -r requirements-frozen.txt
${VENV}/bin/python -m pip list --format=columns ${VENV}/bin/python3 -m pip list --format=columns
kubectl get deployment -n utility kubectl get deployment -n utility
kubectl get nodes -o wide kubectl get nodes -o wide
kubectl get po --all-namespaces -o wide kubectl get po --all-namespaces -o wide
@ -45,17 +45,17 @@ function run_avt() {
} }
function run_feature_tests() { function run_feature_tests() {
python -m unittest discover -s ${PLUGINS}/tests/utility/compute -v python3 -m unittest discover -s ${PLUGINS}/tests/utility/compute -vv
python -m unittest discover -s ${PLUGINS}/tests/utility/etcd -v python3 -m unittest discover -s ${PLUGINS}/tests/utility/etcd -vv
python -m unittest discover -s ${PLUGINS}/tests/utility/calico -v python3 -m unittest discover -s ${PLUGINS}/tests/utility/calico -vv
python -m unittest discover -s ${PLUGINS}/tests/utility/ceph -v python3 -m unittest discover -s ${PLUGINS}/tests/utility/ceph -vv
python -m unittest discover -s ${PLUGINS}/tests/utility/mysqlclient -v python3 -m unittest discover -s ${PLUGINS}/tests/utility/openstack -vv
python -m unittest discover -s ${PLUGINS}/tests/utility/openstack -v python3 -m unittest discover -s ${PLUGINS}/tests/utility/postgresql -vv
python -m unittest discover -s ${PLUGINS}/tests/utility/postgresql -v python3 -m unittest discover -s ${PLUGINS}/tests/utility/mysqlclient -vv
} }
function run_unit_tests() { function run_unit_tests() {
python -m unittest discover -s ${PLUGINS}/tests/unit/services -v python3 -m unittest discover -s ${PLUGINS}/tests/unit/services -vv
} }
run_avt run_avt

View File

@ -83,10 +83,9 @@ commands=
{toxinidir}/kube_utility_container/tests/utility/etcd \ {toxinidir}/kube_utility_container/tests/utility/etcd \
{toxinidir}/kube_utility_container/tests/utility/calico \ {toxinidir}/kube_utility_container/tests/utility/calico \
{toxinidir}/kube_utility_container/tests/utility/ceph \ {toxinidir}/kube_utility_container/tests/utility/ceph \
{toxinidir}/kube_utility_container/tests/utility/mysqlclient \
{toxinidir}/kube_utility_container/tests/utility/openstack \ {toxinidir}/kube_utility_container/tests/utility/openstack \
{toxinidir}/kube_utility_container/tests/utility/postgresql {toxinidir}/kube_utility_container/tests/utility/postgresql \
{toxinidir}/kube_utility_container/tests/utility/mysqlclient

View File

@ -19,34 +19,53 @@
- airship-porthole-linter - airship-porthole-linter
- openstack-tox-pep8 - openstack-tox-pep8
- openstack-tox-docs - openstack-tox-docs
- airship-porthole-openstack-tox-py38-focal - airship-porthole-openstack-tox-py38
- airship-porthole-openstack-tox-cover-focal - airship-porthole-openstack-tox-cover
- airship-porthole-images-build-gate-calicoctl-utility - airship-porthole-images-focal-build-gate-calicoctl-utility
- airship-porthole-images-build-gate-ceph-utility - airship-porthole-images-focal-build-gate-ceph-utility
- airship-porthole-images-build-gate-compute-utility - airship-porthole-images-focal-build-gate-compute-utility
- airship-porthole-images-build-gate-etcdctl-utility - airship-porthole-images-focal-build-gate-etcdctl-utility
- airship-porthole-images-build-gate-mysqlclient-utility - airship-porthole-images-focal-build-gate-mysqlclient-utility
- airship-porthole-images-build-gate-openstack-utility - airship-porthole-images-focal-build-gate-openstack-utility
- airship-porthole-images-build-gate-postgresql-utility - airship-porthole-images-focal-build-gate-postgresql-utility
# disabled because this one was replaces by tox-py38 and tox-cover tests - airship-porthole-images-bionic-build-gate-calicoctl-utility
# - airship-porthole-deploy-functional-tests - airship-porthole-images-bionic-build-gate-ceph-utility
- airship-porthole-images-bionic-build-gate-compute-utility
- airship-porthole-images-bionic-build-gate-etcdctl-utility
- airship-porthole-images-bionic-build-gate-mysqlclient-utility
- airship-porthole-images-bionic-build-gate-openstack-utility
- airship-porthole-images-bionic-build-gate-postgresql-utility
- airship-porthole-deploy-functional-unit-tests-ubuntu_focal
- airship-porthole-deploy-functional-unit-tests-ubuntu_bionic
- airship-porthole-deploy-functional-feature-tests-ubuntu_focal
- airship-porthole-deploy-functional-feature-tests-ubuntu_bionic
gate: gate:
jobs: jobs:
- airship-porthole-linter - airship-porthole-linter
- openstack-tox-pep8 - openstack-tox-pep8
- openstack-tox-docs - openstack-tox-docs
- airship-porthole-openstack-tox-py38-focal - airship-porthole-openstack-tox-py38
- airship-porthole-openstack-tox-cover-focal - airship-porthole-openstack-tox-cover
- airship-porthole-images-build-gate-calicoctl-utility - airship-porthole-images-focal-build-gate-calicoctl-utility
- airship-porthole-images-build-gate-ceph-utility - airship-porthole-images-focal-build-gate-ceph-utility
- airship-porthole-images-build-gate-compute-utility - airship-porthole-images-focal-build-gate-compute-utility
- airship-porthole-images-build-gate-etcdctl-utility - airship-porthole-images-focal-build-gate-etcdctl-utility
- airship-porthole-images-build-gate-mysqlclient-utility - airship-porthole-images-focal-build-gate-mysqlclient-utility
- airship-porthole-images-build-gate-openstack-utility - airship-porthole-images-focal-build-gate-openstack-utility
- airship-porthole-images-build-gate-postgresql-utility - airship-porthole-images-focal-build-gate-postgresql-utility
# disabled because this one was replaces by tox-py38 and tox-cover tests - airship-porthole-images-bionic-build-gate-calicoctl-utility
# - airship-porthole-deploy-functional-tests - airship-porthole-images-bionic-build-gate-ceph-utility
- airship-porthole-images-bionic-build-gate-compute-utility
- airship-porthole-images-bionic-build-gate-etcdctl-utility
- airship-porthole-images-bionic-build-gate-mysqlclient-utility
- airship-porthole-images-bionic-build-gate-openstack-utility
- airship-porthole-images-bionic-build-gate-postgresql-utility
- airship-porthole-deploy-functional-unit-tests-ubuntu_focal
- airship-porthole-deploy-functional-unit-tests-ubuntu_bionic
- airship-porthole-deploy-functional-feature-tests-ubuntu_focal
- airship-porthole-deploy-functional-feature-tests-ubuntu_bionic
post: post:
jobs: jobs:
@ -57,6 +76,14 @@
- airship-porthole-images-publish-mysqlclient-utility - airship-porthole-images-publish-mysqlclient-utility
- airship-porthole-images-publish-openstack-utility - airship-porthole-images-publish-openstack-utility
- airship-porthole-images-publish-postgresql-utility - airship-porthole-images-publish-postgresql-utility
- airship-porthole-images-bionic-publish-calicoctl-utility
- airship-porthole-images-bionic-publish-ceph-utility
- airship-porthole-images-bionic-publish-compute-utility
- airship-porthole-images-bionic-publish-etcdctl-utility
- airship-porthole-images-bionic-publish-mysqlclient-utility
- airship-porthole-images-bionic-publish-openstack-utility
- airship-porthole-images-bionic-publish-postgresql-utility
- nodeset: - nodeset:
name: airship-porthole-single-node name: airship-porthole-single-node
@ -71,18 +98,24 @@
label: ubuntu-focal label: ubuntu-focal
- job: - job:
name: airship-porthole-openstack-tox-py38-focal name: airship-porthole-openstack-tox-py38
parent: openstack-tox-py38 parent: openstack-tox-py38
description: Runs cover job on focal description: Runs cover job on focal
nodeset: airship-porthole-focal-single-node nodeset: airship-porthole-focal-single-node
pre-run: tools/gate/playbooks/install-deps.yaml pre-run: tools/gate/playbooks/install-deps.yaml
timeout: 7200
vars:
distro_suffix: ubuntu_focal
- job: - job:
name: airship-porthole-openstack-tox-cover-focal name: airship-porthole-openstack-tox-cover
parent: openstack-tox-cover parent: openstack-tox-cover
description: Runs cover job on focal description: Runs cover job on focal
nodeset: airship-porthole-focal-single-node nodeset: airship-porthole-focal-single-node
pre-run: tools/gate/playbooks/install-deps.yaml pre-run: tools/gate/playbooks/install-deps.yaml
timeout: 7200
vars:
distro_suffix: ubuntu_focal
- job: - job:
name: airship-porthole-images name: airship-porthole-images
@ -100,6 +133,7 @@
static: static:
- latest - latest
- job: - job:
name: airship-porthole-linter name: airship-porthole-linter
description: | description: |
@ -110,18 +144,60 @@
- job: - job:
name: airship-porthole-deploy-functional-tests name: airship-porthole-deploy-functional-unit-tests-ubuntu_focal
description: | description: |
Deploys all UC's and Executes unit and feature tests. Deploys all UC's and Executes unit and feature tests.
run: tools/gate/playbooks/airship-porthole-gate-runner.yaml pre-run: tools/gate/playbooks/airship-porthole-gate-runner.yaml
nodeset: airship-porthole-focal-single-node nodeset: airship-porthole-focal-single-node
timeout: 7200 timeout: 7200
pre-run: run: tools/gate/playbooks/make-unit-tests.yaml
- tools/gate/playbooks/osh-infra-upgrade-host.yaml
post-run:
- tools/gate/playbooks/make-unit-tests.yaml
- tools/gate/playbooks/make-feature-tests.yaml
vars: vars:
distro_suffix: ubuntu_focal
gate_scripts:
- ./tools/gate/deploy.sh
args:
chdir: "{{ zuul.project.src_dir }}"
- job:
name: airship-porthole-deploy-functional-feature-tests-ubuntu_focal
description: |
Deploys all UC's and Executesfeature tests.
pre-run: tools/gate/playbooks/airship-porthole-gate-runner.yaml
nodeset: airship-porthole-focal-single-node
timeout: 7200
run: tools/gate/playbooks/make-feature-tests.yaml
vars:
distro_suffix: ubuntu_focal
gate_scripts:
- ./tools/gate/deploy.sh
args:
chdir: "{{ zuul.project.src_dir }}"
- job:
name: airship-porthole-deploy-functional-unit-tests-ubuntu_bionic
description: |
Deploys all UC's and Executes unit tests.
pre-run: tools/gate/playbooks/airship-porthole-gate-runner.yaml
nodeset: airship-porthole-focal-single-node
timeout: 7200
run: tools/gate/playbooks/make-unit-tests.yaml
vars:
distro_suffix: ubuntu_bionic
gate_scripts:
- ./tools/gate/deploy.sh
args:
chdir: "{{ zuul.project.src_dir }}"
- job:
name: airship-porthole-deploy-functional-feature-tests-ubuntu_bionic
description: |
Deploys all UC's and Executes feature tests.
pre-run: tools/gate/playbooks/airship-porthole-gate-runner.yaml
nodeset: airship-porthole-focal-single-node
timeout: 7200
run: tools/gate/playbooks/make-feature-tests.yaml
vars:
distro_suffix: ubuntu_bionic
gate_scripts: gate_scripts:
- ./tools/gate/deploy.sh - ./tools/gate/deploy.sh
args: args:

View File

@ -13,11 +13,11 @@
# limitations under the License. # limitations under the License.
- job: - job:
name: airship-porthole-images-build-gate-calicoctl-utility name: airship-porthole-images-focal-build-gate-calicoctl-utility
parent: &parent airship-porthole-images parent: &parent airship-porthole-images
vars: vars:
image_name: &image_name porthole-calicoctl-utility image_name: &image_name porthole-calicoctl-utility
distro_suffix: &distro_suffix ubuntu_focal distro_suffix: ubuntu_focal
files: files:
- ^charts/calicoctl-utility/.*$ - ^charts/calicoctl-utility/.*$
- ^images/calicoctl-utility/.*$ - ^images/calicoctl-utility/.*$
@ -29,11 +29,42 @@
name: airship-porthole-images-publish-calicoctl-utility name: airship-porthole-images-publish-calicoctl-utility
parent: *parent parent: *parent
secrets: secrets:
- quay_credentials - name: quay_credentials
secret: quay_credentials
pass-to-parent: true
vars: vars:
image_name: *image_name image_name: *image_name
distro_suffix: *distro_suffix distro_suffix: ubuntu_focal
publish: true publish: true
tags: tags:
dynamic: dynamic:
commit: true commit: true
- job:
name: airship-porthole-images-bionic-build-gate-calicoctl-utility
parent: *parent
vars:
image_name: *image_name
distro_suffix: ubuntu_bionic
files:
- ^charts/calicoctl-utility/.*$
- ^images/calicoctl-utility/.*$
- ^Makefile$
- ^tools/.*$
- ^zuul.d/.*$
- job:
name: airship-porthole-images-bionic-publish-calicoctl-utility
parent: *parent
secrets:
- name: quay_credentials
secret: quay_credentials
pass-to-parent: true
vars:
image_name: *image_name
distro_suffix: ubuntu_bionic
publish: true
tags:
dynamic:
commit: true

View File

@ -13,11 +13,11 @@
# limitations under the License. # limitations under the License.
- job: - job:
name: airship-porthole-images-build-gate-ceph-utility name: airship-porthole-images-focal-build-gate-ceph-utility
parent: &parent airship-porthole-images parent: &parent airship-porthole-images
vars: vars:
image_name: &image_name porthole-ceph-utility image_name: &image_name porthole-ceph-utility
distro_suffix: &distro_suffix ubuntu_focal distro_suffix: ubuntu_focal
files: files:
- ^charts/ceph-utility/.*$ - ^charts/ceph-utility/.*$
- ^images/ceph-utility/.*$ - ^images/ceph-utility/.*$
@ -29,10 +29,40 @@
name: airship-porthole-images-publish-ceph-utility name: airship-porthole-images-publish-ceph-utility
parent: *parent parent: *parent
secrets: secrets:
- quay_credentials - name: quay_credentials
secret: quay_credentials
pass-to-parent: true
vars: vars:
image_name: *image_name image_name: *image_name
distro_suffix: *distro_suffix distro_suffix: ubuntu_focal
publish: true
tags:
dynamic:
commit: true
- job:
name: airship-porthole-images-bionic-build-gate-ceph-utility
parent: *parent
vars:
image_name: *image_name
distro_suffix: ubuntu_bionic
files:
- ^charts/ceph-utility/.*$
- ^images/ceph-utility/.*$
- ^Makefile$
- ^tools/.*$
- ^zuul.d/.*$
- job:
name: airship-porthole-images-bionic-publish-ceph-utility
parent: *parent
secrets:
- name: quay_credentials
secret: quay_credentials
pass-to-parent: true
vars:
image_name: *image_name
distro_suffix: ubuntu_bionic
publish: true publish: true
tags: tags:
dynamic: dynamic:

View File

@ -13,11 +13,11 @@
# limitations under the License. # limitations under the License.
- job: - job:
name: airship-porthole-images-build-gate-compute-utility name: airship-porthole-images-focal-build-gate-compute-utility
parent: &parent airship-porthole-images parent: &parent airship-porthole-images
vars: vars:
image_name: &image_name porthole-compute-utility image_name: &image_name porthole-compute-utility
distro_suffix: &distro_suffix ubuntu_focal distro_suffix: ubuntu_focal
files: files:
- ^charts/compute-utility/.*$ - ^charts/compute-utility/.*$
- ^images/compute-utility/.*$ - ^images/compute-utility/.*$
@ -29,10 +29,40 @@
name: airship-porthole-images-publish-compute-utility name: airship-porthole-images-publish-compute-utility
parent: *parent parent: *parent
secrets: secrets:
- quay_credentials - name: quay_credentials
secret: quay_credentials
pass-to-parent: true
vars: vars:
image_name: *image_name image_name: *image_name
distro_suffix: *distro_suffix distro_suffix: ubuntu_focal
publish: true
tags:
dynamic:
commit: true
- job:
name: airship-porthole-images-bionic-build-gate-compute-utility
parent: *parent
vars:
image_name: *image_name
distro_suffix: ubuntu_bionic
files:
- ^charts/compute-utility/.*$
- ^images/compute-utility/.*$
- ^Makefile$
- ^tools/.*$
- ^zuul.d/.*$
- job:
name: airship-porthole-images-bionic-publish-compute-utility
parent: *parent
secrets:
- name: quay_credentials
secret: quay_credentials
pass-to-parent: true
vars:
image_name: *image_name
distro_suffix: ubuntu_bionic
publish: true publish: true
tags: tags:
dynamic: dynamic:

View File

@ -13,11 +13,11 @@
# limitations under the License. # limitations under the License.
- job: - job:
name: airship-porthole-images-build-gate-etcdctl-utility name: airship-porthole-images-focal-build-gate-etcdctl-utility
parent: &parent airship-porthole-images parent: &parent airship-porthole-images
vars: vars:
image_name: &image_name porthole-etcdctl-utility image_name: &image_name porthole-etcdctl-utility
distro_suffix: &distro_suffix ubuntu_focal distro_suffix: ubuntu_focal
files: files:
- ^images/etcdctl-utility/.*$ - ^images/etcdctl-utility/.*$
- ^charts/etcdctl-utility/.*$ - ^charts/etcdctl-utility/.*$
@ -29,10 +29,40 @@
name: airship-porthole-images-publish-etcdctl-utility name: airship-porthole-images-publish-etcdctl-utility
parent: *parent parent: *parent
secrets: secrets:
- quay_credentials - name: quay_credentials
secret: quay_credentials
pass-to-parent: true
vars: vars:
image_name: *image_name image_name: *image_name
distro_suffix: *distro_suffix distro_suffix: ubuntu_focal
publish: true
tags:
dynamic:
commit: true
- job:
name: airship-porthole-images-bionic-build-gate-etcdctl-utility
parent: *parent
vars:
image_name: *image_name
distro_suffix: ubuntu_bionic
files:
- ^images/etcdctl-utility/.*$
- ^charts/etcdctl-utility/.*$
- ^Makefile$
- ^tools/.*$
- ^zuul.d/.*$
- job:
name: airship-porthole-images-bionic-publish-etcdctl-utility
parent: *parent
secrets:
- name: quay_credentials
secret: quay_credentials
pass-to-parent: true
vars:
image_name: *image_name
distro_suffix: ubuntu_bionic
publish: true publish: true
tags: tags:
dynamic: dynamic:

View File

@ -13,11 +13,11 @@
# limitations under the License. # limitations under the License.
- job: - job:
name: airship-porthole-images-build-gate-mysqlclient-utility name: airship-porthole-images-focal-build-gate-mysqlclient-utility
parent: &parent airship-porthole-images parent: &parent airship-porthole-images
vars: vars:
image_name: &image_name porthole-mysqlclient-utility image_name: &image_name porthole-mysqlclient-utility
distro_suffix: &distro_suffix ubuntu_focal distro_suffix: ubuntu_focal
files: files:
- ^charts/mysqlclient-utility/.*$ - ^charts/mysqlclient-utility/.*$
- ^images/mysqlclient-utility/.*$ - ^images/mysqlclient-utility/.*$
@ -29,10 +29,40 @@
name: airship-porthole-images-publish-mysqlclient-utility name: airship-porthole-images-publish-mysqlclient-utility
parent: *parent parent: *parent
secrets: secrets:
- quay_credentials - name: quay_credentials
secret: quay_credentials
pass-to-parent: true
vars: vars:
image_name: *image_name image_name: *image_name
distro_suffix: *distro_suffix distro_suffix: ubuntu_focal
publish: true
tags:
dynamic:
commit: true
- job:
name: airship-porthole-images-bionic-build-gate-mysqlclient-utility
parent: *parent
vars:
image_name: *image_name
distro_suffix: ubuntu_bionic
files:
- ^charts/mysqlclient-utility/.*$
- ^images/mysqlclient-utility/.*$
- ^Makefile$
- ^tools/.*$
- ^zuul.d/.*$
- job:
name: airship-porthole-images-bionic-publish-mysqlclient-utility
parent: *parent
secrets:
- name: quay_credentials
secret: quay_credentials
pass-to-parent: true
vars:
image_name: *image_name
distro_suffix: ubuntu_bionic
publish: true publish: true
tags: tags:
dynamic: dynamic:

View File

@ -13,11 +13,11 @@
# limitations under the License. # limitations under the License.
- job: - job:
name: airship-porthole-images-build-gate-openstack-utility name: airship-porthole-images-focal-build-gate-openstack-utility
parent: &parent airship-porthole-images parent: &parent airship-porthole-images
vars: vars:
image_name: &image_name porthole-openstack-utility image_name: &image_name porthole-openstack-utility
distro_suffix: &distro_suffix ubuntu_focal distro_suffix: ubuntu_focal
files: files:
- ^charts/openstack-utility/.*$ - ^charts/openstack-utility/.*$
- ^images/openstack-utility/.*$ - ^images/openstack-utility/.*$
@ -29,10 +29,40 @@
name: airship-porthole-images-publish-openstack-utility name: airship-porthole-images-publish-openstack-utility
parent: *parent parent: *parent
secrets: secrets:
- quay_credentials - name: quay_credentials
secret: quay_credentials
pass-to-parent: true
vars: vars:
image_name: *image_name image_name: *image_name
distro_suffix: *distro_suffix distro_suffix: ubuntu_focal
publish: true
tags:
dynamic:
commit: true
- job:
name: airship-porthole-images-bionic-build-gate-openstack-utility
parent: *parent
vars:
image_name: *image_name
distro_suffix: ubuntu_bionic
files:
- ^charts/openstack-utility/.*$
- ^images/openstack-utility/.*$
- ^Makefile$
- ^tools/.*$
- ^zuul.d/.*$
- job:
name: airship-porthole-images-bionic-publish-openstack-utility
parent: *parent
secrets:
- name: quay_credentials
secret: quay_credentials
pass-to-parent: true
vars:
image_name: *image_name
distro_suffix: ubuntu_bionic
publish: true publish: true
tags: tags:
dynamic: dynamic:

View File

@ -1,39 +1,69 @@
# Copyright 2019 AT&T Intellectual Property. All other rights reserved. # Copyright 2019 AT&T Intellectual Property. All other rights reserved.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
# You may obtain a copy of the License at # You may obtain a copy of the License at
# #
# https://www.apache.org/licenses/LICENSE-2.0 # https://www.apache.org/licenses/LICENSE-2.0
# #
# Unless required by applicable law or agreed to in writing, software # Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, # distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
- job: - job:
name: airship-porthole-images-build-gate-postgresql-utility name: airship-porthole-images-focal-build-gate-postgresql-utility
parent: &parent airship-porthole-images parent: &parent airship-porthole-images
vars: vars:
image_name: &image_name porthole-postgresql-utility image_name: &image_name porthole-postgresql-utility
distro_suffix: &distro_suffix ubuntu_focal distro_suffix: ubuntu_focal
files: files:
- ^charts/postgresql-utility/.*$ - ^charts/postgresql-utility/.*$
- ^images/postgresql-utility/.*$ - ^images/postgresql-utility/.*$
- ^Makefile$ - ^Makefile$
- ^tools/.*$ - ^tools/.*$
- ^zuul.d/.*$ - ^zuul.d/.*$
- job: - job:
name: airship-porthole-images-publish-postgresql-utility name: airship-porthole-images-publish-postgresql-utility
parent: *parent parent: *parent
secrets: secrets:
- quay_credentials - name: quay_credentials
vars: secret: quay_credentials
image_name: *image_name pass-to-parent: true
distro_suffix: *distro_suffix vars:
publish: true image_name: *image_name
tags: distro_suffix: ubuntu_focal
dynamic: publish: true
commit: true tags:
dynamic:
commit: true
- job:
name: airship-porthole-images-bionic-build-gate-postgresql-utility
parent: *parent
vars:
image_name: *image_name
distro_suffix: ubuntu_bionic
files:
- ^charts/postgresql-utility/.*$
- ^images/postgresql-utility/.*$
- ^Makefile$
- ^tools/.*$
- ^zuul.d/.*$
- job:
name: airship-porthole-images-bionic-publish-postgresql-utility
parent: *parent
secrets:
- name: quay_credentials
secret: quay_credentials
pass-to-parent: true
vars:
image_name: *image_name
distro_suffix: ubuntu_bionic
publish: true
tags:
dynamic:
commit: true