Restored ubuntu_bionic image build

This PS restores image build for ubuntu_bionic and adds appropriate
gates to keep it tested by appropriate functional and integratinal
tests.

Also the latest osh-infra commit was used with kubernetes 1.27.1 or
integration tests.

Make images section of Makefile was enriched with run_armada step in
order to quicktest the freshly built images - this is vital for focal
and bionic images differences.

Change-Id: Ida43eebd4aa51fff6261ac9cf5f8259359bc99a9
This commit is contained in:
Sergiy Markin 2023-05-18 20:58:23 +00:00
parent fa0af775d5
commit 966742ec74
8 changed files with 199 additions and 9 deletions

View File

@ -14,25 +14,32 @@
templates:
- openstack-cover-jobs
- openstack-python38-jobs
- openstack-python36-jobs
check:
jobs:
- openstack-tox-docs
- openstack-tox-pep8
- armada-chart-build-gate
- armada-chart-build-latest-htk
- armada-docker-build-gate-ubuntu_bionic
- armada-docker-build-gate-ubuntu_focal
- armada-airskiff-deploy
- armada-airskiff-deploy-focal
- armada-airskiff-deploy-bionic
gate:
jobs:
- openstack-tox-docs
- openstack-tox-pep8
- armada-chart-build-gate
- armada-docker-build-gate-ubuntu_bionic
- armada-docker-build-gate-ubuntu_focal
- armada-airskiff-deploy
- armada-airskiff-deploy-focal
- armada-airskiff-deploy-bionic
post:
jobs:
- armada-docker-build-gate-ubuntu_bionic
- armada-docker-build-gate-ubuntu_focal
- armada-docker-publish-ubuntu_focal
- armada-docker-publish-ubuntu_bionic
- armada-upload-git-mirror
promote:
jobs:
@ -69,6 +76,19 @@
vars:
HTK_COMMIT: master
- job:
name: armada-docker-build-gate-ubuntu_bionic
timeout: 1800
run: tools/gate/playbooks/docker-image-build.yaml
nodeset: armada-single-node
vars:
publish: false
distro: ubuntu_bionic
tags:
dynamic:
patch_set: true
- job:
name: armada-docker-build-gate-ubuntu_focal
timeout: 1800
@ -82,7 +102,7 @@
patch_set: true
- job:
name: armada-airskiff-deploy
name: armada-airskiff-deploy-focal
nodeset: armada-single-node-focal
description: |
Deploy Memcached using Airskiff and submitted Armada changes.
@ -97,7 +117,8 @@
- airship/treasuremap
vars:
CLONE_ARMADA: false
OSH_INFRA_COMMIT: 97ce6d7d8e9a090c748800d69a57bbd9af698b60
OSH_INFRA_COMMIT: 8e96a91ffae745b952c053923aa177e615b49b74
ARMADA_IMAGE_DISTRO: ubuntu_focal
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
@ -106,6 +127,33 @@
- ^swagger/.*$
- job:
name: armada-airskiff-deploy-bionic
nodeset: armada-single-node-focal
description: |
Deploy Memcached using Airskiff and submitted Armada changes.
timeout: 9600
voting: true
pre-run:
- tools/gate/playbooks/airskiff-reduce-site.yaml
- tools/gate/playbooks/git-config.yaml
run: tools/gate/playbooks/airskiff-deploy.yaml
post-run: tools/gate/playbooks/debug-report.yaml
required-projects:
- airship/treasuremap
vars:
CLONE_ARMADA: false
OSH_INFRA_COMMIT: 8e96a91ffae745b952c053923aa177e615b49b74
ARMADA_IMAGE_DISTRO: ubuntu_bionic
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^examples/.*$
- ^releasenotes/.*$
- ^swagger/.*$
- job:
name: armada-docker-publish-ubuntu_focal
timeout: 1800
@ -123,6 +171,23 @@
static:
- latest
- job:
name: armada-docker-publish-ubuntu_bionic
timeout: 1800
run: tools/gate/playbooks/docker-image-build.yaml
nodeset: armada-single-node
secrets:
- airship_armada_quay_creds
vars:
publish: true
distro: ubuntu_bionic
tags:
dynamic:
branch: true
commit: true
static:
- latest
- secret:
name: airship_armada_quay_creds
data:

View File

@ -78,7 +78,7 @@ check-tox:
exit 2; \
fi
images: check-docker build_armada
images: check-docker build_armada run_armada
docs: clean build_docs

View File

