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-docker-build-gate
- deckhand-openstack-tox-pep8-focal - deckhand-openstack-tox-pep8-focal
- deckhand-openstack-tox-cover-focal - deckhand-openstack-tox-cover-focal
- deckhand-airskiff-deployment-focal - deckhand-airskiff-deployment-focal-kubeadm
# - deckhand-airskiff-deployment-focal-kubeadm
gate: gate:
jobs: jobs:
@ -44,7 +43,7 @@
- deckhand-docker-build-gate - deckhand-docker-build-gate
- deckhand-openstack-tox-pep8-focal - deckhand-openstack-tox-pep8-focal
- deckhand-openstack-tox-cover-focal - deckhand-openstack-tox-cover-focal
- deckhand-airskiff-deployment-focal
post: post:
jobs: jobs:
@ -168,7 +167,7 @@
vars: vars:
tox_envlist: py38-functional tox_envlist: py38-functional
disable_keystone: true disable_keystone: true
distro: ubuntu_focal DISTRO: ubuntu_focal
irrelevant-files: *irrelevant-files irrelevant-files: *irrelevant-files
- job: - job:
@ -182,7 +181,7 @@
nodeset: treasuremap-airskiff-1node-ubuntu_focal nodeset: treasuremap-airskiff-1node-ubuntu_focal
vars: vars:
tox_envlist: py38-functional-dev tox_envlist: py38-functional-dev
distro: ubuntu_focal DISTRO: ubuntu_focal
irrelevant-files: *irrelevant-files irrelevant-files: *irrelevant-files
@ -198,7 +197,7 @@
irrelevant-files: *irrelevant-files irrelevant-files: *irrelevant-files
vars: vars:
disable_keystone: true disable_keystone: true
distro: ubuntu_focal DISTRO: ubuntu_focal
- job: - job:
name: deckhand-integration-docker-py38 name: deckhand-integration-docker-py38
@ -211,7 +210,7 @@
vars: vars:
tox_envlist: py38-functional tox_envlist: py38-functional
disable_keystone: false disable_keystone: false
distro: ubuntu_focal DISTRO: ubuntu_focal
irrelevant-files: *irrelevant-files irrelevant-files: *irrelevant-files
- job: - job:
@ -234,29 +233,29 @@
vars: vars:
HTK_COMMIT: master HTK_COMMIT: master
- job: # - job:
name: deckhand-airskiff-deployment-focal # name: deckhand-airskiff-deployment-focal
voting: true # voting: true
nodeset: treasuremap-airskiff-1node-ubuntu_focal # nodeset: treasuremap-airskiff-1node-ubuntu_focal
description: | # description: |
Deploy Memcached using Airskiff and submitted Deckhand changes. # Deploy Memcached using Airskiff and submitted Deckhand changes.
timeout: 9600 # timeout: 9600
pre-run: # pre-run:
- tools/gate/playbooks/git-config.yaml # - tools/gate/playbooks/git-config.yaml
- tools/gate/playbooks/airskiff-reduce-site.yaml # - tools/gate/playbooks/airskiff-reduce-site.yaml
run: tools/gate/playbooks/airskiff-deploy.yaml # run: tools/gate/playbooks/airskiff-deploy.yaml
post-run: tools/gate/playbooks/debug-report.yaml # post-run: tools/gate/playbooks/debug-report.yaml
required-projects: # required-projects:
- airship/treasuremap # - airship/treasuremap
vars: # vars:
CLONE_DECKHAND: false # CLONE_DECKHAND: false
DECKHAND_IMAGE_DISTRO: ubuntu_focal # DECKHAND_IMAGE_DISTRO: ubuntu_focal
HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.13.2-linux-amd64.tar.gz # HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.13.2-linux-amd64.tar.gz
HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f # HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f # OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7 # OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7
distro: ubuntu_focal # DISTRO: ubuntu_focal
irrelevant-files: *irrelevant-files # irrelevant-files: *irrelevant-files
- job: - job:
name: deckhand-airskiff-deployment-focal-kubeadm name: deckhand-airskiff-deployment-focal-kubeadm
@ -270,9 +269,10 @@
HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7 OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7
distro: ubuntu_focal
CLONE_DECKHAND: false 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_relative_path: ../../airship/treasuremap
gate_scripts: gate_scripts:
- ./tools/deployment/airskiff/developer/000-prepare-k8s.sh - ./tools/deployment/airskiff/developer/000-prepare-k8s.sh
@ -280,17 +280,13 @@
- ./tools/deployment/airskiff/developer/000-clone-dependencies.sh - ./tools/deployment/airskiff/developer/000-clone-dependencies.sh
- ./tools/deployment/airskiff/developer/020-setup-client.sh - ./tools/deployment/airskiff/developer/020-setup-client.sh
- ./tools/deployment/airskiff/developer/015-make-all-charts.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/025-start-artifactory.sh
- ./tools/deployment/airskiff/developer/026-reduce-site.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/030-armada-bootstrap.sh
- ./tools/deployment/airskiff/developer/100-deploy-osh.sh - ./tools/deployment/airskiff/developer/100-deploy-osh.sh
- ./tools/deployment/airskiff/common/os-env.sh - ./tools/deployment/airskiff/common/os-env.sh
- ./tools/gate/wait-for-shipyard.sh - ./tools/gate/wait-for-shipyard.sh
- ./tools/deployment/airskiff/common/sleep.sh
irrelevant-files: *irrelevant-files irrelevant-files: *irrelevant-files
- job: - job:
@ -307,7 +303,7 @@
- ^setup.cfg$ - ^setup.cfg$
vars: vars:
publish: false publish: false
distro: ubuntu_focal DISTRO: ubuntu_focal
tags: tags:
dynamic: dynamic:
patch_set: true patch_set: true
@ -326,7 +322,7 @@
irrelevant-files: *non-code-files-template irrelevant-files: *non-code-files-template
vars: vars:
publish: true publish: true
distro: ubuntu_focal DISTRO: ubuntu_focal
tags: tags:
dynamic: dynamic:
branch: true branch: true
@ -349,7 +345,7 @@
secrets: secrets:
- airship_deckhand_quay_creds - airship_deckhand_quay_creds
vars: vars:
distro: ubuntu_focal DISTRO: ubuntu_focal
- secret: - secret:

