Kubeadm based Airskiff gate

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
This commit is contained in:
Sergiy Markin 2024-03-12 15:19:33 +00:00
parent c51e574abd
commit 31a3dc6b83
8 changed files with 122 additions and 57 deletions

View File

@ -29,8 +29,7 @@
- deckhand-docker-build-gate
- deckhand-openstack-tox-pep8-focal
- deckhand-openstack-tox-cover-focal
- deckhand-airskiff-deployment-focal
# - deckhand-airskiff-deployment-focal-kubeadm
- deckhand-airskiff-deployment-focal-kubeadm
gate:
jobs:
@ -44,7 +43,7 @@
- deckhand-docker-build-gate
- deckhand-openstack-tox-pep8-focal
- deckhand-openstack-tox-cover-focal
- deckhand-airskiff-deployment-focal
post:
jobs:
@ -168,7 +167,7 @@
vars:
tox_envlist: py38-functional
disable_keystone: true
distro: ubuntu_focal
DISTRO: ubuntu_focal
irrelevant-files: *irrelevant-files
- job:
@ -182,7 +181,7 @@
nodeset: treasuremap-airskiff-1node-ubuntu_focal
vars:
tox_envlist: py38-functional-dev
distro: ubuntu_focal
DISTRO: ubuntu_focal
irrelevant-files: *irrelevant-files
@ -198,7 +197,7 @@
irrelevant-files: *irrelevant-files
vars:
disable_keystone: true
distro: ubuntu_focal
DISTRO: ubuntu_focal
- job:
name: deckhand-integration-docker-py38
@ -211,7 +210,7 @@
vars:
tox_envlist: py38-functional
disable_keystone: false
distro: ubuntu_focal
DISTRO: ubuntu_focal
irrelevant-files: *irrelevant-files
- job:
@ -234,29 +233,29 @@
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
# 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
@ -270,9 +269,10 @@
HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7
distro: ubuntu_focal
CLONE_DECKHAND: false
DECKHAND_IMAGE_DISTRO: ubuntu_focal
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
@ -280,17 +280,13 @@
- ./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/common/sleep.sh
# TODO
# in treasuremap we need to create make local images script that will build
# local version of the image in order to be used instead of upstream image
- ./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
- ./tools/deployment/airskiff/common/sleep.sh
irrelevant-files: *irrelevant-files
- job:
@ -307,7 +303,7 @@
- ^setup.cfg$
vars:
publish: false
distro: ubuntu_focal
DISTRO: ubuntu_focal
tags:
dynamic:
patch_set: true
@ -326,7 +322,7 @@
irrelevant-files: *non-code-files-template
vars:
publish: true
distro: ubuntu_focal
DISTRO: ubuntu_focal
tags:
dynamic:
branch: true
@ -349,7 +345,7 @@
secrets:
- airship_deckhand_quay_creds
vars:
distro: ubuntu_focal
DISTRO: ubuntu_focal
- secret:

View File

@ -70,7 +70,7 @@
target: images
params:
IMAGE_TAG: "{{ item }}"
DISTRO: "{{ distro }}"
DISTRO: "{{ DISTRO }}"
with_items: "{{ image_tags.stdout_lines }}"
- shell: "docker images"
@ -100,7 +100,7 @@
IMAGE_TAG: "{{ item }}"
COMMIT: "{{ zuul.newrev | default('') }}"
PUSH_IMAGE: "true"
DISTRO: "{{ distro }}"
DISTRO: "{{ DISTRO }}"
with_items: "{{ image_tags.stdout_lines }}"
- shell: "docker images"

View File

@ -30,7 +30,7 @@
- block:
- name: Get id of the distro specific container image currently tagged as latest
uri:
url: "{{ quay_repo_api_url }}/{{ org }}/{{ image }}/tag/?specificTag={{ latest_tag }}-{{ Distro }}&limit=1"
url: "{{ quay_repo_api_url }}/{{ org }}/{{ image }}/tag/?specificTag={{ latest_tag }}-{{ DISTRO }}&limit=1"
return_content: yes
register: response_1
- name: Debug response

View File

@ -24,7 +24,24 @@ HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7
COREDNS_VERSION: v1.11.1
distro: ubuntu_focal
CLONE_DECKHAND: false
DECKHAND_IMAGE_DISTRO: ubuntu_focal
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
...

View File

@ -40,9 +40,26 @@
OSH_INFRA_COMMIT: "{{ OSH_INFRA_COMMIT | default('cfff60ec10a6c386f38db79bb9f59a552c2b032f') }}"
OSH_COMMIT: "{{ OSH_COMMIT | default('2d9457e34ca4200ed631466bd87569b0214c92e7') }}"
COREDNS_VERSION: "{{ coredns_version | default('v1.11.1') }}"
distro: "{{ coredns_version | default('ubuntu_focal') }}"
CLONE_DECKHAND: "{{ coredns_version | default('false') }}"
DECKHAND_IMAGE_DISTRO: "{{ coredns_version | default('ubuntu_focal') }}"
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

View File

@ -24,7 +24,24 @@ HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7
COREDNS_VERSION: v1.11.1
distro: ubuntu_focal
CLONE_DECKHAND: false
DECKHAND_IMAGE_DISTRO: ubuntu_focal
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
...

View File

@ -37,7 +37,25 @@
OSH_INFRA_COMMIT: "{{ OSH_INFRA_COMMIT | default('cfff60ec10a6c386f38db79bb9f59a552c2b032f') }}"
OSH_COMMIT: "{{ OSH_COMMIT | default('2d9457e34ca4200ed631466bd87569b0214c92e7') }}"
COREDNS_VERSION: "{{ coredns_version | default('v1.11.1') }}"
distro: "{{ coredns_version | default('ubuntu_focal') }}"
CLONE_DECKHAND: "{{ coredns_version | default('false') }}"
DECKHAND_IMAGE_DISTRO: "{{ coredns_version | default('ubuntu_focal') }}"
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') }}"
...

View File

@ -38,7 +38,7 @@
--force-rm \
--tag deckhand \
--label zuul \
--file images/deckhand/Dockerfile.{{ distro }} \
--file images/deckhand/Dockerfile.{{ DISTRO }} \
{% if zuul_site_mirror_fqdn is defined and zuul_site_mirror_fqdn %}
--build-arg UBUNTU_URL="http://{{ zuul_site_mirror_fqdn }}/ubuntu/" \
--build-arg ALLOW_UNAUTHENTICATED="true" \
@ -60,7 +60,7 @@
--force-rm \
--tag deckhand \
--label zuul \
--file images/deckhand/Dockerfile.{{ distro }} \
--file images/deckhand/Dockerfile.{{ DISTRO }} \
--build-arg HTTP_PROXY="{{ proxy.http }}" \
--build-arg HTTPS_PROXY="{{ proxy.https }}" \
--build-arg NO_PROXY="{{ proxy.noproxy }}" \