
This PS replaces old airskiff integration gate with new kubeadm based airskiff integration gate. The main goal of this gate is to test new deckhand image and chart together with other Airship components. Change-Id: I4221b7be64e9a7e07964fa817d42c21a3f172db0
447 lines
18 KiB
YAML
447 lines
18 KiB
YAML
# 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.
|
|
|
|
- project:
|
|
templates:
|
|
- docs-on-readthedocs
|
|
- openstack-python38-jobs
|
|
vars:
|
|
rtd_webhook_id: '38572'
|
|
rtd_project_name: 'airship-deckhand'
|
|
check:
|
|
jobs:
|
|
- deckhand-tox-py38-postgresql
|
|
- deckhand-functional-uwsgi-py38
|
|
- deckhand-functional-docker-py38
|
|
- deckhand-integration-uwsgi-py38
|
|
- deckhand-integration-docker-py38
|
|
- deckhand-chart-build-gate
|
|
- deckhand-chart-build-latest-htk
|
|
- deckhand-docker-build-gate
|
|
- deckhand-openstack-tox-pep8-focal
|
|
- deckhand-openstack-tox-cover-focal
|
|
- deckhand-airskiff-deployment-focal-kubeadm
|
|
|
|
gate:
|
|
jobs:
|
|
- deckhand-tox-py38-postgresql
|
|
- deckhand-functional-uwsgi-py38
|
|
- deckhand-functional-docker-py38
|
|
- deckhand-integration-uwsgi-py38
|
|
- deckhand-integration-docker-py38
|
|
- deckhand-chart-build-gate
|
|
- deckhand-chart-build-latest-htk
|
|
- deckhand-docker-build-gate
|
|
- deckhand-openstack-tox-pep8-focal
|
|
- deckhand-openstack-tox-cover-focal
|
|
|
|
|
|
post:
|
|
jobs:
|
|
- deckhand-upload-git-mirror
|
|
- deckhand-docker-publish-ubuntu_focal
|
|
|
|
|
|
- nodeset:
|
|
name: deckhand-single-node
|
|
nodes:
|
|
- name: primary
|
|
label: ubuntu-bionic
|
|
|
|
- nodeset:
|
|
name: deckhand-single-node-airskiff
|
|
nodes:
|
|
- name: primary
|
|
label: ubuntu-bionic
|
|
|
|
- nodeset:
|
|
name: deckhand-single-node-focal
|
|
nodes:
|
|
- name: primary
|
|
label: ubuntu-focal
|
|
|
|
- nodeset:
|
|
name: deckhand-single-node-airskiff-focal
|
|
nodes:
|
|
- name: primary
|
|
label: ubuntu-focal
|
|
|
|
- job:
|
|
name: deckhand-openstack-tox-pep8-focal
|
|
parent: openstack-tox-pep8
|
|
description: Runs pep8 job on focal
|
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
|
|
|
- job:
|
|
name: deckhand-openstack-tox-cover-focal
|
|
parent: openstack-tox-cover
|
|
description: Runs cover job on focal
|
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
|
|
|
- job:
|
|
name: deckhand-tox-py38-postgresql
|
|
parent: openstack-tox-py38
|
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
|
pre-run:
|
|
- tools/gate/playbooks/prepare-hosts.yaml
|
|
vars:
|
|
tox_envlist: py38-postgresql
|
|
|
|
- job:
|
|
name: deckhand-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: 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/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:
|
|
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/24"
|
|
service_cidr: "10.96.0.0/16"
|
|
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.29"
|
|
# the list of k8s package versions are available here
|
|
# https://pkgs.k8s.io/core:/stable:/{{ kube_version_repo }}/deb/Packages
|
|
kube_version: "1.29.2-1.1"
|
|
calico_version: "v3.27.0"
|
|
coredns_version: "v1.11.1"
|
|
helm_version: "v3.13.2"
|
|
yq_version: "v4.6.0"
|
|
crictl_version: "v1.26.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: deckhand-functional-docker-py38
|
|
description: |
|
|
Run tox-based functional tests for the Airship Deckhand project under
|
|
cPython version 3.8. Uses tox with the ``functional-py38`` environment.
|
|
Ubuntu (focal) image is built and used.
|
|
parent: deckhand-base
|
|
run: tools/gate/playbooks/run-functional-tests-docker.yaml
|
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
|
vars:
|
|
tox_envlist: py38-functional
|
|
disable_keystone: true
|
|
DISTRO: ubuntu_focal
|
|
irrelevant-files: *irrelevant-files
|
|
|
|
- job:
|
|
name: deckhand-functional-uwsgi-py38
|
|
description: |
|
|
Run tox-based functional tests for the Airship Deckhand project using a
|
|
minimalistic deployment consisting of uwsgi for Deckhand API and pifpaf
|
|
for ephemeral PostgreSQL DB, under cPython version 3.8.
|
|
parent: deckhand-base
|
|
run: tools/gate/playbooks/run-functional-tests-uwsgi.yaml
|
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
|
vars:
|
|
tox_envlist: py38-functional-dev
|
|
DISTRO: ubuntu_focal
|
|
irrelevant-files: *irrelevant-files
|
|
|
|
|
|
- job:
|
|
name: deckhand-integration-uwsgi-py38
|
|
description: |
|
|
Run tox-based integration tests for the Airship Deckhand project using a
|
|
minimalistic deployment consisting of uwsgi for Deckhand API and pifpaf
|
|
for ephemeral PostgreSQL DB, under cPython version 3.8.
|
|
parent: deckhand-base
|
|
run: tools/gate/playbooks/run-integration-tests-uwsgi.yaml
|
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
|
irrelevant-files: *irrelevant-files
|
|
vars:
|
|
disable_keystone: true
|
|
DISTRO: ubuntu_focal
|
|
|
|
- job:
|
|
name: deckhand-integration-docker-py38
|
|
description: |
|
|
Run tox-based integration tests for the Airship Deckhand project under
|
|
cPython version 3.8. Builds ubuntu (focal) deckhand image.
|
|
parent: deckhand-base
|
|
run: tools/gate/playbooks/run-integration-tests-docker.yaml
|
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
|
vars:
|
|
tox_envlist: py38-functional
|
|
disable_keystone: false
|
|
DISTRO: ubuntu_focal
|
|
irrelevant-files: *irrelevant-files
|
|
|
|
- job:
|
|
name: deckhand-chart-build-gate
|
|
description: |
|
|
Build charts using pinned Helm toolkit.
|
|
timeout: 900
|
|
run: tools/gate/playbooks/build-charts.yaml
|
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
|
vars:
|
|
HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
|
|
|
|
- job:
|
|
name: deckhand-chart-build-latest-htk
|
|
description: |
|
|
Build charts using latest Helm toolkit.
|
|
timeout: 900
|
|
run: tools/gate/playbooks/build-charts.yaml
|
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
|
vars:
|
|
HTK_COMMIT: master
|
|
|
|
# - job:
|
|
# name: deckhand-airskiff-deployment-focal
|
|
# voting: true
|
|
# nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
|
# description: |
|
|
# Deploy Memcached using Airskiff and submitted Deckhand changes.
|
|
# timeout: 9600
|
|
# pre-run:
|
|
# - tools/gate/playbooks/git-config.yaml
|
|
# - tools/gate/playbooks/airskiff-reduce-site.yaml
|
|
# run: tools/gate/playbooks/airskiff-deploy.yaml
|
|
# post-run: tools/gate/playbooks/debug-report.yaml
|
|
# required-projects:
|
|
# - airship/treasuremap
|
|
# vars:
|
|
# CLONE_DECKHAND: false
|
|
# DECKHAND_IMAGE_DISTRO: ubuntu_focal
|
|
# HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.13.2-linux-amd64.tar.gz
|
|
# HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
|
|
# OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
|
|
# OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7
|
|
# DISTRO: ubuntu_focal
|
|
# irrelevant-files: *irrelevant-files
|
|
|
|
- job:
|
|
name: deckhand-airskiff-deployment-focal-kubeadm
|
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
|
description: |
|
|
Deploy Memcached using Airskiff and submitted Deckhand changes.
|
|
parent: deckhand-base
|
|
vars:
|
|
site: airskiff
|
|
HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.13.2-linux-amd64.tar.gz
|
|
HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
|
|
OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
|
|
OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7
|
|
CLONE_DECKHAND: false
|
|
DISTRO: ubuntu_focal
|
|
DOCKER_REGISTRY: localhost:5000
|
|
MAKE_DECKHAND_IMAGES: true
|
|
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
|
|
- ./tools/deployment/airskiff/developer/030-armada-bootstrap.sh
|
|
- ./tools/deployment/airskiff/developer/100-deploy-osh.sh
|
|
- ./tools/deployment/airskiff/common/os-env.sh
|
|
- ./tools/gate/wait-for-shipyard.sh
|
|
irrelevant-files: *irrelevant-files
|
|
|
|
- job:
|
|
name: deckhand-docker-build-gate
|
|
timeout: 3600
|
|
run: tools/gate/playbooks/docker-image-build.yaml
|
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
|
irrelevant-files: &non-code-files-template
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- ^charts/.*$
|
|
- ^etc/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
vars:
|
|
publish: false
|
|
DISTRO: ubuntu_focal
|
|
tags:
|
|
dynamic:
|
|
patch_set: true
|
|
|
|
- job:
|
|
name: deckhand-docker-publish-ubuntu_focal
|
|
description: |
|
|
Runs on every merge, unless files in a dictionary below are changed.
|
|
Builds and publishes container ubuntu images on quay.io with a set of tags
|
|
listed in vars section. Waits in Zuul queue for a node (VM) assignment.
|
|
timeout: 3600
|
|
run: tools/gate/playbooks/docker-image-build.yaml
|
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
|
secrets:
|
|
- airship_deckhand_quay_creds
|
|
irrelevant-files: *non-code-files-template
|
|
vars:
|
|
publish: true
|
|
DISTRO: ubuntu_focal
|
|
tags:
|
|
dynamic:
|
|
branch: true
|
|
commit: true
|
|
static:
|
|
- latest
|
|
- airflow_2.8.2
|
|
|
|
- job:
|
|
name: deckhand-docker-tag-ubuntu_focal
|
|
description: |
|
|
Runs on every merge when files in a dictionalry below are changed, and
|
|
adds git commit id tag onto the ubuntu container image published on quay.io,
|
|
which has `latest` tag set. Does not wait in queue for a node (VM)
|
|
assignment, runs almost immediately.
|
|
timeout: 3600
|
|
run: tools/gate/playbooks/docker-image-tag.yaml
|
|
nodeset:
|
|
nodes: []
|
|
secrets:
|
|
- airship_deckhand_quay_creds
|
|
vars:
|
|
DISTRO: ubuntu_focal
|
|
|
|
|
|
- secret:
|
|
name: airship_deckhand_quay_creds
|
|
data:
|
|
username: !encrypted/pkcs1-oaep
|
|
- eC+ZaBS1TN37yuvL2WoGkJQ8OFBSLiXxV0wAkH+2l9wLNjmT3QxwnjXTNSw883zEkE9C/
|
|
XPDUxgv7RMLO/Bfs7uXKH1QjCbIJREPJ7Vk6WY9BUvn6olT/JCafpRcsmAkIS4W8p0l7J
|
|
ZxelQnGm/Z2zcq4eWeKzKsFLGiAHyoFASXqlDf93NesR+lZ4xnZkO24+oPMpZq6o2Xr2D
|
|
eWrxEcEsn817o7bA5d9mHb3u2e4tgyxhRevz43VD+0p1bK1thjRnUVpmOvHNjGI+jphAT
|
|
Vf2+Zqys0+xJ4yJ62bhnayvLZeaKD96rLIXCsbm4xYWsyrzCYvJQ4nESY7McYoDEG6PgL
|
|
3Gr/6oyNUzobQNAxuwo0GpecaBVy5Z1/8Ihlb8r1nNM3J0a7oz1PyPS4O7WRlQmXgHJ/x
|
|
jJJmh66ruDxi1bcarmn4AR6lWmfyFqHwIlptsvX9AcJd4FWII9ZYdTUiidJ9ob4KmchIY
|
|
G0wdqGDaekNR01VgB+JD05IM4UMLjwRnFmLUKIvo0H9YU5X253rv/GXNks1Ov2OevIlch
|
|
RnnnpCESNso+xup0IztfWBkcGPGBpgmIh6T5s5bfg0n9CYEzsJMGiJuMKgeZcBvnif6Qb
|
|
y1mzFxQiyEUUPzngF6ger7sBdXSrkCv8cqWsxdeVf2xEXLCDl/x2rhfj7fa5C8=
|
|
password: !encrypted/pkcs1-oaep
|
|
- TL/cjk3UCv2QQTk/QX6ujvLpHQDgijFmBWG3r9Hg/migT1Iry/eQi/HftHhShWjF0lk6Y
|
|
kesdX49H8wXHkRutGxrmcb4HMde4clebtT0dIvVFU7/Ieoq5OnxVLdIPP3YBLZYLy5Ah5
|
|
jLtfV1FJsuRN5gVGJeOXQUhPitrEnNrcj50ke1+llvfRl7PIR1byAM/6gQLbV3oUtOgk6
|
|
jmpieqxq55yO+o76bXOp8YNNVr0eqI1nISfBoku2GL7nipAcfxDIeR3a5J4pdaJEEhJR7
|
|
qqgp1RMt/aADkBUDqw1xbF86V2Mh2l60mWtYUHm4EvOFotrzeOd6Th73K9y57cBuQRJwT
|
|
qP+T+3yuTtuwvzjgTG+h5deppsRb3EFtPYSI6TqWVKtH2zwRbTJCSbgdY03Tjrwn9vZJK
|
|
QA4O1fRLBhchBqaIcpOFj8AFNPYCtz6cvL0uzAHXfQoQ3r9icNlPg0N5W2VINxYvDIiOc
|
|
Lfpty/EyKOJJpOXoBiJlsGHFLi/8gdMAAtMDf72yrQH6KxdNxdRGs5oALkUQ1IcuLbXng
|
|
ySP8WG+DBiwjt4IAtwd/sF+jyVBzDaywxdbS6RJycI+lRThvibQ5UFpr349yOhUdETB6p
|
|
yzFswIVmx1tHM7NhD80zwdSEj4EjG0AL3GXuwfLHGbr5WIeCaVEuCMW+XUwQpw=
|
|
# Token is valid for 10 years, expires on 10/10/2028
|
|
token: !encrypted/pkcs1-oaep
|
|
- Can0JzCSPRnujg8fZBtSXvLuGVRNaaoVkvCm8EKlqohnUmaryU7ColJxWYjPBxEEePxhB
|
|
mzkM5pD9o8PVkkUj5wxxUXlFDO73AMiwStmh2r/p+sd7bkgw5a2jzhYpBmVtn/qmEemsm
|
|
iIxQi0kz81qrU0H6w3r58lgskIIbD4yOYgu4DeoWmBU+yZ1V1E5RoumVQBdxB1fyenaKG
|
|
zR4Y6ebek31+VAlqSN0HUIYMgbc6Mt7ErEn2wjj9MxNvvP52pWDyxr5U2kKpOYdJpZt9h
|
|
EZgM2cF2zfuG+4KnpdONap54uVRnRcJCf6poI/l4UVYO5Z+EvlF3Xawp3jiPCMCGGy3dd
|
|
lEeEkvNzJppwAj5bEWT1NoFi7PigkK91znppVHu17jBEKkcl2S6LK87RTjfqnBsAmE30d
|
|
ibxqS7pCoSCGuUCP4XrW8QfI70Ml4Gb636bZUqZFi1WxzhfNKSO8LBPHekVQnwrmhhv2Z
|
|
CN9JZdtqR49JpHajubfYrtWxPHuiwnTwgsnpkpM0+5Z1nss/nQhW70uCBXvJkYUtenV87
|
|
c4Exr6ncOjgtqtjheW16hAGLtm2o36ZvBoLD7yqwYAjwb0bfuzDrw8oWa2yAgOcWnHPO6
|
|
w0lNv46YTHiJK9hezHqI0hgn5wifVI8avRZmHwaArVvX4LUXD2N/Tk7mxi7r2U=
|
|
|
|
- job:
|
|
name: deckhand-upload-git-mirror
|
|
parent: upload-git-mirror
|
|
description: Mirrors airship/deckhand to airshipit/deckhand
|
|
vars:
|
|
git_mirror_repository: airshipit/deckhand
|
|
secrets:
|
|
- name: git_mirror_credentials
|
|
secret: deckhand-airshipit-github-secret-2023-03-23
|
|
pass-to-parent: true
|
|
|
|
- secret:
|
|
name: deckhand-airshipit-github-secret-2023-03-23
|
|
data:
|
|
user: git
|
|
host: github.com
|
|
host_key: github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=
|
|
ssh_key: !encrypted/pkcs1-oaep
|
|
- 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
- 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
- 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
- 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
|