View File

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

View File

@ -30,7 +30,7 @@
- block: - block:
- name: Get id of the distro specific container image currently tagged as latest - name: Get id of the distro specific container image currently tagged as latest
uri: 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 return_content: yes
register: response_1 register: response_1
- name: Debug response - name: Debug response

View File

@ -24,7 +24,24 @@ HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7 OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7
COREDNS_VERSION: v1.11.1 COREDNS_VERSION: v1.11.1
distro: ubuntu_focal DISTRO: ubuntu_focal
CLONE_DECKHAND: false DOCKER_REGISTRY: quay.io
DECKHAND_IMAGE_DISTRO: ubuntu_focal 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_INFRA_COMMIT: "{{ OSH_INFRA_COMMIT | default('cfff60ec10a6c386f38db79bb9f59a552c2b032f') }}"
OSH_COMMIT: "{{ OSH_COMMIT | default('2d9457e34ca4200ed631466bd87569b0214c92e7') }}" OSH_COMMIT: "{{ OSH_COMMIT | default('2d9457e34ca4200ed631466bd87569b0214c92e7') }}"
COREDNS_VERSION: "{{ coredns_version | default('v1.11.1') }}" COREDNS_VERSION: "{{ coredns_version | default('v1.11.1') }}"
distro: "{{ coredns_version | default('ubuntu_focal') }}" DISTRO: "{{ DISTRO | default('ubuntu_focal') }}"
CLONE_DECKHAND: "{{ coredns_version | default('false') }}" DOCKER_REGISTRY: "{{ DOCKER_REGISTRY | default('quay.io') }}"
DECKHAND_IMAGE_DISTRO: "{{ coredns_version | default('ubuntu_focal') }}" 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 # 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 # not recognizing timed out jobs: https://github.com/ansible/ansible/issues/25637
async: 3600 async: 3600

View File

@ -24,7 +24,24 @@ HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f OSH_INFRA_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7 OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7
COREDNS_VERSION: v1.11.1 COREDNS_VERSION: v1.11.1
distro: ubuntu_focal DISTRO: ubuntu_focal
CLONE_DECKHAND: false DOCKER_REGISTRY: quay.io
DECKHAND_IMAGE_DISTRO: ubuntu_focal 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_INFRA_COMMIT: "{{ OSH_INFRA_COMMIT | default('cfff60ec10a6c386f38db79bb9f59a552c2b032f') }}"
OSH_COMMIT: "{{ OSH_COMMIT | default('2d9457e34ca4200ed631466bd87569b0214c92e7') }}" OSH_COMMIT: "{{ OSH_COMMIT | default('2d9457e34ca4200ed631466bd87569b0214c92e7') }}"
COREDNS_VERSION: "{{ coredns_version | default('v1.11.1') }}" COREDNS_VERSION: "{{ coredns_version | default('v1.11.1') }}"
distro: "{{ coredns_version | default('ubuntu_focal') }}" DISTRO: "{{ DISTRO | default('ubuntu_focal') }}"
CLONE_DECKHAND: "{{ coredns_version | default('false') }}" DOCKER_REGISTRY: "{{ DOCKER_REGISTRY | default('quay.io') }}"
DECKHAND_IMAGE_DISTRO: "{{ coredns_version | default('ubuntu_focal') }}" 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 \ --force-rm \
--tag deckhand \ --tag deckhand \
--label zuul \ --label zuul \
--file images/deckhand/Dockerfile.{{ distro }} \ --file images/deckhand/Dockerfile.{{ DISTRO }} \
{% if zuul_site_mirror_fqdn is defined and zuul_site_mirror_fqdn %} {% if zuul_site_mirror_fqdn is defined and zuul_site_mirror_fqdn %}
--build-arg UBUNTU_URL="http://{{ zuul_site_mirror_fqdn }}/ubuntu/" \ --build-arg UBUNTU_URL="http://{{ zuul_site_mirror_fqdn }}/ubuntu/" \
--build-arg ALLOW_UNAUTHENTICATED="true" \ --build-arg ALLOW_UNAUTHENTICATED="true" \
@ -60,7 +60,7 @@
--force-rm \ --force-rm \
--tag deckhand \ --tag deckhand \
--label zuul \ --label zuul \
--file images/deckhand/Dockerfile.{{ distro }} \ --file images/deckhand/Dockerfile.{{ DISTRO }} \
--build-arg HTTP_PROXY="{{ proxy.http }}" \ --build-arg HTTP_PROXY="{{ proxy.http }}" \
--build-arg HTTPS_PROXY="{{ proxy.https }}" \ --build-arg HTTPS_PROXY="{{ proxy.https }}" \
--build-arg NO_PROXY="{{ proxy.noproxy }}" \ --build-arg NO_PROXY="{{ proxy.noproxy }}" \