Use deploy-env role
Change-Id: I50530eabc8506319478d6ed02b7abb5eb1d2dd05
This commit is contained in:
parent
5b7da9ebd6
commit
8b7de6e492
211
.zuul.yaml
211
.zuul.yaml
@ -30,6 +30,7 @@
|
|||||||
- 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
|
||||||
|
# - deckhand-airskiff-deployment-focal-kubeadm
|
||||||
|
|
||||||
gate:
|
gate:
|
||||||
jobs:
|
jobs:
|
||||||
@ -39,6 +40,7 @@
|
|||||||
- deckhand-integration-uwsgi-py38
|
- deckhand-integration-uwsgi-py38
|
||||||
- deckhand-integration-docker-py38
|
- deckhand-integration-docker-py38
|
||||||
- deckhand-chart-build-gate
|
- deckhand-chart-build-gate
|
||||||
|
- deckhand-chart-build-latest-htk
|
||||||
- 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
|
||||||
@ -78,36 +80,34 @@
|
|||||||
name: deckhand-openstack-tox-pep8-focal
|
name: deckhand-openstack-tox-pep8-focal
|
||||||
parent: openstack-tox-pep8
|
parent: openstack-tox-pep8
|
||||||
description: Runs pep8 job on focal
|
description: Runs pep8 job on focal
|
||||||
nodeset: deckhand-single-node-focal
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: deckhand-openstack-tox-cover-focal
|
name: deckhand-openstack-tox-cover-focal
|
||||||
parent: openstack-tox-cover
|
parent: openstack-tox-cover
|
||||||
description: Runs cover job on focal
|
description: Runs cover job on focal
|
||||||
nodeset: deckhand-single-node-focal
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: deckhand-tox-py38-postgresql
|
name: deckhand-tox-py38-postgresql
|
||||||
parent: openstack-tox-py38
|
parent: openstack-tox-py38
|
||||||
nodeset: deckhand-single-node-focal
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
||||||
pre-run:
|
pre-run:
|
||||||
- tools/gate/playbooks/install-postgresql.yaml
|
- tools/gate/playbooks/prepare-hosts.yaml
|
||||||
vars:
|
vars:
|
||||||
tox_envlist: py38-postgresql
|
tox_envlist: py38-postgresql
|
||||||
|
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: deckhand-functional-uwsgi-py38
|
name: deckhand-base
|
||||||
voting: true
|
abstract: true
|
||||||
description: |
|
roles:
|
||||||
Run tox-based functional tests for the Airship Deckhand project using a
|
- zuul: openstack/openstack-helm-infra
|
||||||
minimalistic deployment consisting of uwsgi for Deckhand API and pifpaf
|
- zuul: zuul/zuul-jobs
|
||||||
for ephemeral PostgreSQL DB, under cPython version 3.8.
|
required-projects:
|
||||||
run: tools/gate/playbooks/run-functional-tests-uwsgi.yaml
|
- name: openstack/openstack-helm
|
||||||
nodeset: deckhand-single-node-focal
|
- name: openstack/openstack-helm-infra
|
||||||
vars:
|
- name: airship/treasuremap
|
||||||
tox_envlist: py38-functional-dev
|
override-checkout: v1.9
|
||||||
distro: ubuntu_focal
|
|
||||||
irrelevant-files: &irrelevant-files
|
irrelevant-files: &irrelevant-files
|
||||||
- ^.*\.rst$
|
- ^.*\.rst$
|
||||||
- ^doc/.*$
|
- ^doc/.*$
|
||||||
@ -115,22 +115,43 @@
|
|||||||
- ^releasenotes/.*$
|
- ^releasenotes/.*$
|
||||||
- ^setup.cfg$
|
- ^setup.cfg$
|
||||||
- ^deckhand/tests/unit/.*$
|
- ^deckhand/tests/unit/.*$
|
||||||
|
timeout: 10800
|
||||||
- job:
|
|
||||||
name: deckhand-functional-docker-base
|
|
||||||
description: |
|
|
||||||
Base job for running deckhand functional tests. Runs tests
|
|
||||||
against Docker image generated from source code.
|
|
||||||
nodeset: deckhand-single-node-focal
|
|
||||||
roles:
|
|
||||||
- zuul: openstack/openstack-helm-infra
|
|
||||||
timeout: 3600
|
|
||||||
pre-run:
|
pre-run:
|
||||||
- tools/gate/playbooks/osh-infra-upgrade-host.yaml
|
- tools/gate/playbooks/prepare-hosts.yaml
|
||||||
- tools/gate/playbooks/osh-infra-deploy-docker.yaml
|
- tools/gate/playbooks/mount-volumes.yaml
|
||||||
run: tools/gate/playbooks/run-functional-tests-docker.yaml
|
- tools/gate/playbooks/deploy-env.yaml
|
||||||
required-projects:
|
run:
|
||||||
- openstack/openstack-helm-infra
|
- 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: "1.28.4-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:
|
- job:
|
||||||
name: deckhand-functional-docker-py38
|
name: deckhand-functional-docker-py38
|
||||||
@ -138,39 +159,67 @@
|
|||||||
Run tox-based functional tests for the Airship Deckhand project under
|
Run tox-based functional tests for the Airship Deckhand project under
|
||||||
cPython version 3.8. Uses tox with the ``functional-py38`` environment.
|
cPython version 3.8. Uses tox with the ``functional-py38`` environment.
|
||||||
Ubuntu (focal) image is built and used.
|
Ubuntu (focal) image is built and used.
|
||||||
parent: deckhand-functional-docker-base
|
parent: deckhand-base
|
||||||
nodeset: deckhand-single-node-focal
|
run: tools/gate/playbooks/run-functional-tests-docker.yaml
|
||||||
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
||||||
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:
|
||||||
|
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:
|
- job:
|
||||||
name: deckhand-integration-uwsgi-py38
|
name: deckhand-integration-uwsgi-py38
|
||||||
voting: true
|
|
||||||
description: |
|
description: |
|
||||||
Run tox-based integration tests for the Airship Deckhand project using a
|
Run tox-based integration tests for the Airship Deckhand project using a
|
||||||
minimalistic deployment consisting of uwsgi for Deckhand API and pifpaf
|
minimalistic deployment consisting of uwsgi for Deckhand API and pifpaf
|
||||||
for ephemeral PostgreSQL DB, under cPython version 3.8.
|
for ephemeral PostgreSQL DB, under cPython version 3.8.
|
||||||
timeout: 9600
|
parent: deckhand-base
|
||||||
run: tools/gate/playbooks/run-integration-tests-uwsgi.yaml
|
run: tools/gate/playbooks/run-integration-tests-uwsgi.yaml
|
||||||
nodeset: deckhand-single-node-focal
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
||||||
irrelevant-files: *irrelevant-files
|
irrelevant-files: *irrelevant-files
|
||||||
vars:
|
vars:
|
||||||
disable_keystone: true
|
disable_keystone: true
|
||||||
distro: ubuntu_focal
|
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:
|
- job:
|
||||||
name: deckhand-chart-build-gate
|
name: deckhand-chart-build-gate
|
||||||
description: |
|
description: |
|
||||||
Build charts using pinned Helm toolkit.
|
Build charts using pinned Helm toolkit.
|
||||||
timeout: 900
|
timeout: 900
|
||||||
run: tools/gate/playbooks/build-charts.yaml
|
run: tools/gate/playbooks/build-charts.yaml
|
||||||
nodeset: deckhand-single-node-focal
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
||||||
vars:
|
vars:
|
||||||
HTK_COMMIT: ae91cf3fc3f288b6d92ace4a3a405606a653638f
|
HTK_COMMIT: cfff60ec10a6c386f38db79bb9f59a552c2b032f
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: deckhand-chart-build-latest-htk
|
name: deckhand-chart-build-latest-htk
|
||||||
@ -178,53 +227,14 @@
|
|||||||
Build charts using latest Helm toolkit.
|
Build charts using latest Helm toolkit.
|
||||||
timeout: 900
|
timeout: 900
|
||||||
run: tools/gate/playbooks/build-charts.yaml
|
run: tools/gate/playbooks/build-charts.yaml
|
||||||
nodeset: deckhand-single-node-focal
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
||||||
vars:
|
vars:
|
||||||
HTK_COMMIT: master
|
HTK_COMMIT: master
|
||||||
|
|
||||||
- job:
|
|
||||||
name: deckhand-integration-docker-base
|
|
||||||
description: |
|
|
||||||
Base job for running deckhand integration tests. Runs tests
|
|
||||||
against Docker image generated from source code.
|
|
||||||
nodeset: deckhand-single-node-focal
|
|
||||||
timeout: 3600
|
|
||||||
roles:
|
|
||||||
- zuul: openstack/openstack-helm-infra
|
|
||||||
vars:
|
|
||||||
zuul_osh_relative_path: ../../openstack/openstack-helm/
|
|
||||||
zuul_osh_infra_relative_path: ../../openstack/openstack-helm-infra/
|
|
||||||
zuul_treasuremap_relative_path: ../../airship/treasuremap/
|
|
||||||
pre-run:
|
|
||||||
- tools/gate/playbooks/osh-infra-upgrade-host.yaml
|
|
||||||
- tools/gate/playbooks/osh-infra-deploy-docker.yaml
|
|
||||||
run:
|
|
||||||
- tools/gate/playbooks/run-integration-tests-docker.yaml
|
|
||||||
post-run: tools/gate/playbooks/osh-infra-collect-logs.yaml
|
|
||||||
required-projects:
|
|
||||||
- openstack/openstack-helm
|
|
||||||
- openstack/openstack-helm-infra
|
|
||||||
- airship/treasuremap
|
|
||||||
irrelevant-files:
|
|
||||||
- ^.*\.rst$
|
|
||||||
- ^doc/.*$
|
|
||||||
- ^releasenotes/.*$
|
|
||||||
|
|
||||||
- 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-integration-docker-base
|
|
||||||
nodeset: deckhand-single-node-focal
|
|
||||||
vars:
|
|
||||||
disable_keystone: false
|
|
||||||
distro: ubuntu_focal
|
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: deckhand-airskiff-deployment-focal
|
name: deckhand-airskiff-deployment-focal
|
||||||
voting: true
|
voting: true
|
||||||
nodeset: deckhand-single-node-airskiff-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
|
||||||
@ -243,17 +253,48 @@
|
|||||||
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
|
||||||
- ^.*\.rst$
|
|
||||||
- ^doc/.*$
|
|
||||||
- ^releasenotes/.*$
|
|
||||||
|
|
||||||
|
- 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
|
||||||
|
distro: ubuntu_focal
|
||||||
|
CLONE_DECKHAND: false
|
||||||
|
DECKHAND_IMAGE_DISTRO: ubuntu_focal
|
||||||
|
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/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:
|
- job:
|
||||||
name: deckhand-docker-build-gate
|
name: deckhand-docker-build-gate
|
||||||
timeout: 3600
|
timeout: 3600
|
||||||
run: tools/gate/playbooks/docker-image-build.yaml
|
run: tools/gate/playbooks/docker-image-build.yaml
|
||||||
nodeset: deckhand-single-node-focal
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
||||||
irrelevant-files: &non-code-files-template
|
irrelevant-files: &non-code-files-template
|
||||||
- ^.*\.rst$
|
- ^.*\.rst$
|
||||||
- ^doc/.*$
|
- ^doc/.*$
|
||||||
@ -276,7 +317,7 @@
|
|||||||
listed in vars section. Waits in Zuul queue for a node (VM) assignment.
|
listed in vars section. Waits in Zuul queue for a node (VM) assignment.
|
||||||
timeout: 3600
|
timeout: 3600
|
||||||
run: tools/gate/playbooks/docker-image-build.yaml
|
run: tools/gate/playbooks/docker-image-build.yaml
|
||||||
nodeset: deckhand-single-node-focal
|
nodeset: treasuremap-airskiff-1node-ubuntu_focal
|
||||||
secrets:
|
secrets:
|
||||||
- airship_deckhand_quay_creds
|
- airship_deckhand_quay_creds
|
||||||
irrelevant-files: *non-code-files-template
|
irrelevant-files: *non-code-files-template
|
||||||
|
@ -11,4 +11,5 @@ libsasl2-dev [platform:dpkg]
|
|||||||
libssl-dev [platform:dpkg]
|
libssl-dev [platform:dpkg]
|
||||||
libre2-dev [platform:dpkg]
|
libre2-dev [platform:dpkg]
|
||||||
postgresql [platform:dpkg]
|
postgresql [platform:dpkg]
|
||||||
|
postgresql-contrib [platform:dpkg]
|
||||||
ethtool [platform:dpkg]
|
ethtool [platform:dpkg]
|
||||||
|
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
|
||||||
|
...
|
@ -1,5 +1,3 @@
|
|||||||
# Copyright 2018 AT&T Intellectual Property. All other rights reserved.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
# You may obtain a copy of the License at
|
# You may obtain a copy of the License at
|
||||||
@ -12,12 +10,27 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
- name: Install PostgreSQL
|
---
|
||||||
shell: |-
|
- hosts: all
|
||||||
set -xe;
|
become: true
|
||||||
if [ -z $(which pg_config) ]; then
|
gather_facts: true
|
||||||
apt-get update -y
|
|
||||||
apt-get install postgresql postgresql-contrib -y
|
roles:
|
||||||
apt-get install libpq-dev -y
|
- ensure-python
|
||||||
fi
|
- ensure-pip
|
||||||
become: yes
|
- ensure-tox
|
||||||
|
- clear-firewall
|
||||||
|
- deploy-apparmor
|
||||||
|
- deploy-selenium
|
||||||
|
- deploy-env
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Install Packaging python module for tools/airship
|
||||||
|
block:
|
||||||
|
- pip:
|
||||||
|
name: packaging
|
||||||
|
version: 23.1
|
||||||
|
executable: pip3
|
||||||
|
become: True
|
||||||
|
|
||||||
|
...
|
@ -12,14 +12,15 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
- hosts: primary
|
- hosts: all
|
||||||
tasks:
|
tasks:
|
||||||
- name: Git config
|
- name: Git config
|
||||||
shell: |
|
shell: |
|
||||||
set -xe
|
set -xe;
|
||||||
|
|
||||||
tee .git/config << EOF
|
tee .git/config << EOF
|
||||||
[remote "origin"]
|
[remote "origin"]
|
||||||
url = https://opendev.org/airship/treasuremap.git
|
url = https://opendev.org/airship/treasuremap.git
|
||||||
EOF
|
EOF
|
||||||
args:
|
args:
|
||||||
chdir: "{{ zuul.projects['opendev.org/airship/treasuremap'].src_dir }}"
|
chdir: "{{ zuul.project.src_dir }}"
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
# Copyright 2018 AT&T Intellectual Property. All other rights reserved.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
# You may obtain a copy of the License at
|
# You may obtain a copy of the License at
|
||||||
@ -12,4 +10,8 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
- include: install-postgresql.yaml
|
---
|
||||||
|
- hosts: all
|
||||||
|
roles:
|
||||||
|
- mount-extra-volume
|
||||||
|
...
|
@ -13,8 +13,7 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
- hosts: primary
|
- hosts: primary
|
||||||
vars_files:
|
|
||||||
- vars.yaml
|
|
||||||
vars:
|
vars:
|
||||||
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
||||||
gather_facts: True
|
gather_facts: True
|
||||||
@ -24,8 +23,7 @@
|
|||||||
- build-helm-packages
|
- build-helm-packages
|
||||||
|
|
||||||
- hosts: all
|
- hosts: all
|
||||||
vars_files:
|
|
||||||
- vars.yaml
|
|
||||||
vars:
|
vars:
|
||||||
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
||||||
gather_facts: False
|
gather_facts: False
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
# Copyright 2017 The Openstack-Helm Authors.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
# You may obtain a copy of the License at
|
# You may obtain a copy of the License at
|
||||||
@ -12,17 +10,34 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
---
|
||||||
- hosts: all
|
- hosts: all
|
||||||
|
vars_files:
|
||||||
|
- vars.yaml
|
||||||
vars:
|
vars:
|
||||||
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
||||||
logs_dir: "/tmp/logs"
|
logs_dir: "/tmp/logs"
|
||||||
roles:
|
roles:
|
||||||
- gather-host-logs
|
- gather-host-logs
|
||||||
- helm-release-status
|
|
||||||
- describe-kubernetes-objects
|
|
||||||
- gather-pod-logs
|
|
||||||
tags:
|
tags:
|
||||||
- gather-host-logs
|
- 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
|
- helm-release-status
|
||||||
- describe-kubernetes-objects
|
- describe-kubernetes-objects
|
||||||
- gather-pod-logs
|
- 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
|
||||||
|
...
|
||||||
|
@ -1,50 +0,0 @@
|
|||||||
# Copyright 2017 The Openstack-Helm Authors.
|
|
||||||
#
|
|
||||||
# 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('') }}"
|
|
||||||
gather_facts: False
|
|
||||||
become: yes
|
|
||||||
roles:
|
|
||||||
- ensure-python
|
|
||||||
tags:
|
|
||||||
- ensure-python
|
|
||||||
|
|
||||||
- hosts: all
|
|
||||||
vars_files:
|
|
||||||
- vars.yaml
|
|
||||||
vars:
|
|
||||||
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
|
||||||
gather_facts: True
|
|
||||||
become: yes
|
|
||||||
|
|
||||||
roles:
|
|
||||||
- clear-firewall
|
|
||||||
- ensure-python
|
|
||||||
- ensure-pip
|
|
||||||
- ensure-docker
|
|
||||||
- ensure-tox
|
|
||||||
- install-test-requirements
|
|
||||||
- deploy-jq
|
|
||||||
tags:
|
|
||||||
- clear-firewall
|
|
||||||
- ensure-python
|
|
||||||
- ensure-pip
|
|
||||||
- ensure-docker
|
|
||||||
- ensure-tox
|
|
||||||
- install-test-requirements
|
|
||||||
- deploy-jq
|
|
@ -1,36 +0,0 @@
|
|||||||
# Copyright 2017 The Openstack-Helm Authors.
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
vars_files:
|
|
||||||
- vars.yaml
|
|
||||||
vars:
|
|
||||||
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
|
||||||
gather_facts: True
|
|
||||||
roles:
|
|
||||||
- build-helm-packages
|
|
||||||
- deploy-kubeadm-aio-master
|
|
||||||
tags:
|
|
||||||
- build-helm-packages
|
|
||||||
- deploy-kubeadm-aio-master
|
|
||||||
|
|
||||||
- hosts: nodes
|
|
||||||
vars_files:
|
|
||||||
- vars.yaml
|
|
||||||
vars:
|
|
||||||
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
|
||||||
roles:
|
|
||||||
- deploy-kubeadm-aio-node
|
|
||||||
tags:
|
|
||||||
- deploy-kubeadm-aio-node
|
|
@ -1,53 +0,0 @@
|
|||||||
# Copyright 2017 The Openstack-Helm Authors.
|
|
||||||
#
|
|
||||||
# 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('') }}"
|
|
||||||
gather_facts: False
|
|
||||||
become: yes
|
|
||||||
roles:
|
|
||||||
- ensure-python
|
|
||||||
tags:
|
|
||||||
- ensure-python
|
|
||||||
|
|
||||||
- hosts: all
|
|
||||||
vars_files:
|
|
||||||
- vars.yaml
|
|
||||||
vars:
|
|
||||||
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
|
||||||
gather_facts: True
|
|
||||||
become: yes
|
|
||||||
roles:
|
|
||||||
- upgrade-host
|
|
||||||
- start-zuul-console
|
|
||||||
- disable-local-nameserver
|
|
||||||
tags:
|
|
||||||
- upgrade-host
|
|
||||||
- start-zuul-console
|
|
||||||
- disable-local-nameserver
|
|
||||||
|
|
||||||
- hosts: all
|
|
||||||
vars_files:
|
|
||||||
- vars.yaml
|
|
||||||
vars:
|
|
||||||
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
|
||||||
gather_facts: False
|
|
||||||
become: yes
|
|
||||||
roles:
|
|
||||||
- deploy-apparmor
|
|
||||||
tags:
|
|
||||||
- deploy-apparmor
|
|
@ -1,5 +1,3 @@
|
|||||||
# Copyright 2018 AT&T Intellectual Property. All other rights reserved.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
# You may obtain a copy of the License at
|
# You may obtain a copy of the License at
|
||||||
@ -12,7 +10,9 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
---
|
||||||
- hosts: all
|
- hosts: all
|
||||||
gather_facts: False
|
|
||||||
roles:
|
roles:
|
||||||
- install-postgresql
|
- bindep
|
||||||
|
- start-zuul-console
|
||||||
|
...
|
@ -16,34 +16,10 @@
|
|||||||
gather_facts: False
|
gather_facts: False
|
||||||
become: yes
|
become: yes
|
||||||
roles:
|
roles:
|
||||||
|
- install-test-requirements
|
||||||
- build-images
|
- build-images
|
||||||
tags:
|
|
||||||
- build-images
|
|
||||||
|
|
||||||
- hosts: all
|
|
||||||
gather_facts: False
|
|
||||||
roles:
|
|
||||||
- deploy-postgresql
|
- deploy-postgresql
|
||||||
tags:
|
|
||||||
- deploy-postgresql
|
|
||||||
|
|
||||||
- hosts: all
|
|
||||||
gather_facts: False
|
|
||||||
roles:
|
|
||||||
- generate-test-config
|
- generate-test-config
|
||||||
tags:
|
|
||||||
- generate-test-config
|
|
||||||
|
|
||||||
- hosts: all
|
|
||||||
gather_facts: False
|
|
||||||
roles:
|
|
||||||
- deploy-deckhand
|
- deploy-deckhand
|
||||||
tags:
|
|
||||||
- deploy-deckhand
|
|
||||||
|
|
||||||
- hosts: all
|
|
||||||
gather_facts: False
|
|
||||||
roles:
|
|
||||||
- run-functional-tests
|
- run-functional-tests
|
||||||
tags:
|
|
||||||
- run-functional-tests
|
- run-functional-tests
|
||||||
|
@ -15,14 +15,5 @@
|
|||||||
- hosts: all
|
- hosts: all
|
||||||
gather_facts: False
|
gather_facts: False
|
||||||
roles:
|
roles:
|
||||||
- bindep
|
|
||||||
- ensure-docker
|
|
||||||
- ensure-python
|
|
||||||
- ensure-pip
|
|
||||||
- disable-systemd-resolved
|
|
||||||
- install-postgresql
|
|
||||||
- install-test-requirements
|
- install-test-requirements
|
||||||
- run-functional-tests
|
- run-functional-tests
|
||||||
tags:
|
|
||||||
- install-postgresql
|
|
||||||
- run-functional-tests
|
|
||||||
|
@ -13,15 +13,7 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
- hosts: all
|
- hosts: all
|
||||||
vars_files:
|
|
||||||
- vars.yaml
|
|
||||||
roles:
|
roles:
|
||||||
- clear-firewall
|
|
||||||
- bindep
|
|
||||||
- ensure-docker
|
|
||||||
- ensure-python
|
|
||||||
- ensure-pip
|
|
||||||
- disable-systemd-resolved
|
|
||||||
- install-test-requirements
|
- install-test-requirements
|
||||||
- deploy-keystone-dependencies
|
- deploy-keystone-dependencies
|
||||||
- deploy-barbican
|
- deploy-barbican
|
||||||
@ -34,12 +26,4 @@
|
|||||||
- generate-test-config
|
- generate-test-config
|
||||||
- deploy-deckhand
|
- deploy-deckhand
|
||||||
- run-integration-tests
|
- run-integration-tests
|
||||||
tags:
|
|
||||||
- build-images
|
|
||||||
- deploy-keystone-dependencies
|
|
||||||
- deploy-barbican
|
|
||||||
- build-charts
|
|
||||||
- deploy-postgresql
|
|
||||||
- generate-test-config
|
|
||||||
- deploy-deckhand
|
|
||||||
- run-integration-tests
|
|
||||||
|
@ -13,21 +13,9 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
- hosts: all
|
- hosts: all
|
||||||
vars_files:
|
|
||||||
- vars.yaml
|
|
||||||
gather_facts: False
|
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- clear-firewall
|
|
||||||
- bindep
|
|
||||||
- ensure-docker
|
|
||||||
- ensure-python
|
|
||||||
- ensure-pip
|
|
||||||
- disable-systemd-resolved
|
|
||||||
- install-postgresql
|
|
||||||
- install-test-requirements
|
- install-test-requirements
|
||||||
- run-integration-tests
|
- deploy-keystone-dependencies
|
||||||
|
- deploy-barbican
|
||||||
tags:
|
|
||||||
- install-postgresql
|
|
||||||
- run-integration-tests
|
- run-integration-tests
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
# Copyright 2017 The Openstack-Helm Authors.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
# you may not use this file except in compliance with the License.
|
# you may not use this file except in compliance with the License.
|
||||||
# You may obtain a copy of the License at
|
# You may obtain a copy of the License at
|
||||||
@ -12,5 +10,21 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
# zuul_airship_deckhand_relative_path: ../airship-deckhand
|
---
|
||||||
# barbican_stable_commit: 3ac3caa0138d44aa6031848d5b83802128a169b5
|
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.13.2-linux-amd64.tar.gz
|
||||||
|
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
|
||||||
|
...
|
67
tools/gate/roles/airship-run-script-set/tasks/main.yaml
Normal file
67
tools/gate/roles/airship-run-script-set/tasks/main.yaml
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
# 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.13.2-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: "{{ coredns_version | default('ubuntu_focal') }}"
|
||||||
|
CLONE_DECKHAND: "{{ coredns_version | default('false') }}"
|
||||||
|
DECKHAND_IMAGE_DISTRO: "{{ coredns_version | default('ubuntu_focal') }}"
|
||||||
|
# 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 }}"
|
||||||
|
...
|
30
tools/gate/roles/airship-run-script/defaults/main.yaml
Normal file
30
tools/gate/roles/airship-run-script/defaults/main.yaml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# 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.13.2-linux-amd64.tar.gz
|
||||||
|
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
|
||||||
|
...
|
43
tools/gate/roles/airship-run-script/tasks/main.yaml
Normal file
43
tools/gate/roles/airship-run-script/tasks/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.
|
||||||
|
|
||||||
|
---
|
||||||
|
- 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.13.2-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: "{{ coredns_version | default('ubuntu_focal') }}"
|
||||||
|
CLONE_DECKHAND: "{{ coredns_version | default('false') }}"
|
||||||
|
DECKHAND_IMAGE_DISTRO: "{{ coredns_version | default('ubuntu_focal') }}"
|
||||||
|
...
|
@ -17,24 +17,6 @@
|
|||||||
set_fact:
|
set_fact:
|
||||||
zuul_site_mirror_fqdn: "{{ lookup('env','zuul_site_mirror_fqdn') }}"
|
zuul_site_mirror_fqdn: "{{ lookup('env','zuul_site_mirror_fqdn') }}"
|
||||||
|
|
||||||
- name: Checkout treasuremap v1.9 branch
|
|
||||||
shell: |
|
|
||||||
set -xe;
|
|
||||||
git checkout v1.9
|
|
||||||
environment:
|
|
||||||
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
|
|
||||||
args:
|
|
||||||
chdir: "{{ zuul.project.src_dir }}/{{ zuul_treasuremap_relative_path | default('') }}"
|
|
||||||
|
|
||||||
- name: Deploy Kubernetes
|
|
||||||
shell: |
|
|
||||||
set -xe;
|
|
||||||
./tools/deployment/airskiff/developer/010-deploy-k8s.sh
|
|
||||||
environment:
|
|
||||||
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
|
|
||||||
args:
|
|
||||||
chdir: "{{ zuul.project.src_dir }}/{{ zuul_treasuremap_relative_path | default('') }}"
|
|
||||||
|
|
||||||
- name: Make OSH charts
|
- name: Make OSH charts
|
||||||
shell: |
|
shell: |
|
||||||
set -xe
|
set -xe
|
||||||
@ -53,6 +35,12 @@
|
|||||||
args:
|
args:
|
||||||
chdir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
chdir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
||||||
|
|
||||||
|
- name: Prepare kubernetes
|
||||||
|
shell: |
|
||||||
|
set -xe;
|
||||||
|
./tools/deployment/common/prepare-k8s.sh
|
||||||
|
args:
|
||||||
|
chdir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
|
||||||
|
|
||||||
- name: Setup docker-based openstack client
|
- name: Setup docker-based openstack client
|
||||||
shell: |
|
shell: |
|
||||||
@ -64,7 +52,7 @@
|
|||||||
- name: Deploy Ingress
|
- name: Deploy Ingress
|
||||||
shell: |
|
shell: |
|
||||||
set -xe;
|
set -xe;
|
||||||
./tools/deployment/component/common/ingress.sh
|
./tools/deployment/common/ingress.sh
|
||||||
args:
|
args:
|
||||||
chdir: "{{ zuul.project.src_dir }}/{{ zuul_osh_relative_path | default('') }}"
|
chdir: "{{ zuul.project.src_dir }}/{{ zuul_osh_relative_path | default('') }}"
|
||||||
|
|
||||||
|
@ -59,16 +59,6 @@
|
|||||||
sudo -E -H pip3 install -r requirements-frozen.txt
|
sudo -E -H pip3 install -r requirements-frozen.txt
|
||||||
echo "$(pwd)" | sudo tee /usr/local/lib/python3.8/dist-packages/deckhand.pth
|
echo "$(pwd)" | sudo tee /usr/local/lib/python3.8/dist-packages/deckhand.pth
|
||||||
|
|
||||||
sudo fdisk --list
|
|
||||||
df -h
|
|
||||||
sudo mkdir -p /opt/ext_vol
|
|
||||||
BIG_VOLUME=$(sudo fdisk -l 2>&1 | grep -E 80G | grep Linux | awk '{print $1}')
|
|
||||||
if ! mount | grep "${BIG_VOLUME}"
|
|
||||||
then
|
|
||||||
sudo mkfs.ext4 "${BIG_VOLUME}"
|
|
||||||
sudo mount "${BIG_VOLUME}" /opt/ext_vol
|
|
||||||
df -h
|
|
||||||
fi
|
|
||||||
pifpaf run postgresql -- ./tools/integration-tests.sh
|
pifpaf run postgresql -- ./tools/integration-tests.sh
|
||||||
args:
|
args:
|
||||||
chdir: "{{ zuul.project.src_dir }}"
|
chdir: "{{ zuul.project.src_dir }}"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
set -x
|
set -x
|
||||||
|
|
||||||
HELM=$1
|
HELM=$1
|
||||||
HELM_ARTIFACT_URL=${HELM_ARTIFACT_URL:-"https://get.helm.sh/helm-v3.12.2-linux-amd64.tar.gz"}
|
HELM_ARTIFACT_URL=${HELM_ARTIFACT_URL:-"https://get.helm.sh/helm-v3.13.2-linux-amd64.tar.gz"}
|
||||||
|
|
||||||
|
|
||||||
function install_helm_binary {
|
function install_helm_binary {
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
set -eux
|
set -eux
|
||||||
|
|
||||||
HTK_REPO=${HTK_REPO:-"https://opendev.org/openstack/openstack-helm-infra.git"}
|
HTK_REPO=${HTK_REPO:-"https://opendev.org/openstack/openstack-helm-infra.git"}
|
||||||
HTK_STABLE_COMMIT=${HTK_COMMIT:-"d0c93b5648704b9d9999412d932f8329c80362c0"}
|
HTK_STABLE_COMMIT=${HTK_COMMIT:-"cfff60ec10a6c386f38db79bb9f59a552c2b032f"}
|
||||||
|
|
||||||
TMP_DIR=$(mktemp -d)
|
TMP_DIR=$(mktemp -d)
|
||||||
|
|
||||||
|
@ -27,74 +27,6 @@ export MAKE_CHARTS_PORTHOLE="${MAKE_CHARTS_PORTHOLE:-false}"
|
|||||||
export MAKE_CHARTS_PROMENADE="${MAKE_CHARTS_PROMENADE:-false}"
|
export MAKE_CHARTS_PROMENADE="${MAKE_CHARTS_PROMENADE:-false}"
|
||||||
|
|
||||||
|
|
||||||
function deploy_barbican {
|
|
||||||
set -xe
|
|
||||||
|
|
||||||
# Pull images and lint chart
|
|
||||||
make pull-images barbican
|
|
||||||
|
|
||||||
# Deploy command
|
|
||||||
helm upgrade --install barbican ./barbican \
|
|
||||||
--namespace=openstack
|
|
||||||
|
|
||||||
# Wait for deploy
|
|
||||||
./tools/deployment/common/wait-for-pods.sh openstack
|
|
||||||
|
|
||||||
# Validate deployment info
|
|
||||||
helm status barbican -n openstack
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function deploy_osh_keystone_barbican {
|
|
||||||
set -xe
|
|
||||||
|
|
||||||
if [ ! -d "$OSH_INFRA_PATH" ]; then
|
|
||||||
git clone https://git.openstack.org/openstack/openstack-helm-infra.git ../openstack-helm-infra
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d "$OSH_PATH" ]; then
|
|
||||||
git clone https://git.openstack.org/openstack/openstack-helm.git ../openstack-helm
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d "$TM_PATH" ]; then
|
|
||||||
git clone https://git.openstack.org/airship/treasuremap.git ../treasuremap
|
|
||||||
pushd ../treasuremap
|
|
||||||
git checkout v1.9
|
|
||||||
popd
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "${TM_PATH}"
|
|
||||||
# Deploy required packages
|
|
||||||
./tools/deployment/airskiff/developer/009-setup-apparmor.sh
|
|
||||||
#
|
|
||||||
# Deploy Kubernetes
|
|
||||||
./tools/deployment/airskiff/developer/010-deploy-k8s.sh
|
|
||||||
#
|
|
||||||
# Make charts
|
|
||||||
./tools/deployment/airskiff/developer/015-make-all-charts.sh
|
|
||||||
#
|
|
||||||
# Deploy docker-based openstack client
|
|
||||||
./tools/deployment/airskiff/developer/020-setup-client.sh
|
|
||||||
|
|
||||||
|
|
||||||
cd "${OSH_PATH}"
|
|
||||||
# Deploy the ingress controller
|
|
||||||
./tools/deployment/component/common/ingress.sh
|
|
||||||
# Deploy NFS Provisioner
|
|
||||||
./tools/deployment/component/nfs-provisioner/nfs-provisioner.sh
|
|
||||||
# Deploy MariaDB
|
|
||||||
./tools/deployment/component/common/mariadb.sh
|
|
||||||
# Deploy RabbitMQ
|
|
||||||
./tools/deployment/component/common/rabbitmq.sh
|
|
||||||
# Deploy Memcached
|
|
||||||
./tools/deployment/component/common/memcached.sh
|
|
||||||
# Deploy Keystone
|
|
||||||
./tools/deployment/component/keystone/keystone.sh
|
|
||||||
|
|
||||||
deploy_barbican
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function deploy_deckhand {
|
function deploy_deckhand {
|
||||||
set -xe
|
set -xe
|
||||||
|
|
||||||
@ -177,9 +109,6 @@ source ${CURRENT_DIR}/tools/common-tests.sh
|
|||||||
|
|
||||||
export AIRSHIP_DECKHAND_DATABASE_URL=${PIFPAF_POSTGRESQL_URL}
|
export AIRSHIP_DECKHAND_DATABASE_URL=${PIFPAF_POSTGRESQL_URL}
|
||||||
|
|
||||||
# Clone openstack-helm-infra and setup host and k8s.
|
|
||||||
deploy_osh_keystone_barbican
|
|
||||||
|
|
||||||
# Deploy Deckhand.
|
# Deploy Deckhand.
|
||||||
deploy_deckhand
|
deploy_deckhand
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user