From 52e072ef8a170fbf19ab19ee324fa56867238d81 Mon Sep 17 00:00:00 2001 From: Steven Fitzpatrick Date: Fri, 26 Feb 2021 16:17:05 +0000 Subject: [PATCH] Add gate utility scripts to Treasuremap These scripts allow one to stand up a treasuremap test-site note: Removing the phase lma-infra-target from script 31, since it causes a wait to fail later on in the pipeline Change-Id: I43374a874c110ab32d6158975c50fd4b89693479 --- playbooks/airship-treasuremap-build-gate.yaml | 1 + roles | 1 + .../31_deploy_initinfra_target_node.sh | 1 - tools/gate/00_setup.sh | 21 +++++++++++++ tools/gate/10_build_gate.sh | 20 +++++++++++++ tools/gate/20_run_gate_runner.sh | 30 +++++++++++++++++++ tools/gate/config_template.yaml | 1 + 7 files changed, 74 insertions(+), 1 deletion(-) create mode 120000 roles create mode 100755 tools/gate/00_setup.sh create mode 100755 tools/gate/10_build_gate.sh create mode 100755 tools/gate/20_run_gate_runner.sh create mode 120000 tools/gate/config_template.yaml diff --git a/playbooks/airship-treasuremap-build-gate.yaml b/playbooks/airship-treasuremap-build-gate.yaml index 4e9624da4..216bfc7b1 100644 --- a/playbooks/airship-treasuremap-build-gate.yaml +++ b/playbooks/airship-treasuremap-build-gate.yaml @@ -68,6 +68,7 @@ loop: - { name: 'target', path: 'ephemeral/controlplane' } - { name: 'ephemeral', path: 'ephemeral/bootstrap' } + - { name: 'worker', path: 'target/workers' } loop_control: loop_var: roleinputvar diff --git a/roles b/roles new file mode 120000 index 000000000..e12952add --- /dev/null +++ b/roles @@ -0,0 +1 @@ +../airshipctl/roles/ \ No newline at end of file diff --git a/tools/deployment/31_deploy_initinfra_target_node.sh b/tools/deployment/31_deploy_initinfra_target_node.sh index 50fadbdf8..4b0e37d78 100755 --- a/tools/deployment/31_deploy_initinfra_target_node.sh +++ b/tools/deployment/31_deploy_initinfra_target_node.sh @@ -29,4 +29,3 @@ kubectl \ ./tools/deployment/31_deploy_initinfra_target_node.sh -airshipctl phase run lma-infra-target --debug diff --git a/tools/gate/00_setup.sh b/tools/gate/00_setup.sh new file mode 100755 index 000000000..403d5456e --- /dev/null +++ b/tools/gate/00_setup.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +# 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. + +set -xe + +export AIRSHIPCTL_PROJECT=${AIRSHIPCTL_PROJECT:="../airshipctl"} +export AIRSHIPCTL_WS=${AIRSHIPCTL_WS:-$PWD} + +cd ${AIRSHIPCTL_PROJECT} +./tools/gate/00_setup.sh \ No newline at end of file diff --git a/tools/gate/10_build_gate.sh b/tools/gate/10_build_gate.sh new file mode 100755 index 000000000..935469c4c --- /dev/null +++ b/tools/gate/10_build_gate.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +# 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. + +set -xe + +: ${AIRSHIPCTL_PROJECT:="../airshipctl"} + +cd ${AIRSHIPCTL_PROJECT} +./tools/gate/10_build_gate.sh diff --git a/tools/gate/20_run_gate_runner.sh b/tools/gate/20_run_gate_runner.sh new file mode 100755 index 000000000..b907d0d53 --- /dev/null +++ b/tools/gate/20_run_gate_runner.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + +set -xe + +TMP_DIR=${TMP_DIR:-"$(dirname $(mktemp -u))"} +ANSIBLE_HOSTS=${ANSIBLE_HOSTS:-"${TMP_DIR}/ansible_hosts"} +PLAYBOOK_CONFIG=${PLAYBOOK_CONFIG:-"${TMP_DIR}/config.yaml"} + +export AIRSHIPCTL_WS=${AIRSHIPCTL_WS:-"../airshipctl"} + +sudo -E --preserve-env=AIRSHIPCTL_WS ANSIBLE_STDOUT_CALLBACK=debug ansible-playbook -i "$ANSIBLE_HOSTS" \ + playbooks/airship-treasuremap-gate-runner.yaml \ + -e @"$PLAYBOOK_CONFIG" -v diff --git a/tools/gate/config_template.yaml b/tools/gate/config_template.yaml new file mode 120000 index 000000000..1076cb411 --- /dev/null +++ b/tools/gate/config_template.yaml @@ -0,0 +1 @@ +../../../airshipctl/tools/gate/config_template.yaml \ No newline at end of file