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
This commit is contained in:
parent
051f8c7543
commit
e8e124a72e
36
.zuul.yaml
36
.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
|
||||
|
@ -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: []
|
||||
...
|
||||
|
@ -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: []
|
||||
...
|
||||
|
@ -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: []
|
||||
...
|
||||
|
@ -32,7 +32,7 @@ data:
|
||||
subpath: haproxy
|
||||
type: tar
|
||||
ingress:
|
||||
location: https://github.com/kubernetes/ingress-nginx/releases/download/helm-chart-4.8.3/ingress-nginx-4.8.3.tgz
|
||||
location: http://control-plane.minikube.internal:8282/ingress-nginx.tgz
|
||||
subpath: ingress-nginx
|
||||
type: tar
|
||||
proxy:
|
||||
@ -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
|
||||
@ -94,7 +75,7 @@ data:
|
||||
subpath: helm-toolkit
|
||||
type: git
|
||||
ingress:
|
||||
location: https://github.com/kubernetes/ingress-nginx/releases/download/helm-chart-4.8.3/ingress-nginx-4.8.3.tgz
|
||||
location: http://control-plane.minikube.internal:8282/ingress-nginx.tgz
|
||||
subpath: ingress-nginx
|
||||
type: tar
|
||||
keystone:
|
||||
@ -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
|
||||
@ -287,7 +267,7 @@ data:
|
||||
subpath: drydock
|
||||
type: tar
|
||||
ingress:
|
||||
location: https://github.com/kubernetes/ingress-nginx/releases/download/helm-chart-4.8.3/ingress-nginx-4.8.3.tgz
|
||||
location: http://control-plane.minikube.internal:8282/ingress-nginx.tgz
|
||||
subpath: ingress-nginx
|
||||
type: tar
|
||||
keystone:
|
||||
@ -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
|
||||
|
@ -209,12 +209,64 @@ 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 \
|
||||
-d -p 8080:8080 \
|
||||
-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 \
|
||||
-v "$(pwd)"/airskiff.yaml:/airskiff.yaml \
|
||||
-e KUBECONFIG=/armada/.kube/config \
|
||||
--env-file $ENV_FILE \
|
||||
$IMAGE_ARMADA_GO $@
|
||||
|
||||
sleep 10
|
||||
# the second run is needed to workaround this issue
|
||||
# [armada-go] 2024/03/15 03:18:44 /go/src/pkg/apply/apply.go:177: unable to get chart airship-nfs-provisioner: the server could not find the requested resource, creating
|
||||
# the server could not find the requested resource
|
||||
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 +283,10 @@ case "$1" in
|
||||
shift;
|
||||
armada $@
|
||||
;;
|
||||
'armada-operator')
|
||||
shift;
|
||||
armada-operator $@
|
||||
;;
|
||||
*) help
|
||||
exit 1
|
||||
;;
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -129,5 +129,7 @@ if [[ ${MAKE_CHARTS_PROMENADE} = true ]] ; then
|
||||
popd
|
||||
fi
|
||||
|
||||
# pre-downloading ingress-nginx chart to woraround armada-operator issue
|
||||
wget -O ./artifacts/ingress-nginx.tgz https://github.com/kubernetes/ingress-nginx/releases/download/helm-chart-4.8.3/ingress-nginx-4.8.3.tgz
|
||||
|
||||
cd "${CURRENT_DIR}"
|
||||
df -h
|
@ -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
|
||||
|
4
tools/deployment/airskiff/developer/027-enable-armada-operator.sh
Executable file
4
tools/deployment/airskiff/developer/027-enable-armada-operator.sh
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
cp -a tools/gate/manifests/armada.yaml global/software/charts/ucp/armada/armada.yaml
|
@ -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
|
||||
kubectl get pods -A
|
||||
|
110
tools/gate/manifests/armada.yaml
Normal file
110
tools/gate/manifests/armada.yaml
Normal file
@ -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"
|
||||
...
|
@ -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
|
||||
...
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
...
|
||||
|
@ -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') }}"
|
||||
...
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user