From febd6b1cd690f6d8bed9ed0a2ff43312f73e07f0 Mon Sep 17 00:00:00 2001 From: Sergiy Markin Date: Wed, 13 Mar 2024 20:25:30 +0000 Subject: [PATCH] Add Airskiff armada-operator deployment This PS adds a gate tha deploys armada-operator and uses it to deploy Airskiff rediced site. Change-Id: Iba15ab127ea414a8ff26ed4bd9d7a4f0cfd880d5 --- .zuul.yaml | 36 +++++- .../charts/osh/openstack-cinder/cinder.yaml | 25 ---- .../charts/osh/openstack-glance/glance.yaml | 25 ---- .../charts/osh/openstack-heat/heat.yaml | 25 ---- global/software/config/versions.yaml | 53 ++++----- tools/airship | 45 ++++++- tools/deployment/airskiff/common/sleep.sh | 13 ++- .../developer/000-clone-dependencies.sh | 12 ++ .../airskiff/developer/015-make-all-charts.sh | 3 +- .../airskiff/developer/017-make-all-images.sh | 26 +++++ .../developer/027-enable-armada-operator.sh | 4 + .../developer/030-armada-bootstrap.sh | 13 ++- tools/gate/manifests/armada.yaml | 110 ++++++++++++++++++ .../airship-run-script-set/defaults/main.yaml | 11 +- .../airship-run-script-set/tasks/main.yaml | 11 +- .../airship-run-script/defaults/main.yaml | 12 +- .../roles/airship-run-script/tasks/main.yaml | 11 +- type/skiff/charts/ucp/armada/armada.yaml | 12 +- type/skiff/charts/ucp/deckhand/deckhand.yaml | 12 +- type/skiff/charts/ucp/shipyard/shipyard.yaml | 12 +- 20 files changed, 314 insertions(+), 157 deletions(-) create mode 100755 tools/deployment/airskiff/developer/027-enable-armada-operator.sh create mode 100644 tools/gate/manifests/armada.yaml diff --git a/.zuul.yaml b/.zuul.yaml index 2c918ce24..f973c7e74 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -24,14 +24,12 @@ - treasuremap-airskiff-suse-site-lint - treasuremap-airsloop-site-lint - treasuremap-aiab-site-lint - # deprecated - # - treasuremap-airskiff-deployment-ubuntu - # disabled # TODO # update OSH charts vaoues in manifests and add more # charts to full-site manifests # - treasuremap-airskiff-multinode-full-site - treasuremap-airskiff-1node-reduced-site + - treasuremap-airskiff-1node-reduced-site-armada-operator gate: jobs: - treasuremap-seaworthy-site-lint @@ -206,6 +204,38 @@ - ./tools/gate/wait-for-shipyard.sh # - ./tools/deployment/airskiff/common/sleep.sh +- job: + name: treasuremap-airskiff-1node-reduced-site-armada-operator + parent: treasuremap-airskiff-infra-deploy + nodeset: treasuremap-airskiff-1node-ubuntu_focal + description: | + Deploy Openstack using Airskiff and latest Treasuremap changes. + Airskiff is using latest Airship v1.x based on Airflow-2.6.2 + voting: true + 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 + USE_ARMADA_GO: true + gate_scripts_relative_path: . + 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/027-enable-armada-operator.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 + # - ./tools/deployment/airskiff/common/sleep.sh + - job: name: treasuremap-site-lint diff --git a/global/software/charts/osh/openstack-cinder/cinder.yaml b/global/software/charts/osh/openstack-cinder/cinder.yaml index f47fa02cb..d01f956f2 100644 --- a/global/software/charts/osh/openstack-cinder/cinder.yaml +++ b/global/software/charts/osh/openstack-cinder/cinder.yaml @@ -292,29 +292,4 @@ data: class: oslo_log.formatters.ContextFormatter formatter_default: format: "%(message)s" - dependencies: - - cinder-htk -... ---- -schema: armada/Chart/v1 -metadata: - schema: metadata/Document/v1 - name: cinder-htk - layeringDefinition: - abstract: false - layer: global - storagePolicy: cleartext - substitutions: - - src: - schema: pegleg/SoftwareVersions/v1 - name: software-versions - path: .charts.osh.cinder-htk - dest: - path: .source -data: - chart_name: cinder-htk - release: cinder-htk - namespace: cinder-htk - values: {} - dependencies: [] ... diff --git a/global/software/charts/osh/openstack-glance/glance.yaml b/global/software/charts/osh/openstack-glance/glance.yaml index c0d5535f6..ee7436e13 100644 --- a/global/software/charts/osh/openstack-glance/glance.yaml +++ b/global/software/charts/osh/openstack-glance/glance.yaml @@ -343,29 +343,4 @@ data: class: oslo_log.formatters.ContextFormatter formatter_default: format: "%(message)s" - dependencies: - - glance-htk -... ---- -schema: armada/Chart/v1 -metadata: - schema: metadata/Document/v1 - name: glance-htk - layeringDefinition: - abstract: false - layer: global - storagePolicy: cleartext - substitutions: - - src: - schema: pegleg/SoftwareVersions/v1 - name: software-versions - path: .charts.osh.glance-htk - dest: - path: .source -data: - chart_name: glance-htk - release: glance-htk - namespace: glance-htk - values: {} - dependencies: [] ... diff --git a/global/software/charts/osh/openstack-heat/heat.yaml b/global/software/charts/osh/openstack-heat/heat.yaml index 4a8eecc62..fd66719ec 100644 --- a/global/software/charts/osh/openstack-heat/heat.yaml +++ b/global/software/charts/osh/openstack-heat/heat.yaml @@ -298,29 +298,4 @@ data: class: oslo_log.formatters.ContextFormatter formatter_default: format: "%(message)s" - dependencies: - - heat-htk -... ---- -schema: armada/Chart/v1 -metadata: - schema: metadata/Document/v1 - name: heat-htk - layeringDefinition: - abstract: false - layer: global - storagePolicy: cleartext - substitutions: - - src: - schema: pegleg/SoftwareVersions/v1 - name: software-versions - path: .charts.osh.heat-htk - dest: - path: .source -data: - chart_name: heat-htk - release: heat-htk - namespace: heat-htk - values: {} - dependencies: [] ... diff --git a/global/software/config/versions.yaml b/global/software/config/versions.yaml index c7fccb840..8f1cc1e36 100644 --- a/global/software/config/versions.yaml +++ b/global/software/config/versions.yaml @@ -45,40 +45,21 @@ data: type: tar osh: barbican: - location: https://opendev.org/openstack/openstack-helm - reference: 536eaed62d55eca694eaae0c50df910dbb55fff7 + location: http://control-plane.minikube.internal:8282/barbican.tgz subpath: barbican - type: git + type: tar cinder: - location: https://opendev.org/openstack/openstack-helm - reference: 536eaed62d55eca694eaae0c50df910dbb55fff7 + location: http://control-plane.minikube.internal:8282/cinder.tgz subpath: cinder - type: git - cinder-htk: - location: https://opendev.org/openstack/openstack-helm-infra - reference: 97ce6d7d8e9a090c748800d69a57bbd9af698b60 - subpath: helm-toolkit - type: git + type: tar glance: - location: https://opendev.org/openstack/openstack-helm - reference: 536eaed62d55eca694eaae0c50df910dbb55fff7 + location: http://control-plane.minikube.internal:8282/glance.tgz subpath: glance - type: git - glance-htk: - location: https://opendev.org/openstack/openstack-helm-infra - reference: 97ce6d7d8e9a090c748800d69a57bbd9af698b60 - subpath: helm-toolkit - type: git + type: tar heat: - location: https://opendev.org/openstack/openstack-helm - reference: 536eaed62d55eca694eaae0c50df910dbb55fff7 + location: http://control-plane.minikube.internal:8282/heat.tgz subpath: heat - type: git - heat-htk: - location: https://opendev.org/openstack/openstack-helm-infra - reference: 97ce6d7d8e9a090c748800d69a57bbd9af698b60 - subpath: helm-toolkit - type: git + type: tar helm_toolkit: location: http://control-plane.minikube.internal:8282/helm-toolkit.tgz subpath: helm-toolkit @@ -206,10 +187,9 @@ data: subpath: nagios type: git nfs_provisioner: - location: https://opendev.org/openstack/openstack-helm-infra - reference: 97ce6d7d8e9a090c748800d69a57bbd9af698b60 + location: http://control-plane.minikube.internal:8282/nfs-provisioner.tgz subpath: nfs-provisioner - type: git + type: tar podsecuritypolicy: location: https://opendev.org/openstack/openstack-helm-infra reference: 97ce6d7d8e9a090c748800d69a57bbd9af698b60 @@ -795,6 +775,19 @@ data: ks_endpoints: docker.io/openstackhelm/heat:newton ks_service: docker.io/openstackhelm/heat:newton ks_user: docker.io/openstackhelm/heat:newton + image_repo_sync: docker.io/docker:17.07.0 + tiller: ghcr.io/helm/tiller:v2.17.0 + armada-operator: + api: quay.io/airshipit/armada-go:latest-ubuntu_focal + go: quay.io/airshipit/armada-go:latest-ubuntu_focal + operator: quay.io/airshipit/armada-operator:latest-ubuntu_focal + dep_check: quay.io/airshipit/kubernetes-entrypoint:v1.0.0 + helm: docker.io/lachlanevenson/k8s-helm:v2.16.9 + ks_endpoints: docker.io/openstackhelm/heat:newton + ks_service: docker.io/openstackhelm/heat:newton + ks_user: docker.io/openstackhelm/heat:newton + image_repo_sync: docker.io/docker:17.07.0 + test: quay.io/airshipit/porthole-compute-utility:latest-ubuntu_focal tiller: ghcr.io/helm/tiller:v2.17.0 barbican: bootstrap: docker.io/openstackhelm/heat:wallaby-ubuntu_focal diff --git a/tools/airship b/tools/airship index ae3be9355..d446171d6 100755 --- a/tools/airship +++ b/tools/airship @@ -209,12 +209,51 @@ armada() { -u "${USER}:${GROUP}" \ -v ${HOME}/.kube/config:/armada/.kube/config \ -v "$(pwd)"/airskiff.yaml:/airskiff.yaml \ - -v "${REPO_DIR}"/../:/airship-components \ --env-file $ENV_FILE \ $IMAGE_ARMADA $@ } +armada-operator() { + + # create CRDs + kubectl apply -f ../armada-operator/config/crd/bases/ + + versions_lookup "['data']['images']['ucp']['armada-operator']['operator']" + + IMAGE_ARMADA_OPERATOR=$IMAGE_URL + docker run -d --net host $TERM_OPTS \ + -u "${USER}:${GROUP}" \ + -v ${HOME}/.kube/config:/armada/.kube/config \ + -e KUBECONFIG=/armada/.kube/config \ + --env-file $ENV_FILE \ + --name armada-operator \ + $IMAGE_ARMADA_OPERATOR /manager + + # Wait for the container to start running + while true; do + if [[ "$(docker inspect -f '{{.State.Running}}' "armada-operator" )" == "true" ]]; then + break + fi + sleep 10 + done + + versions_lookup "['data']['images']['ucp']['armada-operator']['go']" + + IMAGE_ARMADA_GO=$IMAGE_URL + docker run --rm --net host $TERM_OPTS \ + -u "${USER}:${GROUP}" \ + -v ${HOME}/.kube/config:/armada/.kube/config \ + -e KUBECONFIG=/armada/.kube/config \ + -v "$(pwd)"/airskiff.yaml:/airskiff.yaml \ + --env-file $ENV_FILE \ + $IMAGE_ARMADA_GO $@ + + docker logs armada-operator + + docker rm --force armada-operator || true +} + case "$1" in 'pegleg') @@ -231,6 +270,10 @@ case "$1" in shift; armada $@ ;; +'armada-operator') + shift; + armada-operator $@ + ;; *) help exit 1 ;; diff --git a/tools/deployment/airskiff/common/sleep.sh b/tools/deployment/airskiff/common/sleep.sh index e379bf927..90bb3d53f 100755 --- a/tools/deployment/airskiff/common/sleep.sh +++ b/tools/deployment/airskiff/common/sleep.sh @@ -1,5 +1,16 @@ #!/bin/bash -set -ex +env_output=$(env) +# Loop through each line of the env output +while IFS= read -r line; do + # Extract the variable name and value + variable=$(echo "$line" | cut -d= -f1) + value=$(echo "$line" | cut -d= -f2-) + + # Print the export command + echo "export $variable=\"$value\"" +done <<< "$env_output" + +echo "Sleeping.............." while true; do sleep 10; done diff --git a/tools/deployment/airskiff/developer/000-clone-dependencies.sh b/tools/deployment/airskiff/developer/000-clone-dependencies.sh index 662e30a00..73762a9a7 100755 --- a/tools/deployment/airskiff/developer/000-clone-dependencies.sh +++ b/tools/deployment/airskiff/developer/000-clone-dependencies.sh @@ -21,6 +21,8 @@ set -xe : "${OSH_COMMIT:="2d9457e34ca4200ed631466bd87569b0214c92e7"}" : "${OSH_INFRA_COMMIT:="cfff60ec10a6c386f38db79bb9f59a552c2b032f"}" : "${CLONE_ARMADA:=true}" +: "${CLONE_ARMADA_GO:=true}" +: "${CLONE_ARMADA_OPERATOR:=true}" : "${CLONE_DECKHAND:=true}" : "${CLONE_SHIPYARD:=true}" : "${CLONE_PORTHOLE:=true}" @@ -29,6 +31,8 @@ set -xe : "${CLONE_OSH:=true}" CLONE_ARMADA=$(echo "$CLONE_ARMADA" | tr '[:upper:]' '[:lower:]') +CLONE_ARMADA_GO=$(echo "$CLONE_ARMADA_GO" | tr '[:upper:]' '[:lower:]') +CLONE_ARMADA_OPERATOR=$(echo "$CLONE_ARMADA_OPERATOR" | tr '[:upper:]' '[:lower:]') CLONE_DECKHAND=$(echo "$CLONE_DECKHAND" | tr '[:upper:]' '[:lower:]') CLONE_SHIPYARD=$(echo "$CLONE_SHIPYARD" | tr '[:upper:]' '[:lower:]') CLONE_PORTHOLE=$(echo "$CLONE_PORTHOLE" | tr '[:upper:]' '[:lower:]') @@ -37,6 +41,8 @@ CLONE_MAAS=$(echo "$CLONE_MAAS" | tr '[:upper:]' '[:lower:]') CLONE_OSH=$(echo "$CLONE_OSH" | tr '[:upper:]' '[:lower:]') export CLONE_ARMADA +export CLONE_ARMADA_GO +export CLONE_ARMADA_OPERATOR export CLONE_DECKHAND export CLONE_SHIPYARD export CLONE_PORTHOLE @@ -50,6 +56,12 @@ cd "${INSTALL_PATH}" if [[ ${CLONE_ARMADA} = true ]] ; then git clone https://opendev.org/airship/armada.git fi +if [[ ${CLONE_ARMADA_GO} = true ]] ; then + git clone https://opendev.org/airship/armada-go.git +fi +if [[ ${CLONE_ARMADA_OPERATOR} = true ]] ; then + git clone https://opendev.org/airship/armada-operator.git +fi if [[ ${CLONE_DECKHAND} = true ]] ; then git clone https://opendev.org/airship/deckhand.git fi diff --git a/tools/deployment/airskiff/developer/015-make-all-charts.sh b/tools/deployment/airskiff/developer/015-make-all-charts.sh index 4ead4a52d..2dd76a0e9 100755 --- a/tools/deployment/airskiff/developer/015-make-all-charts.sh +++ b/tools/deployment/airskiff/developer/015-make-all-charts.sh @@ -129,5 +129,4 @@ if [[ ${MAKE_CHARTS_PROMENADE} = true ]] ; then popd fi -cd "${CURRENT_DIR}" -df -h \ No newline at end of file +cd "${CURRENT_DIR}" \ No newline at end of file diff --git a/tools/deployment/airskiff/developer/017-make-all-images.sh b/tools/deployment/airskiff/developer/017-make-all-images.sh index 7f59521b6..b6a93d074 100755 --- a/tools/deployment/airskiff/developer/017-make-all-images.sh +++ b/tools/deployment/airskiff/developer/017-make-all-images.sh @@ -22,6 +22,8 @@ CURRENT_DIR="$(pwd)" : "${DISTRO:=ubuntu_focal}" : "${DOCKER_REGISTRY:=localhost:5000}" : "${MAKE_ARMADA_IMAGES:=false}" +: "${MAKE_ARMADA_GO_IMAGES:=false}" +: "${MAKE_ARMADA_OPERATOR_IMAGES:=false}" : "${MAKE_DECKHAND_IMAGES:=false}" : "${MAKE_SHIPYARD_IMAGES:=false}" : "${MAKE_PORTHOLE_IMAGES:=false}" @@ -29,12 +31,16 @@ CURRENT_DIR="$(pwd)" # Convert both values to lowercase (or uppercase) MAKE_ARMADA_IMAGES=$(echo "$MAKE_ARMADA_IMAGES" | tr '[:upper:]' '[:lower:]') +MAKE_ARMADA_GO_IMAGES=$(echo "$MAKE_ARMADA_GO_IMAGES" | tr '[:upper:]' '[:lower:]') +MAKE_ARMADA_OPERATOR_IMAGES=$(echo "$MAKE_ARMADA_OPERATOR_IMAGES" | tr '[:upper:]' '[:lower:]') MAKE_DECKHAND_IMAGES=$(echo "$MAKE_DECKHAND_IMAGES" | tr '[:upper:]' '[:lower:]') MAKE_SHIPYARD_IMAGES=$(echo "$MAKE_SHIPYARD_IMAGES" | tr '[:upper:]' '[:lower:]') MAKE_PORTHOLE_IMAGES=$(echo "$MAKE_PORTHOLE_IMAGES" | tr '[:upper:]' '[:lower:]') MAKE_PROMENADE_IMAGES=$(echo "$MAKE_PROMENADE_IMAGES" | tr '[:upper:]' '[:lower:]') export MAKE_ARMADA_IMAGES +export MAKE_ARMADA_GO_IMAGES +export MAKE_ARMADA_OPERATOR_IMAGES export MAKE_DECKHAND_IMAGES export MAKE_SHIPYARD_IMAGES export MAKE_PORTHOLE_IMAGES @@ -58,6 +64,26 @@ if [[ ${MAKE_ARMADA_IMAGES} = true ]] ; then sed -i "s#quay.io/airshipit/armada:latest-${DISTRO}#${DOCKER_REGISTRY}/airshipit/armada:latest-${DISTRO}#g" ./global/software/config/versions.yaml popd fi +if [[ ${MAKE_ARMADA_GO_IMAGES} = true ]] ; then + pushd armada-go + make images + docker push "${DOCKER_REGISTRY}/airshipit/armada-go:latest-${DISTRO}" + popd + pushd treasuremap + sed -i "s#quay.io/airshipit/armada-go:latest-${DISTRO}#${DOCKER_REGISTRY}/airshipit/armada-go:latest-${DISTRO}#g" ./site/airskiff/software/config/versions.yaml + sed -i "s#quay.io/airshipit/armada-go:latest-${DISTRO}#${DOCKER_REGISTRY}/airshipit/armada-go:latest-${DISTRO}#g" ./global/software/config/versions.yaml + popd +fi +if [[ ${MAKE_ARMADA_OPERATOR_IMAGES} = true ]] ; then + pushd armada-operator + make images + docker push "${DOCKER_REGISTRY}/airshipit/armada-operator:latest-${DISTRO}" + popd + pushd treasuremap + sed -i "s#quay.io/airshipit/armada-operator:latest-${DISTRO}#${DOCKER_REGISTRY}/airshipit/armada-operator:latest-${DISTRO}#g" ./site/airskiff/software/config/versions.yaml + sed -i "s#quay.io/airshipit/armada-operator:latest-${DISTRO}#${DOCKER_REGISTRY}/airshipit/armada-operator:latest-${DISTRO}#g" ./global/software/config/versions.yaml + popd +fi if [[ ${MAKE_DECKHAND_IMAGES} = true ]] ; then pushd deckhand make images diff --git a/tools/deployment/airskiff/developer/027-enable-armada-operator.sh b/tools/deployment/airskiff/developer/027-enable-armada-operator.sh new file mode 100755 index 000000000..435c4d897 --- /dev/null +++ b/tools/deployment/airskiff/developer/027-enable-armada-operator.sh @@ -0,0 +1,4 @@ +#!/bin/bash + + +cp -a tools/gate/manifests/armada.yaml global/software/charts/ucp/armada/armada.yaml diff --git a/tools/deployment/airskiff/developer/030-armada-bootstrap.sh b/tools/deployment/airskiff/developer/030-armada-bootstrap.sh index 7a00ab74a..05092e7f9 100755 --- a/tools/deployment/airskiff/developer/030-armada-bootstrap.sh +++ b/tools/deployment/airskiff/developer/030-armada-bootstrap.sh @@ -21,8 +21,12 @@ set -xe : "${PEGLEG:="./tools/airship pegleg"}" : "${PL_SITE:="airskiff"}" : "${ARMADA:="./tools/airship armada"}" +: "${ARMADA_OPERATOR:="./tools/airship armada-operator"}" : "${TARGET_MANIFEST:="cluster-bootstrap"}" +: "${USE_ARMADA_GO:=false}" +USE_ARMADA_GO=$(echo "$USE_ARMADA_GO" | tr '[:upper:]' '[:lower:]') +export USE_ARMADA_GO # Render documents ${PEGLEG} site -r . render "${PL_SITE}" -o airskiff.yaml @@ -36,10 +40,13 @@ sudo chmod 0644 airskiff.yaml # sudo chmod 0644 ~/.kube/config # Download latest Armada image and deploy Airship components -${ARMADA} apply /airskiff.yaml --debug --target-manifest "${TARGET_MANIFEST}" - +if [[ ${USE_ARMADA_GO} = true ]] ; then + ${ARMADA_OPERATOR} apply /airskiff.yaml --debug --target-manifest "${TARGET_MANIFEST}" +else + ${ARMADA} apply /airskiff.yaml --debug --target-manifest "${TARGET_MANIFEST}" +fi # # Set back permissions of the files sudo chmod "${AIRSKIFF_PERMISSIONS}" airskiff.yaml # sudo chmod "${KUBE_CONFIG_PERMISSIONS}" ~/.kube/config -df -h \ No newline at end of file +kubectl get pods -A diff --git a/tools/gate/manifests/armada.yaml b/tools/gate/manifests/armada.yaml new file mode 100644 index 000000000..959f901d4 --- /dev/null +++ b/tools/gate/manifests/armada.yaml @@ -0,0 +1,110 @@ +--- +schema: armada/Chart/v1 +metadata: + schema: metadata/Document/v1 + name: ucp-armada + labels: + name: ucp-armada-global + layeringDefinition: + abstract: false + layer: global + storagePolicy: cleartext + substitutions: + # Chart source + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .charts.ucp.armada + dest: + path: .source + + # Images + - src: + schema: pegleg/SoftwareVersions/v1 + name: software-versions + path: .images.ucp.armada-operator + dest: + path: .values.images.tags + + # Endpoints + - src: + schema: pegleg/EndpointCatalogue/v1 + name: ucp_endpoints + path: .ucp.identity + dest: + path: .values.endpoints.identity + - src: + schema: pegleg/EndpointCatalogue/v1 + name: ucp_endpoints + path: .ucp.armada + dest: + path: .values.endpoints.armada + + # Credentials + - src: + schema: pegleg/AccountCatalogue/v1 + name: ucp_service_accounts + path: .ucp.keystone.admin + dest: + path: .values.endpoints.identity.auth.admin + - src: + schema: pegleg/AccountCatalogue/v1 + name: ucp_service_accounts + path: .ucp.armada.keystone + dest: + path: .values.endpoints.identity.auth.user + + # Secrets + - dest: + path: .values.endpoints.identity.auth.admin.password + src: + schema: deckhand/Passphrase/v1 + name: ucp_keystone_admin_password + path: . + - dest: + path: .values.endpoints.identity.auth.user.password + src: + schema: deckhand/Passphrase/v1 + name: ucp_armada_keystone_password + path: . +data: + chart_name: armada + release: ucp-armada + namespace: ucp + wait: + timeout: 100 + labels: + release_group: airship-ucp-armada + install: + no_hooks: false + upgrade: + no_hooks: false + pre: + delete: + - type: job + labels: + release_group: airship-ucp-armada + values: + pod: + replicas: + api: 2 + env: + armada_api: + - name: ARMADA_UWSGI_TIMEOUT + value: 14400 + conf: + armada: + DEFAULT: + debug: true + enable_operator: true + tiller_namespace: kube-system + manifests: + deployment_tiller: false + service_tiller_deploy: false + network: + api: + ingress: + classes: + namespace: "ucp-ingress" + cluster: "ucp-ingress" +... diff --git a/tools/gate/playbooks/roles/airship-run-script-set/defaults/main.yaml b/tools/gate/playbooks/roles/airship-run-script-set/defaults/main.yaml index 725f4b23e..7c0841487 100644 --- a/tools/gate/playbooks/roles/airship-run-script-set/defaults/main.yaml +++ b/tools/gate/playbooks/roles/airship-run-script-set/defaults/main.yaml @@ -26,12 +26,9 @@ OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7 COREDNS_VERSION: v1.11.1 DISTRO: ubuntu_focal DOCKER_REGISTRY: quay.io -MAKE_ARMADA_IMAGES: false -MAKE_DECKHAND_IMAGES: false -MAKE_SHIPYARD_IMAGES: false -MAKE_PORTHOLE_IMAGES: false -MAKE_PROMENADE_IMAGES: false CLONE_ARMADA: true +CLONE_ARMADA_GO: true +CLONE_ARMADA_OPERATOR: true CLONE_DECKHAND: true CLONE_SHIPYARD: true CLONE_PORTHOLE: true @@ -39,9 +36,11 @@ CLONE_PROMENADE: true CLONE_MAAS: true CLONE_OSH: true MAKE_ARMADA_IMAGES: false +MAKE_ARMADA_GO_IMAGES: false +MAKE_ARMADA_OPERATOR_IMAGES: false MAKE_DECKHAND_IMAGES: false MAKE_SHIPYARD_IMAGES: false -MAKE_DECKHAND_IMAGES: false MAKE_PORTHOLE_IMAGES: false MAKE_PROMENADE_IMAGES: false +USE_ARMADA_GO: false ... diff --git a/tools/gate/playbooks/roles/airship-run-script-set/tasks/main.yaml b/tools/gate/playbooks/roles/airship-run-script-set/tasks/main.yaml index 4129a2c19..de28e39b7 100644 --- a/tools/gate/playbooks/roles/airship-run-script-set/tasks/main.yaml +++ b/tools/gate/playbooks/roles/airship-run-script-set/tasks/main.yaml @@ -42,12 +42,9 @@ COREDNS_VERSION: "{{ coredns_version | default('v1.11.1') }}" DISTRO: "{{ DISTRO | default('ubuntu_focal') }}" DOCKER_REGISTRY: "{{ DOCKER_REGISTRY | default('quay.io') }}" - MAKE_ARMADA_IMAGES: "{{ MAKE_ARMADA_IMAGES | default('false') }}" - MAKE_DECKHAND_IMAGES: "{{ MAKE_DECKHAND_IMAGES | default('false') }}" - MAKE_SHIPYARD_IMAGES: "{{ MAKE_SHIPYARD_IMAGES | default('false') }}" - MAKE_PORTHOLE_IMAGES: "{{ MAKE_PORTHOLE_IMAGES | default('false') }}" - MAKE_PROMENADE_IMAGES: "{{ MAKE_PROMENADE_IMAGES | default('false') }}" CLONE_ARMADA: "{{ CLONE_ARMADA | default('true') }}" + CLONE_ARMADA_GO: "{{ CLONE_ARMADA_GO | default('true') }}" + CLONE_ARMADA_OPERATOR: "{{ CLONE_ARMADA_OPERATOR | default('true') }}" CLONE_DECKHAND: "{{ CLONE_DECKHAND | default('true') }}" CLONE_SHIPYARD: "{{ CLONE_SHIPYARD | default('true') }}" CLONE_PORTHOLE: "{{ CLONE_PORTHOLE | default('true') }}" @@ -55,11 +52,13 @@ CLONE_MAAS: "{{ CLONE_MAAS | default('true') }}" CLONE_OSH: "{{ CLONE_OSH | default('true') }}" MAKE_ARMADA_IMAGES: "{{ MAKE_ARMADA_IMAGES | default('false') }}" + MAKE_ARMADA_GO_IMAGES: "{{ MAKE_ARMADA_GO_IMAGES | default('false') }}" + MAKE_ARMADA_OPERATOR_IMAGES: "{{ MAKE_ARMADA_OPERATOR_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') }}" + USE_ARMADA_GO: "{{ USE_ARMADA_GO | 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 diff --git a/tools/gate/playbooks/roles/airship-run-script/defaults/main.yaml b/tools/gate/playbooks/roles/airship-run-script/defaults/main.yaml index 725f4b23e..d6dff60a0 100644 --- a/tools/gate/playbooks/roles/airship-run-script/defaults/main.yaml +++ b/tools/gate/playbooks/roles/airship-run-script/defaults/main.yaml @@ -26,12 +26,10 @@ OSH_COMMIT: 2d9457e34ca4200ed631466bd87569b0214c92e7 COREDNS_VERSION: v1.11.1 DISTRO: ubuntu_focal DOCKER_REGISTRY: quay.io -MAKE_ARMADA_IMAGES: false -MAKE_DECKHAND_IMAGES: false -MAKE_SHIPYARD_IMAGES: false -MAKE_PORTHOLE_IMAGES: false -MAKE_PROMENADE_IMAGES: false + CLONE_ARMADA: true +CLONE_ARMADA_GO: true +CLONE_ARMADA_OPERATOR: true CLONE_DECKHAND: true CLONE_SHIPYARD: true CLONE_PORTHOLE: true @@ -39,9 +37,11 @@ CLONE_PROMENADE: true CLONE_MAAS: true CLONE_OSH: true MAKE_ARMADA_IMAGES: false +MAKE_ARMADA_GO_IMAGES: false +MAKE_ARMADA_OPERATOR_IMAGES: false MAKE_DECKHAND_IMAGES: false MAKE_SHIPYARD_IMAGES: false -MAKE_DECKHAND_IMAGES: false MAKE_PORTHOLE_IMAGES: false MAKE_PROMENADE_IMAGES: false +USE_ARMADA_GO: false ... diff --git a/tools/gate/playbooks/roles/airship-run-script/tasks/main.yaml b/tools/gate/playbooks/roles/airship-run-script/tasks/main.yaml index 0faf38eaf..811319b82 100644 --- a/tools/gate/playbooks/roles/airship-run-script/tasks/main.yaml +++ b/tools/gate/playbooks/roles/airship-run-script/tasks/main.yaml @@ -39,12 +39,9 @@ COREDNS_VERSION: "{{ coredns_version | default('v1.11.1') }}" DISTRO: "{{ DISTRO | default('ubuntu_focal') }}" DOCKER_REGISTRY: "{{ DOCKER_REGISTRY | default('quay.io') }}" - MAKE_ARMADA_IMAGES: "{{ MAKE_ARMADA_IMAGES | default('false') }}" - MAKE_DECKHAND_IMAGES: "{{ MAKE_DECKHAND_IMAGES | default('false') }}" - MAKE_SHIPYARD_IMAGES: "{{ MAKE_SHIPYARD_IMAGES | default('false') }}" - MAKE_PORTHOLE_IMAGES: "{{ MAKE_PORTHOLE_IMAGES | default('false') }}" - MAKE_PROMENADE_IMAGES: "{{ MAKE_PROMENADE_IMAGES | default('false') }}" CLONE_ARMADA: "{{ CLONE_ARMADA | default('true') }}" + CLONE_ARMADA_GO: "{{ CLONE_ARMADA_GO | default('true') }}" + CLONE_ARMADA_OPERATOR: "{{ CLONE_ARMADA_OPERATOR | default('true') }}" CLONE_DECKHAND: "{{ CLONE_DECKHAND | default('true') }}" CLONE_SHIPYARD: "{{ CLONE_SHIPYARD | default('true') }}" CLONE_PORTHOLE: "{{ CLONE_PORTHOLE | default('true') }}" @@ -52,9 +49,11 @@ CLONE_MAAS: "{{ CLONE_MAAS | default('true') }}" CLONE_OSH: "{{ CLONE_OSH | default('true') }}" MAKE_ARMADA_IMAGES: "{{ MAKE_ARMADA_IMAGES | default('false') }}" + MAKE_ARMADA_GO_IMAGES: "{{ MAKE_ARMADA_GO_IMAGES | default('false') }}" + MAKE_ARMADA_OPERATOR_IMAGES: "{{ MAKE_ARMADA_OPERATOR_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') }}" + USE_ARMADA_GO: "{{ USE_ARMADA_GO | default('false') }}" ... diff --git a/type/skiff/charts/ucp/armada/armada.yaml b/type/skiff/charts/ucp/armada/armada.yaml index 284a84171..f3f067e25 100644 --- a/type/skiff/charts/ucp/armada/armada.yaml +++ b/type/skiff/charts/ucp/armada/armada.yaml @@ -12,18 +12,18 @@ metadata: parentSelector: name: ucp-armada-global actions: - - method: replace - path: .source + # - method: replace + # path: .source - method: merge path: . storagePolicy: cleartext data: wait: timeout: 1800 - source: - type: local - location: /airship-components/armada - subpath: charts/armada + # source: + # type: local + # location: /airship-components/armada + # subpath: charts/armada values: pod: replicas: diff --git a/type/skiff/charts/ucp/deckhand/deckhand.yaml b/type/skiff/charts/ucp/deckhand/deckhand.yaml index 80b421d51..dade3c11f 100644 --- a/type/skiff/charts/ucp/deckhand/deckhand.yaml +++ b/type/skiff/charts/ucp/deckhand/deckhand.yaml @@ -12,18 +12,18 @@ metadata: parentSelector: name: ucp-deckhand-global actions: - - method: replace - path: .source + # - method: replace + # path: .source - method: merge path: . storagePolicy: cleartext data: wait: timeout: 1800 - source: - type: local - location: /airship-components/deckhand - subpath: charts/deckhand + # source: + # type: local + # location: /airship-components/deckhand + # subpath: charts/deckhand values: pod: replicas: diff --git a/type/skiff/charts/ucp/shipyard/shipyard.yaml b/type/skiff/charts/ucp/shipyard/shipyard.yaml index 07f9c3348..d70976933 100644 --- a/type/skiff/charts/ucp/shipyard/shipyard.yaml +++ b/type/skiff/charts/ucp/shipyard/shipyard.yaml @@ -12,18 +12,18 @@ metadata: parentSelector: name: ucp-shipyard-global actions: - - method: replace - path: .source + # - method: replace + # path: .source - method: merge path: . storagePolicy: cleartext data: wait: timeout: 1800 - source: - type: local - location: /airship-components/shipyard - subpath: charts/shipyard + # source: + # type: local + # location: /airship-components/shipyard + # subpath: charts/shipyard values: pod: replicas: