Airflow 2.10.2 + ubuntu_jammy
Change-Id: If19c66202b2b711a40dc515f8a8d189be17a9659
This commit is contained in:
parent
b81a9eaf88
commit
c8bfeb19d7
215
.zuul.yaml
215
.zuul.yaml
@ -13,10 +13,8 @@
|
||||
- project:
|
||||
templates:
|
||||
# commented out because openstack-tox-docs fails on jammy zuul nodes
|
||||
# - docs-on-readthedocs
|
||||
- openstack-python38-jobs
|
||||
# - openstack-cover-jobs
|
||||
# - release-notes-jobs-python3
|
||||
- docs-on-readthedocs
|
||||
- release-notes-jobs-python3
|
||||
vars:
|
||||
rtd_webhook_id: '38574'
|
||||
rtd_project_name: 'airship-pegleg'
|
||||
@ -27,33 +25,35 @@
|
||||
docker_registry_login_url: "https://quay.io/api/v1/"
|
||||
deb_docker_repo: "{{ zuul_site_mirror_fqdn }}/deb-docker/{{ ansible_distribution_release }}"
|
||||
image_prefix: "airshipit"
|
||||
base_image_jammy: "ubuntu:22.04"
|
||||
base_image_focal: "ubuntu:20.04"
|
||||
base_image_bionic: "ubuntu:18.04"
|
||||
base_image_opensuse: "opensuse/leap:15.1"
|
||||
base_image_xenial: "ubuntu:16.04"
|
||||
check:
|
||||
jobs:
|
||||
- openstack-tox-pep8-focal
|
||||
- openstack-tox-cover-focal
|
||||
#- openstack-tox-docs-focal
|
||||
- openstack-tox-py310
|
||||
- openstack-tox-pep8-jammy
|
||||
- openstack-tox-cover-jammy
|
||||
- openstack-tox-docs-jammy
|
||||
- pegleg-dependency-vulnerability-check
|
||||
- airship-pegleg-validate-airskiff-manifests-focal
|
||||
- airship-pegleg-docker-build-gate-ubuntu_focal
|
||||
- airship-pegleg-validate-airskiff-manifests-jammy
|
||||
- airship-pegleg-docker-build-gate-ubuntu_jammy
|
||||
- airship-pegleg-lint-yaml
|
||||
|
||||
gate:
|
||||
jobs:
|
||||
- openstack-tox-pep8-focal
|
||||
- openstack-tox-cover-focal
|
||||
#- openstack-tox-docs-focal
|
||||
- openstack-tox-py310
|
||||
- openstack-tox-pep8-jammy
|
||||
- openstack-tox-cover-jammy
|
||||
- openstack-tox-docs-jammy
|
||||
- pegleg-dependency-vulnerability-check
|
||||
- airship-pegleg-validate-airskiff-manifests-focal
|
||||
- airship-pegleg-docker-build-gate-ubuntu_focal
|
||||
- airship-pegleg-validate-airskiff-manifests-jammy
|
||||
- airship-pegleg-docker-build-gate-ubuntu_jammy
|
||||
- airship-pegleg-lint-yaml
|
||||
post:
|
||||
jobs:
|
||||
- airship-pegleg-docker-publish-ubuntu_focal
|
||||
- airship-pegleg-docker-publish-ubuntu_bionic
|
||||
- airship-pegleg-docker-publish-ubuntu_jammy
|
||||
- pegleg-upload-git-mirror
|
||||
|
||||
- nodeset:
|
||||
@ -63,25 +63,25 @@
|
||||
label: ubuntu-bionic
|
||||
|
||||
- nodeset:
|
||||
name: airship-pegleg-single-node-focal
|
||||
name: airship-pegleg-single-node-jammy
|
||||
nodes:
|
||||
- name: primary
|
||||
label: ubuntu-focal
|
||||
label: ubuntu-jammy
|
||||
|
||||
- job:
|
||||
name: openstack-tox-pep8-focal
|
||||
name: openstack-tox-pep8-jammy
|
||||
parent: openstack-tox-pep8
|
||||
nodeset: openstack-single-node-focal
|
||||
|
||||
#- job:
|
||||
# name: openstack-tox-docs-focal
|
||||
# parent: openstack-tox-docs
|
||||
# nodeset: openstack-single-node-focal
|
||||
nodeset: openstack-single-node-jammy
|
||||
|
||||
- job:
|
||||
name: openstack-tox-cover-focal
|
||||
name: openstack-tox-docs-jammy
|
||||
parent: openstack-tox-docs
|
||||
nodeset: openstack-single-node-jammy
|
||||
|
||||
- job:
|
||||
name: openstack-tox-cover-jammy
|
||||
parent: openstack-tox-cover
|
||||
nodeset: openstack-single-node-focal
|
||||
nodeset: openstack-single-node-jammy
|
||||
|
||||
|
||||
- job:
|
||||
@ -89,78 +89,173 @@
|
||||
voting: true
|
||||
timeout: 600
|
||||
run: tools/gate/playbooks/lint-yaml.yaml
|
||||
nodeset: ubuntu-focal
|
||||
nodeset: ubuntu-jammy
|
||||
irrelevant-files:
|
||||
- ^.*\.rst$
|
||||
- ^doc/.*$
|
||||
|
||||
- job:
|
||||
name: pegleg-dependency-vulnerability-check
|
||||
parent: tox-py38
|
||||
parent: tox-py310
|
||||
voting: false
|
||||
timeout: 600
|
||||
nodeset: ubuntu-focal
|
||||
nodeset: ubuntu-jammy
|
||||
vars:
|
||||
tox_envlist: safety
|
||||
bindep_profile: test py38
|
||||
bindep_profile: test py310
|
||||
|
||||
- job:
|
||||
name: airship-pegleg-validate-airskiff-manifests-focal
|
||||
nodeset: airship-pegleg-single-node-focal
|
||||
description: |
|
||||
Test pegleg Airskiff site manifest validation
|
||||
timeout: 9600
|
||||
voting: true
|
||||
pre-run:
|
||||
- tools/gate/playbooks/airskiff-reduce-site.yaml
|
||||
- tools/gate/playbooks/git-config.yaml
|
||||
run: tools/gate/playbooks/airskiff-validate.yaml
|
||||
post-run: tools/gate/playbooks/debug-report.yaml
|
||||
required-projects:
|
||||
- airship/treasuremap
|
||||
vars:
|
||||
CLONE_PEGLEG: false
|
||||
HTK_COMMIT: d31027cfb4c686e23790ed50a024e8ee976549d7
|
||||
PEGLEG_IMAGE_DISTRO: ubuntu_focal
|
||||
irrelevant-files:
|
||||
- ^.*\.rst$
|
||||
- ^doc/.*$
|
||||
- ^releasenotes/.*$
|
||||
# - job:
|
||||
# name: airship-pegleg-validate-airskiff-manifests-jammy
|
||||
# nodeset: airship-pegleg-single-node-jammy
|
||||
# description: |
|
||||
# Test pegleg Airskiff site manifest validation
|
||||
# timeout: 9600
|
||||
# voting: true
|
||||
# pre-run:
|
||||
# - tools/gate/playbooks/airskiff-reduce-site.yaml
|
||||
# - tools/gate/playbooks/git-config.yaml
|
||||
# run: tools/gate/playbooks/airskiff-validate.yaml
|
||||
# post-run: tools/gate/playbooks/debug-report.yaml
|
||||
# required-projects:
|
||||
# - airship/treasuremap
|
||||
# vars:
|
||||
# CLONE_PEGLEG: false
|
||||
# HTK_COMMIT: d31027cfb4c686e23790ed50a024e8ee976549d7
|
||||
# PEGLEG_IMAGE_DISTRO: ubuntu_jammy
|
||||
# irrelevant-files:
|
||||
# - ^.*\.rst$
|
||||
# - ^doc/.*$
|
||||
# - ^releasenotes/.*$
|
||||
|
||||
|
||||
- job:
|
||||
name: airship-pegleg-docker-build-gate-ubuntu_focal
|
||||
name: airship-pegleg-docker-build-gate-ubuntu_jammy
|
||||
timeout: 7200
|
||||
run: tools/gate/playbooks/docker-image-build.yaml
|
||||
nodeset: airship-pegleg-single-node-focal
|
||||
nodeset: airship-pegleg-single-node-jammy
|
||||
irrelevant-files:
|
||||
- '^doc/.*'
|
||||
vars:
|
||||
publish: false
|
||||
distro: ubuntu_focal
|
||||
distro: ubuntu_jammy
|
||||
tags:
|
||||
dynamic:
|
||||
patch_set: true
|
||||
|
||||
- job:
|
||||
name: airship-pegleg-docker-publish-ubuntu_focal
|
||||
name: pegleg-base
|
||||
abstract: true
|
||||
roles:
|
||||
- zuul: openstack/openstack-helm-infra
|
||||
- zuul: zuul/zuul-jobs
|
||||
required-projects:
|
||||
- name: openstack/openstack-helm
|
||||
- name: openstack/openstack-helm-infra
|
||||
- name: openstack/openstack-helm-plugin
|
||||
- name: airship/treasuremap
|
||||
override-checkout: v1.9
|
||||
irrelevant-files: &irrelevant-files
|
||||
- ^.*\.rst$
|
||||
- ^doc/.*$
|
||||
- ^etc/.*$
|
||||
- ^releasenotes/.*$
|
||||
- ^setup.cfg$
|
||||
- ^deckhand/tests/unit/.*$
|
||||
timeout: 10800
|
||||
pre-run:
|
||||
- tools/gate/playbooks/checkout-treasuremap-ref.yaml
|
||||
- tools/gate/playbooks/prepare-hosts.yaml
|
||||
- tools/gate/playbooks/mount-volumes.yaml
|
||||
- tools/gate/playbooks/deploy-env.yaml
|
||||
run:
|
||||
- tools/gate/playbooks/airship-run-scripts.yaml
|
||||
post-run:
|
||||
- tools/gate/playbooks/osh-infra-collect-logs.yaml
|
||||
vars:
|
||||
treasuremap_ref: refs/changes/43/927643/6
|
||||
extra_volume:
|
||||
size: 80G
|
||||
type: Linux
|
||||
mount_point: /opt/ext_vol
|
||||
docker:
|
||||
root_path: "/opt/ext_vol/docker"
|
||||
containerd:
|
||||
root_path: "/opt/ext_vol/containerd"
|
||||
kubeadm:
|
||||
pod_network_cidr: "10.244.0.0/16"
|
||||
service_cidr: "10.96.0.0/16"
|
||||
osh_plugin_repo: "{{ zuul.project.src_dir }}/../../openstack/openstack-helm-plugin"
|
||||
loopback_setup: true
|
||||
loopback_device: /dev/loop100
|
||||
loopback_image: "/opt/ext_vol/openstack-helm/ceph-loop.img"
|
||||
ceph_osd_data_device: /dev/loop100
|
||||
kube_version_repo: "v1.30"
|
||||
kube_version: "1.30.3-1.1"
|
||||
calico_setup: true
|
||||
calico_version: "v3.27.4"
|
||||
cilium_setup: false
|
||||
cilium_version: "1.16.0"
|
||||
flannel_setup: false
|
||||
flannel_version: v0.25.4
|
||||
helm_version: "v3.15.4"
|
||||
crictl_version: "v1.30.1"
|
||||
zuul_osh_relative_path: ../../openstack/openstack-helm
|
||||
zuul_osh_infra_relative_path: ../../openstack/openstack-helm-infra
|
||||
zuul_treasuremap_relative_path: ../../airship/treasuremap
|
||||
gate_scripts_relative_path: ../../openstack/openstack-helm-infra
|
||||
run_helm_tests: "no"
|
||||
|
||||
- job:
|
||||
name: airship-pegleg-validate-airskiff-manifests-jammy
|
||||
nodeset: treasuremap-airskiff-1node-ubuntu_jammy
|
||||
description: |
|
||||
Test pegleg Airskiff site manifest validation
|
||||
parent: pegleg-base
|
||||
run:
|
||||
- tools/gate/playbooks/airship-run-scripts.yaml
|
||||
- tools/gate/playbooks/airskiff-validate.yaml
|
||||
vars:
|
||||
site: airskiff
|
||||
HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.15.4-linux-amd64.tar.gz
|
||||
HTK_COMMIT: 43fd7143481b6ddda0dbd2f26bf6ec39a417b15b
|
||||
OSH_INFRA_COMMIT: 43fd7143481b6ddda0dbd2f26bf6ec39a417b15b
|
||||
OSH_COMMIT: 540df5cb0dbdaed63c202e2d6f2b7891062f8203
|
||||
TREASUREMAP_COMMIT: refs/changes/43/927643/6
|
||||
DISTRO: ubuntu_jammy
|
||||
DOCKER_REGISTRY: localhost:5000
|
||||
MAKE_PEGLEG_IMAGES: true
|
||||
CLONE_PEGLEG: false
|
||||
gate_scripts_relative_path: ../../airship/treasuremap
|
||||
gate_scripts:
|
||||
- ./tools/deployment/airskiff/developer/000-prepare-k8s.sh
|
||||
- ./tools/deployment/airskiff/developer/009-setup-apparmor.sh
|
||||
- ./tools/deployment/airskiff/developer/000-clone-dependencies.sh
|
||||
- ./tools/deployment/airskiff/developer/020-setup-client.sh
|
||||
- ./tools/deployment/airskiff/developer/015-make-all-charts.sh
|
||||
- ./tools/deployment/airskiff/developer/017-make-all-images.sh
|
||||
- ./tools/deployment/airskiff/developer/025-start-artifactory.sh
|
||||
- ./tools/deployment/airskiff/developer/026-reduce-site.sh
|
||||
|
||||
|
||||
- job:
|
||||
name: airship-pegleg-docker-publish-ubuntu_jammy
|
||||
timeout: 7200
|
||||
run: tools/gate/playbooks/docker-image-build.yaml
|
||||
nodeset: airship-pegleg-single-node-focal
|
||||
nodeset: airship-pegleg-single-node-jammy
|
||||
secrets:
|
||||
- airship_pegleg_quay_creds
|
||||
irrelevant-files:
|
||||
- '^doc/.*'
|
||||
vars:
|
||||
publish: true
|
||||
distro: ubuntu_focal
|
||||
distro: ubuntu_jammy
|
||||
tags:
|
||||
dynamic:
|
||||
branch: true
|
||||
commit: true
|
||||
static:
|
||||
- latest
|
||||
- airflow_2.8.2
|
||||
- airflow_2.10.2
|
||||
|
||||
- secret:
|
||||
name: airship_pegleg_quay_creds
|
||||
|
11
Makefile
11
Makefile
@ -27,8 +27,10 @@ PUSH_IMAGE ?= false
|
||||
# use this variable for image labels added in internal build process
|
||||
LABEL ?= org.airshipit.build=community
|
||||
COMMIT ?= $(shell git rev-parse HEAD)
|
||||
DISTRO ?= ubuntu_focal
|
||||
DISTRO ?= ubuntu_jammy
|
||||
DISTRO_ALIAS ?= ubuntu_focal
|
||||
IMAGE ?= $(DOCKER_REGISTRY)/$(IMAGE_PREFIX)/$(IMAGE_NAME):$(IMAGE_TAG)-${DISTRO}
|
||||
IMAGE_ALIAS := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG}-${DISTRO_ALIAS}
|
||||
PYTHON_BASE_IMAGE ?= python:3.8
|
||||
BASE_IMAGE ?=
|
||||
|
||||
@ -101,6 +103,13 @@ else
|
||||
--build-arg PROMENADE_VERSION=${PROMENADE_VERSION} \
|
||||
--build-arg SHIPYARD_VERSION=${SHIPYARD_VERSION}
|
||||
endif
|
||||
ifneq ($(DISTRO), $(DISTRO_ALIAS))
|
||||
docker tag $(IMAGE) $(IMAGE_ALIAS)
|
||||
endif
|
||||
ifeq ($(DOCKER_REGISTRY), localhost:5000)
|
||||
docker push $(IMAGE)
|
||||
docker push $(IMAGE_ALIAS)
|
||||
endif
|
||||
ifeq ($(PUSH_IMAGE), true)
|
||||
docker push $(IMAGE)
|
||||
endif
|
||||
|
@ -11,7 +11,7 @@ docutils>=0.17
|
||||
|
||||
|
||||
# UML image generation
|
||||
plantuml>=
|
||||
plantuml
|
||||
|
||||
# Releasenotes
|
||||
reno>=4.0.0 # Apache-2.0
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 44 KiB |
78
images/pegleg/Dockerfile.ubuntu_jammy
Normal file
78
images/pegleg/Dockerfile.ubuntu_jammy
Normal file
@ -0,0 +1,78 @@
|
||||
ARG FROM=ubuntu:jammy
|
||||
FROM ${FROM}
|
||||
ARG CFSSLURL=https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
|
||||
|
||||
LABEL org.opencontainers.image.authors='airship-discuss@lists.airshipit.org, irc://#airshipit@freenode'
|
||||
LABEL org.opencontainers.image.url='https://airshipit.org'
|
||||
LABEL org.opencontainers.image.documentation='https://airship-pegleg.readthedocs.org'
|
||||
LABEL org.opencontainers.image.source='https://opendev.org/airship/pegleg'
|
||||
LABEL org.opencontainers.image.vendor='The Airship Authors'
|
||||
LABEL org.opencontainers.image.licenses='Apache-2.0'
|
||||
|
||||
ENV LANG=C.UTF-8
|
||||
ENV LC_ALL=C.UTF-8
|
||||
ARG DECKHAND_VERSION=branch/master
|
||||
ARG SHIPYARD_VERSION=branch/master
|
||||
ARG PROMENADE_VERSION=branch/master
|
||||
|
||||
RUN set -ex \
|
||||
&& apt update -qq \
|
||||
&& apt upgrade -y \
|
||||
&& apt install -y --no-install-recommends \
|
||||
automake \
|
||||
ca-certificates \
|
||||
curl \
|
||||
build-essential \
|
||||
gettext-base \
|
||||
git \
|
||||
gpg \
|
||||
gpg-agent \
|
||||
libpq-dev \
|
||||
libssl-dev \
|
||||
libtool \
|
||||
make \
|
||||
netbase \
|
||||
openssh-client \
|
||||
python3-dev \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
&& python3 -m pip install -U pip \
|
||||
&& apt autoremove -yqq --purge \
|
||||
&& apt clean \
|
||||
&& rm -rf \
|
||||
/tmp/* \
|
||||
/usr/share/doc \
|
||||
/usr/share/doc-base \
|
||||
/usr/share/man \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/log/* \
|
||||
/var/tmp/*
|
||||
|
||||
ENV LD_LIBRARY_PATH=/usr/local/lib
|
||||
|
||||
ARG LIBYAML_VERSION=0.2.5
|
||||
RUN set -ex \
|
||||
&& git clone https://github.com/yaml/libyaml.git \
|
||||
&& cd libyaml \
|
||||
&& git checkout $LIBYAML_VERSION \
|
||||
&& ./bootstrap \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make install \
|
||||
&& cd .. \
|
||||
&& rm -fr libyaml
|
||||
|
||||
VOLUME /var/pegleg
|
||||
WORKDIR /var/pegleg
|
||||
|
||||
COPY requirements-frozen.txt /opt/pegleg/requirements.txt
|
||||
RUN pip3 install -r https://opendev.org/airship/deckhand/raw/${DECKHAND_VERSION}/requirements-frozen.txt \
|
||||
&& pip3 install -r https://opendev.org/airship/promenade/raw/${PROMENADE_VERSION}/requirements-frozen.txt \
|
||||
&& pip3 install -r https://opendev.org/airship/shipyard/raw/${SHIPYARD_VERSION}/src/bin/shipyard_client/requirements-frozen.txt \
|
||||
&& pip3 install --no-cache-dir -r /opt/pegleg/requirements.txt
|
||||
|
||||
COPY tools/install-cfssl.sh /opt/pegleg/tools/install-cfssl.sh
|
||||
RUN /opt/pegleg/tools/install-cfssl.sh ${CFSSLURL}
|
||||
|
||||
COPY . /opt/pegleg
|
||||
RUN pip3 install -e /opt/pegleg --use-pep517
|
@ -10,9 +10,9 @@ zipp
|
||||
psycopg2-binary
|
||||
|
||||
# Airship dependencies
|
||||
deckhand @ git+https://opendev.org/airship/deckhand.git@32e9950db405b5d1eb74da0c4e8df344a8638eff#egg=deckhand
|
||||
shipyard-client @ git+https://opendev.org/airship/shipyard.git@6c356a902d8d5e07cf87d8fe94e4030a066e7def#egg=shipyard-client&subdirectory=src/bin/shipyard_client
|
||||
promenade @ git+https://opendev.org/airship/promenade.git@e4c9fdb8619517d6e8c88e74fc3c1bdcf343a2ce#egg=promenade
|
||||
deckhand @ git+https://opendev.org/airship/deckhand.git@be9f97b846b1edc6b74777e5e639aa9edce8cfa6#egg=deckhand
|
||||
shipyard-client @ git+https://opendev.org/airship/shipyard.git@e917c9dca721fcf3384c583c1c0d8fe9654a7987#egg=shipyard-client&subdirectory=src/bin/shipyard_client
|
||||
promenade @ git+https://opendev.org/airship/promenade.git@ac573b9fb53fd543172c50bbbcdfac3656fb8e66#egg=promenade
|
||||
|
||||
|
||||
# Openstack Antelope 2023.1
|
||||
|
@ -1,66 +1,63 @@
|
||||
alembic==1.13.1
|
||||
alembic==1.13.2
|
||||
amqp==5.2.0
|
||||
arrow==1.3.0
|
||||
attrs==23.2.0
|
||||
attrs==24.2.0
|
||||
autopage==0.5.2
|
||||
backports.zoneinfo==0.2.1
|
||||
barbican==16.0.0
|
||||
bcrypt==4.1.2
|
||||
Beaker==1.12.1
|
||||
cachetools==5.3.2
|
||||
castellan==4.4.0
|
||||
certifi==2024.2.2
|
||||
cffi==1.16.0
|
||||
bcrypt==4.2.0
|
||||
Beaker==1.13.0
|
||||
cachetools==5.5.0
|
||||
castellan==5.1.1
|
||||
certifi==2024.8.30
|
||||
cffi==1.17.1
|
||||
charset-normalizer==3.3.2
|
||||
click==8.1.7
|
||||
click-default-group==1.2.4
|
||||
cliff==4.6.0
|
||||
cliff==4.7.0
|
||||
cmd2==2.4.3
|
||||
cryptography==41.0.7
|
||||
cryptography==42.0.8
|
||||
debtcollector==3.0.0
|
||||
Deckhand @ git+https://opendev.org/airship/deckhand.git@32e9950db405b5d1eb74da0c4e8df344a8638eff
|
||||
Deckhand @ git+https://opendev.org/airship/deckhand.git@be9f97b846b1edc6b74777e5e639aa9edce8cfa6
|
||||
decorator==5.1.1
|
||||
deepdiff==6.7.1
|
||||
deepdiff==8.0.1
|
||||
dnspython==2.6.1
|
||||
docker==7.0.0
|
||||
dogpile.cache==1.3.2
|
||||
eventlet==0.35.2
|
||||
docker==7.1.0
|
||||
dogpile.cache==1.3.3
|
||||
eventlet==0.37.0
|
||||
falcon==3.1.3
|
||||
fasteners==0.19
|
||||
fixtures==4.1.0
|
||||
Flask==2.2.5
|
||||
futurist==3.0.0
|
||||
gitdb==4.0.11
|
||||
GitPython==3.1.42
|
||||
google-auth==2.28.1
|
||||
greenlet==3.0.3
|
||||
GitPython==3.1.43
|
||||
google-auth==2.34.0
|
||||
greenlet==3.1.0
|
||||
html5lib==0.9999999
|
||||
httpexceptor==1.4.0
|
||||
idna==3.6
|
||||
importlib-metadata==6.11.0
|
||||
importlib-resources==5.13.0
|
||||
idna==3.10
|
||||
iso8601==2.1.0
|
||||
itsdangerous==2.1.2
|
||||
Jinja2==3.1.3
|
||||
itsdangerous==2.2.0
|
||||
Jinja2==3.1.4
|
||||
jsonpath-ng==1.6.1
|
||||
jsonpickle==3.0.3
|
||||
jsonschema==4.21.1
|
||||
jsonpickle==3.3.0
|
||||
jsonschema==4.23.0
|
||||
jsonschema-specifications==2023.12.1
|
||||
keystoneauth1==5.1.2
|
||||
keystonemiddleware==10.2.0
|
||||
kombu==5.3.5
|
||||
kubernetes==29.0.0
|
||||
kombu==5.4.1
|
||||
kubernetes==30.1.0
|
||||
ldap3==2.9.1
|
||||
logutils==0.3.5
|
||||
Mako==1.3.2
|
||||
Mako==1.3.5
|
||||
MarkupSafe==2.1.5
|
||||
microversion-parse==1.0.1
|
||||
msgpack==1.0.7
|
||||
netaddr==1.2.1
|
||||
microversion-parse==2.0.0
|
||||
msgpack==1.1.0
|
||||
netaddr==1.3.0
|
||||
netifaces==0.11.0
|
||||
networkx==3.1
|
||||
networkx==3.3
|
||||
oauthlib==3.2.2
|
||||
ordered-set==4.1.0
|
||||
orderly-set==5.2.2
|
||||
os-service-types==1.7.0
|
||||
oslo.cache==3.3.1
|
||||
oslo.concurrency==5.1.1
|
||||
@ -78,72 +75,70 @@ oslo.service==3.1.1
|
||||
oslo.upgradecheck==2.1.1
|
||||
oslo.utils==6.1.0
|
||||
oslo.versionedobjects==3.1.0
|
||||
packaging==23.2
|
||||
Paste==3.7.1
|
||||
packaging==24.1
|
||||
Paste==3.10.1
|
||||
PasteDeploy==3.1.0
|
||||
PasteScript==3.4.0
|
||||
pbr==6.0.0
|
||||
PasteScript==3.6.0
|
||||
pbr==6.1.0
|
||||
pecan==1.5.1
|
||||
pip==23.2.1
|
||||
pkgutil_resolve_name==1.3.10
|
||||
pip==24.1
|
||||
ply==3.11
|
||||
prettytable==3.10.0
|
||||
promenade @ git+https://opendev.org/airship/promenade.git@e4c9fdb8619517d6e8c88e74fc3c1bdcf343a2ce
|
||||
prettytable==3.11.0
|
||||
promenade @ git+https://opendev.org/airship/promenade.git@ac573b9fb53fd543172c50bbbcdfac3656fb8e66
|
||||
prometheus_client==0.20.0
|
||||
psycopg2-binary==2.9.9
|
||||
PTable==0.9.2
|
||||
pyasn1==0.5.1
|
||||
pyasn1-modules==0.3.0
|
||||
pyasn1==0.6.1
|
||||
pyasn1_modules==0.4.0
|
||||
pycadf==3.1.1
|
||||
pycparser==2.21
|
||||
pycparser==2.22
|
||||
pylibyaml==0.1.0
|
||||
pyOpenSSL==24.0.0
|
||||
pyparsing==3.1.1
|
||||
pyperclip==1.8.2
|
||||
pyOpenSSL==24.2.1
|
||||
pyparsing==3.1.4
|
||||
pyperclip==1.9.0
|
||||
python-barbicanclient==5.5.0
|
||||
python-dateutil==2.8.2
|
||||
python-dateutil==2.9.0.post0
|
||||
python-keystoneclient==5.1.0
|
||||
python-memcached==1.62
|
||||
python-mimeparse==1.6.0
|
||||
pytz==2024.1
|
||||
PyYAML==6.0.1
|
||||
referencing==0.33.0
|
||||
python-mimeparse==2.0.0
|
||||
pytz==2024.2
|
||||
PyYAML==6.0.2
|
||||
referencing==0.35.1
|
||||
repoze.lru==0.7
|
||||
requests==2.31.0
|
||||
requests==2.32.3
|
||||
requests-oauthlib==1.3.1
|
||||
resolver==0.2.1
|
||||
rfc3986==1.5.0
|
||||
rfc3986==2.0.0
|
||||
Routes==2.5.1
|
||||
rpds-py==0.18.0
|
||||
rpds-py==0.20.0
|
||||
rsa==4.9
|
||||
selector==0.10.1
|
||||
setuptools==68.2.2
|
||||
shipyard-client @ git+https://opendev.org/airship/shipyard.git@6c356a902d8d5e07cf87d8fe94e4030a066e7def#subdirectory=src/bin/shipyard_client
|
||||
simplejson==3.19.2
|
||||
setuptools==70.1.0
|
||||
shipyard_client @ git+https://opendev.org/airship/shipyard.git@e917c9dca721fcf3384c583c1c0d8fe9654a7987#subdirectory=src/bin/shipyard_client
|
||||
simplejson==3.19.3
|
||||
six==1.16.0
|
||||
smmap==5.0.1
|
||||
SQLAlchemy==1.4.51
|
||||
SQLAlchemy==1.4.54
|
||||
sqlalchemy-migrate==0.13.0
|
||||
sqlparse==0.4.4
|
||||
sqlparse==0.5.1
|
||||
statsd==4.0.1
|
||||
stevedore==5.2.0
|
||||
stevedore==5.3.0
|
||||
Tempita==0.5.2
|
||||
testresources==2.0.1
|
||||
testscenarios==0.5.0
|
||||
testtools==2.7.1
|
||||
testtools==2.7.2
|
||||
tiddlyweb==2.4.3
|
||||
types-python-dateutil==2.8.19.20240106
|
||||
typing_extensions==4.9.0
|
||||
tzdata==2024.1
|
||||
urllib3==1.26.18
|
||||
uWSGI==2.0.24
|
||||
types-python-dateutil==2.9.0.20240906
|
||||
typing_extensions==4.12.2
|
||||
urllib3==2.2.2
|
||||
uWSGI==2.0.27
|
||||
vine==5.1.0
|
||||
wcwidth==0.2.13
|
||||
WebOb==1.8.7
|
||||
websocket-client==1.7.0
|
||||
WebOb==1.8.8
|
||||
websocket-client==1.8.0
|
||||
Werkzeug==2.2.3
|
||||
wheel==0.41.2
|
||||
wheel==0.43.0
|
||||
wrapt==1.16.0
|
||||
xattr==0.10.1
|
||||
yappi==1.6.0
|
||||
zipp==3.17.0
|
||||
zipp==3.20.2
|
||||
|
75
tools/gate/playbooks/airship-run-scripts.yaml
Normal file
75
tools/gate/playbooks/airship-run-scripts.yaml
Normal file
@ -0,0 +1,75 @@
|
||||
# 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: primary
|
||||
tasks:
|
||||
- name: Override images
|
||||
when: buildset_registry is defined
|
||||
vars:
|
||||
work_dir: "{{ zuul.project.src_dir }}"
|
||||
block:
|
||||
- name: Buildset registry alias
|
||||
include_role:
|
||||
name: deploy-env
|
||||
tasks_from: buildset_registry_alias
|
||||
|
||||
- name: Print zuul
|
||||
debug:
|
||||
var: zuul
|
||||
|
||||
- name: Override proposed images from artifacts
|
||||
shell: >
|
||||
find {{ override_paths | join(" ") }} -type f -exec sed -Ei
|
||||
"s#['\"]?docker\.io/({{ repo }}):({{ tag }})['\"]?\$#{{ buildset_registry_alias }}:{{ buildset_registry.port }}/\1:\2#g" {} +
|
||||
loop: "{{ zuul.artifacts | default([]) }}"
|
||||
args:
|
||||
chdir: "{{ work_dir }}"
|
||||
loop_control:
|
||||
loop_var: zj_zuul_artifact
|
||||
when: "'metadata' in zj_zuul_artifact and zj_zuul_artifact.metadata.type | default('') == 'container_image'"
|
||||
vars:
|
||||
tag: "{{ zj_zuul_artifact.metadata.tag }}"
|
||||
repo: "{{ zj_zuul_artifact.metadata.repository }}"
|
||||
override_paths:
|
||||
- ../openstack-helm*/*/values*
|
||||
- ../openstack-helm-infra/tools/deployment/
|
||||
|
||||
- name: Diff
|
||||
shell: |
|
||||
set -ex;
|
||||
for dir in openstack-helm openstack-helm-infra; do
|
||||
path="{{ work_dir }}/../${dir}/"
|
||||
if [ ! -d "${path}" ]; then continue; fi
|
||||
echo "${dir} diff"
|
||||
cd "${path}"; git diff; cd -;
|
||||
done
|
||||
|
||||
- name: "creating directory for run artifacts"
|
||||
file:
|
||||
path: "/tmp/artifacts"
|
||||
state: directory
|
||||
|
||||
- name: Run gate scripts
|
||||
include_role:
|
||||
name: "{{ ([item] | flatten | length == 1) | ternary('airship-run-script', 'airship-run-script-set') }}"
|
||||
vars:
|
||||
workload: "{{ [item] | flatten }}"
|
||||
loop: "{{ gate_scripts }}"
|
||||
|
||||
- name: "Downloads artifacts to executor"
|
||||
synchronize:
|
||||
src: "/tmp/artifacts"
|
||||
dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}"
|
||||
mode: pull
|
||||
ignore_errors: True
|
||||
...
|
@ -13,87 +13,9 @@
|
||||
# limitations under the License.
|
||||
|
||||
- hosts: primary
|
||||
roles:
|
||||
- clear-firewall
|
||||
- bindep
|
||||
- disable-systemd-resolved
|
||||
- ensure-python
|
||||
- ensure-pip
|
||||
- ensure-docker
|
||||
|
||||
tasks:
|
||||
|
||||
- name: Install Packaging python module for tools/airship
|
||||
block:
|
||||
- pip:
|
||||
name: packaging
|
||||
version: 23.1
|
||||
executable: pip3
|
||||
become: True
|
||||
|
||||
- name: Clone Required Repositories
|
||||
shell: |
|
||||
export CLONE_PEGLEG={{ CLONE_PEGLEG }}
|
||||
export OSH_INFRA_COMMIT={{ HTK_COMMIT }}
|
||||
./tools/deployment/airskiff/developer/000-clone-dependencies.sh
|
||||
args:
|
||||
chdir: "{{ zuul.projects['opendev.org/airship/treasuremap'].src_dir }}"
|
||||
|
||||
- name: Setup Apparmor
|
||||
shell: |
|
||||
./tools/deployment/airskiff/developer/009-setup-apparmor.sh
|
||||
args:
|
||||
chdir: "{{ zuul.projects['opendev.org/airship/treasuremap'].src_dir }}"
|
||||
|
||||
- name: Deploy Kubernetes with Minikube
|
||||
shell: |
|
||||
./tools/deployment/airskiff/developer/010-deploy-k8s.sh
|
||||
args:
|
||||
chdir: "{{ zuul.projects['opendev.org/airship/treasuremap'].src_dir }}"
|
||||
|
||||
|
||||
- name: Build all charts locally
|
||||
shell: |
|
||||
set -ex
|
||||
./tools/deployment/airskiff/developer/015-make-all-charts.sh
|
||||
args:
|
||||
chdir: "{{ zuul.projects['opendev.org/airship/treasuremap'].src_dir }}"
|
||||
become: yes
|
||||
|
||||
- name: Build Pegleg with submitted changes
|
||||
shell: |
|
||||
set -ex
|
||||
export DISTRO={{ PEGLEG_IMAGE_DISTRO }}
|
||||
make images
|
||||
args:
|
||||
chdir: "{{ zuul.project.src_dir }}"
|
||||
become: yes
|
||||
|
||||
|
||||
- name: Use locally built images in manifests
|
||||
shell: |
|
||||
set -ex
|
||||
docker rm registry --force || true
|
||||
docker run -d -p 5000:5000 --restart=always --name registry registry:2
|
||||
docker tag quay.io/airshipit/pegleg:latest-ubuntu_focal localhost:5000/pegleg:latest-ubuntu_focal
|
||||
docker push localhost:5000/pegleg:latest-ubuntu_focal
|
||||
sed -i "s#quay.io/airshipit/pegleg:latest-ubuntu_focal#localhost:5000/pegleg:latest-ubuntu_focal#g" ./global/software/config/versions.yaml
|
||||
args:
|
||||
chdir: "{{ zuul.projects['opendev.org/airship/treasuremap'].src_dir }}"
|
||||
become: yes
|
||||
|
||||
- name: Start artifactory
|
||||
shell: |
|
||||
set -ex
|
||||
# start http server with artifacts
|
||||
docker rm artifacts --force || true
|
||||
docker run --name artifacts -p 8282:80 -v $(pwd)/../artifacts:/usr/share/nginx/html -d nginx
|
||||
sleep 10
|
||||
curl --verbose -I http://control-plane.minikube.internal:8282/memcached.tgz
|
||||
args:
|
||||
chdir: "{{ zuul.projects['opendev.org/airship/treasuremap'].src_dir }}"
|
||||
become: yes
|
||||
|
||||
- name: List sites
|
||||
shell: |
|
||||
set -xe
|
||||
|
31
tools/gate/playbooks/checkout-treasuremap-ref.yaml
Normal file
31
tools/gate/playbooks/checkout-treasuremap-ref.yaml
Normal file
@ -0,0 +1,31 @@
|
||||
# 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
|
||||
|
||||
tasks:
|
||||
- name: Checkout treasuremap ref
|
||||
shell: |
|
||||
set -xe;
|
||||
|
||||
: "${TREASUREMAP_REF:=v1.9}"
|
||||
|
||||
cd ../treasuremap
|
||||
git fetch https://review.opendev.org/airship/treasuremap ${TREASUREMAP_REF} && git checkout FETCH_HEAD
|
||||
|
||||
args:
|
||||
chdir: "{{ zuul.project.src_dir }}"
|
||||
environment:
|
||||
TREASUREMAP_REF: "{{ treasuremap_ref }}"
|
||||
|
||||
...
|
36
tools/gate/playbooks/deploy-env.yaml
Normal file
36
tools/gate/playbooks/deploy-env.yaml
Normal file
@ -0,0 +1,36 @@
|
||||
# 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
|
||||
become: true
|
||||
gather_facts: true
|
||||
|
||||
roles:
|
||||
- ensure-python
|
||||
- ensure-pip
|
||||
- clear-firewall
|
||||
- deploy-apparmor
|
||||
- deploy-selenium
|
||||
- deploy-env
|
||||
- ensure-tox
|
||||
|
||||
tasks:
|
||||
- name: Install Packaging python module for tools/airship
|
||||
block:
|
||||
- pip:
|
||||
name: packaging
|
||||
version: 23.1
|
||||
executable: pip3
|
||||
become: True
|
||||
|
||||
...
|
@ -36,6 +36,11 @@
|
||||
- debug:
|
||||
msg: "{{ tags | to_json }}"
|
||||
|
||||
- name: Set ubuntu jammy base image
|
||||
set_fact:
|
||||
base_image: "{{ base_image_jammy }}"
|
||||
when: distro == 'ubuntu_jammy'
|
||||
|
||||
- name: Set ubuntu focal base image
|
||||
set_fact:
|
||||
base_image: "{{ base_image_focal }}"
|
||||
|
17
tools/gate/playbooks/mount-volumes.yaml
Normal file
17
tools/gate/playbooks/mount-volumes.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
# 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
|
||||
roles:
|
||||
- mount-extra-volume
|
||||
...
|
43
tools/gate/playbooks/osh-infra-collect-logs.yaml
Normal file
43
tools/gate/playbooks/osh-infra-collect-logs.yaml
Normal file
@ -0,0 +1,43 @@
|
||||
# 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('') }}"
|
||||
logs_dir: "/tmp/logs"
|
||||
roles:
|
||||
- gather-host-logs
|
||||
tags:
|
||||
- gather-host-logs
|
||||
|
||||
- hosts: primary
|
||||
vars_files:
|
||||
- vars.yaml
|
||||
vars:
|
||||
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
||||
logs_dir: "/tmp/logs"
|
||||
roles:
|
||||
- helm-release-status
|
||||
- describe-kubernetes-objects
|
||||
- gather-pod-logs
|
||||
- gather-prom-metrics
|
||||
- gather-selenium-data
|
||||
tags:
|
||||
- helm-release-status
|
||||
- describe-kubernetes-objects
|
||||
- gather-pod-logs
|
||||
- gather-prom-metrics
|
||||
- gather-selenium-data
|
||||
...
|
21
tools/gate/playbooks/prepare-hosts.yaml
Normal file
21
tools/gate/playbooks/prepare-hosts.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
# 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
|
||||
roles:
|
||||
- bindep
|
||||
- start-zuul-console
|
||||
- role: add-authorized-keys
|
||||
public_keys:
|
||||
- public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDA7eM8WFJrqQmki8rR0O3QBHyl8xq42jb1RduwuRwjWoGYJI5cX7Fx+7VR4A9ITCoiqxKS8DMfgKbt5jKC6SmvMALULZsnYlthB34KywurgxsW6fgp68DHWQ7J4CCBhoIpl0W3JW7s6b0vHLhab59r0E+AYemBVuWUqbFEy8nDAHcQv1S/2o1udhmljIN7c2ogO4KAJ7Lge0BoIP9ps4u6AVwyQZixp4anU9DHGNA/UQj4M5UyuALj5buEAuATBe9Vqj4sOvZjObPJAGPUrNRrGEWAFk+lSZHRzKXo0eeWtPqoh5UN9UDb5Pocg1krncMIZwjHKovlD1z/O1y91aY5LM1wxm/7aaIiX8eCihyVZaOuDCLF7WDT2SMs7ABcotX2MDtVQTrNNV3MmMAScFNDflzPKszd7cdjLl6PBq8bvPxmCkLmnitPTGOoh9d8i+JlbINvgx1pguYrpeciIyreCO1rjTW3MgB0tyoMEa31V+7HrauBMeNnE68YTqLTIB0= smarkin@mirantis.com
|
||||
...
|
47
tools/gate/roles/airship-run-script-set/defaults/main.yaml
Normal file
47
tools/gate/roles/airship-run-script-set/defaults/main.yaml
Normal file
@ -0,0 +1,47 @@
|
||||
# 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.
|
||||
|
||||
---
|
||||
ceph_osd_data_device: "/dev/loop0"
|
||||
kubeadm:
|
||||
pod_network_cidr: "10.244.0.0/24"
|
||||
osh_params:
|
||||
container_distro_name: ubuntu
|
||||
container_distro_version: focal
|
||||
# feature_gates:
|
||||
site: airskiff
|
||||
HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.15.4-linux-amd64.tar.gz
|
||||
HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
|
||||
OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
|
||||
OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7
|
||||
COREDNS_VERSION: v1.11.1
|
||||
DISTRO: ubuntu_focal
|
||||
DOCKER_REGISTRY: quay.io
|
||||
MAKE_ARMADA_IMAGES: false
|
||||
MAKE_DECKHAND_IMAGES: false
|
||||
MAKE_SHIPYARD_IMAGES: false
|
||||
MAKE_PORTHOLE_IMAGES: false
|
||||
MAKE_PROMENADE_IMAGES: false
|
||||
CLONE_ARMADA: true
|
||||
CLONE_DECKHAND: true
|
||||
CLONE_SHIPYARD: true
|
||||
CLONE_PORTHOLE: true
|
||||
CLONE_PROMENADE: true
|
||||
CLONE_MAAS: true
|
||||
CLONE_OSH: true
|
||||
MAKE_ARMADA_IMAGES: false
|
||||
MAKE_DECKHAND_IMAGES: false
|
||||
MAKE_SHIPYARD_IMAGES: false
|
||||
MAKE_DECKHAND_IMAGES: false
|
||||
MAKE_PORTHOLE_IMAGES: false
|
||||
MAKE_PROMENADE_IMAGES: false
|
||||
...
|
84
tools/gate/roles/airship-run-script-set/tasks/main.yaml
Normal file
84
tools/gate/roles/airship-run-script-set/tasks/main.yaml
Normal file
@ -0,0 +1,84 @@
|
||||
# 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.
|
||||
|
||||
---
|
||||
- block:
|
||||
- name: "Run script set {{ workload }}"
|
||||
shell: |
|
||||
set -xe;
|
||||
{{ gate_script_path }}
|
||||
loop: "{{ workload }}"
|
||||
loop_control:
|
||||
loop_var: gate_script_path
|
||||
pause: 5
|
||||
args:
|
||||
chdir: "{{ zuul.project.src_dir }}/{{ gate_scripts_relative_path }}"
|
||||
environment:
|
||||
CEPH_OSD_DATA_DEVICE: "{{ ceph_osd_data_device }}"
|
||||
POD_NETWORK_CIDR: "{{ kubeadm.pod_network_cidr }}"
|
||||
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
|
||||
OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}"
|
||||
OSH_PATH: "{{ zuul_osh_relative_path | default('../openstack-helm/') }}"
|
||||
OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('../openstack-helm-infra/') }}"
|
||||
OPENSTACK_RELEASE: "{{ osh_params.openstack_release | default('') }}"
|
||||
CONTAINER_DISTRO_NAME: "{{ osh_params.container_distro_name | default('') }}"
|
||||
CONTAINER_DISTRO_VERSION: "{{ osh_params.container_distro_version | default('') }}"
|
||||
FEATURE_GATES: "{{ osh_params.feature_gates | default('') }}"
|
||||
RUN_HELM_TESTS: "{{ run_helm_tests | default('yes') }}"
|
||||
PL_SITE: "{{ site | default('airskiff') }}"
|
||||
HELM_ARTIFACT_URL: "{{ HELM_ARTIFACT_URL | default('https://get.helm.sh/helm-v3.15.4-linux-amd64.tar.gz') }}"
|
||||
HTK_COMMIT: "{{ HTK_COMMIT | default('cfff60ec10a6c386f38db79bb9f59a552c2b032f') }}"
|
||||
OSH_INFRA_COMMIT: "{{ OSH_INFRA_COMMIT | default('cfff60ec10a6c386f38db79bb9f59a552c2b032f') }}"
|
||||
OSH_COMMIT: "{{ OSH_COMMIT | default('2d9457e34ca4200ed631466bd87569b0214c92e7') }}"
|
||||
COREDNS_VERSION: "{{ coredns_version | default('v1.11.1') }}"
|
||||
DISTRO: "{{ DISTRO | default('ubuntu_focal') }}"
|
||||
DOCKER_REGISTRY: "{{ DOCKER_REGISTRY | default('quay.io') }}"
|
||||
MAKE_ARMADA_IMAGES: "{{ MAKE_ARMADA_IMAGES | default('false') }}"
|
||||
MAKE_DECKHAND_IMAGES: "{{ MAKE_DECKHAND_IMAGES | default('false') }}"
|
||||
MAKE_SHIPYARD_IMAGES: "{{ MAKE_SHIPYARD_IMAGES | default('false') }}"
|
||||
MAKE_PORTHOLE_IMAGES: "{{ MAKE_PORTHOLE_IMAGES | default('false') }}"
|
||||
MAKE_PROMENADE_IMAGES: "{{ MAKE_PROMENADE_IMAGES | default('false') }}"
|
||||
CLONE_ARMADA: "{{ CLONE_ARMADA | default('true') }}"
|
||||
CLONE_DECKHAND: "{{ CLONE_DECKHAND | default('true') }}"
|
||||
CLONE_SHIPYARD: "{{ CLONE_SHIPYARD | default('true') }}"
|
||||
CLONE_PORTHOLE: "{{ CLONE_PORTHOLE | default('true') }}"
|
||||
CLONE_PROMENADE: "{{ CLONE_PROMENADE | default('true') }}"
|
||||
CLONE_MAAS: "{{ CLONE_MAAS | default('true') }}"
|
||||
CLONE_OSH: "{{ CLONE_OSH | default('true') }}"
|
||||
MAKE_ARMADA_IMAGES: "{{ MAKE_ARMADA_IMAGES | default('false') }}"
|
||||
MAKE_DECKHAND_IMAGES: "{{ MAKE_DECKHAND_IMAGES | default('false') }}"
|
||||
MAKE_SHIPYARD_IMAGES: "{{ MAKE_SHIPYARD_IMAGES | default('false') }}"
|
||||
MAKE_DECKHAND_IMAGES: "{{ MAKE_DECKHAND_IMAGES | default('false') }}"
|
||||
MAKE_PORTHOLE_IMAGES: "{{ MAKE_PORTHOLE_IMAGES | default('false') }}"
|
||||
MAKE_PROMENADE_IMAGES: "{{ MAKE_PROMENADE_IMAGES | default('false') }}"
|
||||
# NOTE(aostapenko) using bigger than async_status timeout due to async_status issue with
|
||||
# not recognizing timed out jobs: https://github.com/ansible/ansible/issues/25637
|
||||
async: 3600
|
||||
poll: 0
|
||||
register: async_results
|
||||
|
||||
- name: Wait for script set to finish
|
||||
async_status:
|
||||
jid: '{{ item.ansible_job_id }}'
|
||||
register: jobs
|
||||
until: jobs.finished
|
||||
delay: 5
|
||||
retries: 360
|
||||
loop: "{{ async_results.results }}"
|
||||
|
||||
always:
|
||||
- name: Print script set output
|
||||
shell: |
|
||||
# NOTE(aostapenko) safely retrieving items for the unlikely case if jobs timed out in async_status
|
||||
echo 'STDOUT:\n{{ item.get("stdout") | regex_replace("\'", "") }}\nSTDERR:\n{{ item.get("stderr") | regex_replace("\'", "") }}'
|
||||
loop: "{{ jobs.results }}"
|
||||
...
|
43
tools/gate/roles/airship-run-script/defaults/main.yaml
Normal file
43
tools/gate/roles/airship-run-script/defaults/main.yaml
Normal file
@ -0,0 +1,43 @@
|
||||
# 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.
|
||||
|
||||
---
|
||||
ceph_osd_data_device: "/dev/loop0"
|
||||
kubeadm:
|
||||
pod_network_cidr: "10.244.0.0/24"
|
||||
osh_params:
|
||||
container_distro_name: ubuntu
|
||||
container_distro_version: focal
|
||||
# feature_gates:
|
||||
site: airskiff
|
||||
HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.15.4-linux-amd64.tar.gz
|
||||
HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
|
||||
OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
|
||||
OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7
|
||||
COREDNS_VERSION: v1.11.1
|
||||
DISTRO: ubuntu_jammy
|
||||
DOCKER_REGISTRY: quay.io
|
||||
MAKE_ARMADA_IMAGES: false
|
||||
MAKE_DECKHAND_IMAGES: false
|
||||
MAKE_SHIPYARD_IMAGES: false
|
||||
MAKE_PORTHOLE_IMAGES: false
|
||||
MAKE_PROMENADE_IMAGES: false
|
||||
MAKE_PEGLEG_IMAGES: false
|
||||
CLONE_ARMADA: true
|
||||
CLONE_DECKHAND: true
|
||||
CLONE_SHIPYARD: true
|
||||
CLONE_PORTHOLE: true
|
||||
CLONE_PROMENADE: true
|
||||
CLONE_PEGLEG: true
|
||||
CLONE_MAAS: true
|
||||
CLONE_OSH: true
|
||||
...
|
56
tools/gate/roles/airship-run-script/tasks/main.yaml
Normal file
56
tools/gate/roles/airship-run-script/tasks/main.yaml
Normal file
@ -0,0 +1,56 @@
|
||||
# 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.
|
||||
|
||||
---
|
||||
- name: "Run script {{ workload[0] }}"
|
||||
shell: |
|
||||
set -xe;
|
||||
{{ gate_script_path }}
|
||||
vars:
|
||||
gate_script_path: "{{ workload[0] }}"
|
||||
args:
|
||||
chdir: "{{ zuul.project.src_dir }}/{{ gate_scripts_relative_path }}"
|
||||
environment:
|
||||
CEPH_OSD_DATA_DEVICE: "{{ ceph_osd_data_device }}"
|
||||
POD_NETWORK_CIDR: "{{ kubeadm.pod_network_cidr }}"
|
||||
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
|
||||
OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}"
|
||||
OSH_PATH: "{{ zuul_osh_relative_path | default('../openstack-helm/') }}"
|
||||
OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('../openstack-helm-infra/') }}"
|
||||
OPENSTACK_RELEASE: "{{ osh_params.openstack_release | default('') }}"
|
||||
CONTAINER_DISTRO_NAME: "{{ osh_params.container_distro_name | default('') }}"
|
||||
CONTAINER_DISTRO_VERSION: "{{ osh_params.container_distro_version | default('') }}"
|
||||
FEATURE_GATES: "{{ osh_params.feature_gates | default('') }}"
|
||||
RUN_HELM_TESTS: "{{ run_helm_tests | default('yes') }}"
|
||||
PL_SITE: "{{ site | default('airskiff') }}"
|
||||
HELM_ARTIFACT_URL: "{{ HELM_ARTIFACT_URL | default('https://get.helm.sh/helm-v3.15.4-linux-amd64.tar.gz') }}"
|
||||
HTK_COMMIT: "{{ HTK_COMMIT | default('cfff60ec10a6c386f38db79bb9f59a552c2b032f') }}"
|
||||
OSH_INFRA_COMMIT: "{{ OSH_INFRA_COMMIT | default('cfff60ec10a6c386f38db79bb9f59a552c2b032f') }}"
|
||||
OSH_COMMIT: "{{ OSH_COMMIT | default('2d9457e34ca4200ed631466bd87569b0214c92e7') }}"
|
||||
COREDNS_VERSION: "{{ coredns_version | default('v1.11.1') }}"
|
||||
DISTRO: "{{ DISTRO | default('ubuntu_focal') }}"
|
||||
DOCKER_REGISTRY: "{{ DOCKER_REGISTRY | default('quay.io') }}"
|
||||
MAKE_ARMADA_IMAGES: "{{ MAKE_ARMADA_IMAGES | default('false') }}"
|
||||
MAKE_DECKHAND_IMAGES: "{{ MAKE_DECKHAND_IMAGES | default('false') }}"
|
||||
MAKE_SHIPYARD_IMAGES: "{{ MAKE_SHIPYARD_IMAGES | default('false') }}"
|
||||
MAKE_PORTHOLE_IMAGES: "{{ MAKE_PORTHOLE_IMAGES | default('false') }}"
|
||||
MAKE_PROMENADE_IMAGES: "{{ MAKE_PROMENADE_IMAGES | default('false') }}"
|
||||
MAKE_PEGLEG_IMAGES: "{{ MAKE_PEGLEG_IMAGES | default('false') }}"
|
||||
CLONE_ARMADA: "{{ CLONE_ARMADA | default('true') }}"
|
||||
CLONE_DECKHAND: "{{ CLONE_DECKHAND | default('true') }}"
|
||||
CLONE_SHIPYARD: "{{ CLONE_SHIPYARD | default('true') }}"
|
||||
CLONE_PORTHOLE: "{{ CLONE_PORTHOLE | default('true') }}"
|
||||
CLONE_PROMENADE: "{{ CLONE_PROMENADE | default('true') }}"
|
||||
CLONE_PEGLEG: "{{ CLONE_PEGLEG | default('true') }}"
|
||||
CLONE_MAAS: "{{ CLONE_MAAS | default('true') }}"
|
||||
CLONE_OSH: "{{ CLONE_OSH | default('true') }}"
|
||||
...
|
6
tox.ini
6
tox.ini
@ -1,5 +1,5 @@
|
||||
[tox]
|
||||
envlist = py38,pep8,docs,cover
|
||||
envlist = py310,pep8,docs,cover
|
||||
minversion = 2.38.0
|
||||
skipsdist = True
|
||||
|
||||
@ -31,7 +31,7 @@ commands =
|
||||
bash -c "{toxinidir}/tools/gate/run-unit-tests.sh '{posargs}'"
|
||||
|
||||
|
||||
[testenv:py38]
|
||||
[testenv:py310]
|
||||
allowlist_externals =
|
||||
bash
|
||||
find
|
||||
@ -100,7 +100,7 @@ allowlist_externals=
|
||||
sh
|
||||
deps=
|
||||
-r{toxinidir}/requirements-direct.txt
|
||||
-c https://raw.githubusercontent.com/apache/airflow/constraints-2.8.2/constraints-3.8.txt
|
||||
-c https://raw.githubusercontent.com/apache/airflow/constraints-2.10.2/constraints-3.10.txt
|
||||
commands=
|
||||
rm -f {toxinidir}/requirements-frozen.txt
|
||||
sh -c "pip freeze --all | grep -vE 'pegleg|pyinotify|pkg-resources' > requirements-frozen.txt"
|
||||
|
@ -1,3 +1,3 @@
|
||||
DECKHAND_VERSION=commit/32e9950db405b5d1eb74da0c4e8df344a8638eff
|
||||
SHIPYARD_VERSION=commit/6c356a902d8d5e07cf87d8fe94e4030a066e7def
|
||||
PROMENADE_VERSION=commit/e4c9fdb8619517d6e8c88e74fc3c1bdcf343a2ce
|
||||
DECKHAND_VERSION=commit/be9f97b846b1edc6b74777e5e639aa9edce8cfa6
|
||||
SHIPYARD_VERSION=commit/e917c9dca721fcf3384c583c1c0d8fe9654a7987
|
||||
PROMENADE_VERSION=commit/ac573b9fb53fd543172c50bbbcdfac3656fb8e66
|
||||
|
Loading…
Reference in New Issue
Block a user