@ -19,6 +19,7 @@ RUN set -ex && \
apt-get -y install \
ca-certificates \
curl \
git \
netbase \
python3-dev \
python3-setuptools \
@ -41,7 +42,7 @@ RUN useradd -u 1000 -g users -d $(pwd) armada
ENTRYPOINT ["./entrypoint.sh"]
CMD ["server"]
COPY requirements-frozen.txt ./
COPY requirements-frozen-bionic.txt ./requirements.txt
ENV LD_LIBRARY_PATH=/usr/local/lib
@ -60,7 +61,7 @@ RUN set -ex \
' \
&& apt-get -qq update \
# Keep git separate so it's not removed below
&& apt-get install -y $buildDeps git --no-install-recommends \
&& apt-get install -y $buildDeps --no-install-recommends \
&& git clone https://github.com/yaml/libyaml.git \
&& cd libyaml \
&& git checkout $LIBYAML_VERSION \
@ -71,7 +72,7 @@ RUN set -ex \
&& cd .. \
&& rm -fr libyaml \
&& python3 -m pip install -U pip \
&& pip3 install -r requirements-frozen.txt --no-cache-dir \
&& pip3 install -r requirements.txt --no-cache-dir \
&& curl -fSSL -O ${HELM_ARTIFACT_URL} \
&& tar -xvf $(basename ${HELM_ARTIFACT_URL}) \
&& mv linux-amd64/helm /usr/local/bin \
@ -90,6 +91,8 @@ COPY . ./
# Setting the version explicitly for PBR
ENV PBR_VERSION 0.8.0
ENV PATH=$PATH:/usr/bin/git
ENV GIT_PYTHON_GIT_EXECUTABLE=/usr/bin/git
RUN \
mv etc/armada /etc/ && \

View File

@ -19,6 +19,7 @@ RUN set -ex && \
apt-get -y install \
ca-certificates \
curl \
git \
netbase \
python3-dev \
python3-setuptools \

View File

@ -0,0 +1,92 @@
alabaster==0.7.13
attrs==22.2.0
Babel==2.11.0
bcrypt==4.0.1
cachetools==4.2.4
certifi==2023.5.7
chardet==3.0.4
click==8.0.4
configparser==5.2.0
debtcollector==2.5.0
decorator==5.1.1
deepdiff==5.7.0
docutils==0.17
dogpile.cache==1.2.0
dulwich==0.20.50
falcon==3.1.1
gitdb==4.0.9
GitPython==3.1.18
google-auth==2.18.1
idna==2.10
imagesize==1.4.1
importlib-metadata==2.1.3
importlib-resources==5.4.0
iso8601==1.1.0
Jinja2==3.0.3
jsonschema==3.2.0
keystoneauth1==5.1.1
keystonemiddleware==9.5.0
kubernetes==26.1.0
MarkupSafe==2.0.1
msgpack==1.0.5
netaddr==0.8.0
netifaces==0.11.0
nose==1.3.7
oauthlib==3.2.2
ordered-set==4.0.2
os-service-types==1.7.0
oslo.cache==2.11.0
oslo.config==8.7.1
oslo.context==4.1.0
oslo.i18n==5.1.0
oslo.log==4.6.0
oslo.middleware==4.4.0
oslo.policy==3.10.1
oslo.serialization==4.3.0
oslo.utils==4.12.3
packaging==21.3
Paste==3.5.3
PasteDeploy==2.1.1
pbr==5.11.1
pip==21.3.1
prometheus-client==0.8.0
py==1.11.0
pyasn1==0.5.0
pyasn1-modules==0.3.0
pycadf==3.1.1
Pygments==2.14.0
pylibyaml==0.1.0
pyparsing==3.0.9
pyrsistent==0.18.0
python-dateutil==2.8.1
python-keystoneclient==4.5.0
pytz==2023.3
PyYAML==5.4.1
reno==4.0.0
requests==2.23.0
requests-oauthlib==1.3.1
retry==0.9.2
rfc3986==1.5.0
rsa==4.9
setuptools==45.2.0
six==1.16.0
smmap==5.0.0
snowballstemmer==2.2.0
Sphinx==3.3.1
sphinx-rtd-theme==0.5.0
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
statsd==4.0.1
stevedore==3.5.2
typing_extensions==4.1.1
urllib3==1.25.11
uWSGI==2.0.21
WebOb==1.8.7
websocket-client==1.3.1
wheel==0.37.1
wrapt==1.15.0
zipp==3.6.0

View File

@ -14,6 +14,7 @@ classifier =
Operating System :: POSIX :: Linux
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.10

View File

@ -45,7 +45,14 @@
- name: Build Armada with submitted changes
shell: |
set -ex
export DISTRO={{ ARMADA_IMAGE_DISTRO }}
make images
if test "${DISTRO}" = 'ubuntu_bionic'
then
# this trick is needed to use bionic image instead of focal in airskiff deployment test
docker tag quay.io/airshipit/armada:latest-ubuntu_bionic quay.io/airshipit/armada:latest-ubuntu_focal
fi
args:
chdir: "{{ zuul.project.src_dir }}"
become: yes

23
tox.ini
View File

@ -41,9 +41,30 @@ deps=
-r{toxinidir}/requirements-direct.txt
commands=
rm -f requirements-frozen.txt
sh -c "pip freeze --all | grep -vE 'deckhand|pyinotify|pkg-resources==0.0.0' > requirements-frozen.txt"
sh -c "pip freeze --all | grep -vE 'armada|pyinotify|pkg-resources==0.0.0' > requirements-frozen.txt"
[testenv:freeze-bionic]
basepython=python3
recreate = True
allowlist_externals=
rm
sh
deps=
-r{toxinidir}/requirements-direct.txt
commands=
rm -f requirements-frozen-bionic.txt
sh -c "pip freeze --all | grep -vE 'armada|pyinotify|pkg-resources==0.0.0' > requirements-frozen-bionic.txt"
[testenv:py36]
deps=
-r{toxinidir}/requirements-frozen-bionic.txt
-r{toxinidir}/test-requirements.txt
commands =
{[testenv]commands}
stestr run {posargs}
stestr slowest
[testenv:py38]
commands =