From d33cf42b849f1ead5561d548a12cf3f97d4ffa58 Mon Sep 17 00:00:00 2001 From: Pete Birley Date: Wed, 31 May 2017 10:57:04 -0500 Subject: [PATCH] Add dry-runs to all charts in OpenStack-Helm in dev and gate scripts This PS adds a dry-run to all the charts in OpenStack-Helm as part of the Checking process. The output is logged to a ./log dir by default so the results are caught and handled by the devstack-logs publisher. Change-Id: I8f82e371b5098c97311d51071ebb60e8734c2900 --- .gitignore | 3 +++ tools/gate/helm_dry_run.sh | 24 ++++++++++++++++++++++++ tools/gate/setup_gate.sh | 5 +++++ 3 files changed, 32 insertions(+) create mode 100755 tools/gate/helm_dry_run.sh diff --git a/.gitignore b/.gitignore index e3d8be8b5f..b398b2da77 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,6 @@ dev/.vagrant **/_partials.tpl **/_globals.tpl dev/*.log + +# Gate and Check Logs +./logs/ diff --git a/tools/gate/helm_dry_run.sh b/tools/gate/helm_dry_run.sh new file mode 100755 index 0000000000..f6cbb899ec --- /dev/null +++ b/tools/gate/helm_dry_run.sh @@ -0,0 +1,24 @@ +#!/bin/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 -ex + +source ${WORK_DIR}/tools/gate/funcs/helm.sh + +helm_build + +mkdir -p ${LOGS_DIR}/dry-runs +for CHART in $(helm search | awk '{ print $1 }' | tail -n +2 | awk -F '/' '{ print $NF }'); do + echo "Dry Running chart: $CHART" + helm install --dry-run --debug local/$CHART --name=$CHART --namespace=openstack > ${LOGS_DIR}/dry-runs/$CHART +done diff --git a/tools/gate/setup_gate.sh b/tools/gate/setup_gate.sh index 4b141aac02..c0a581a416 100755 --- a/tools/gate/setup_gate.sh +++ b/tools/gate/setup_gate.sh @@ -24,6 +24,10 @@ export HOST_OS=${ID} source ${WORK_DIR}/tools/gate/funcs/network.sh source ${WORK_DIR}/tools/gate/funcs/helm.sh +# Setup the logging location: by default use the working dir as the root. +export LOGS_DIR=${LOGS_DIR:-"${WORK_DIR}/logs/"} +mkdir -p ${LOGS_DIR} + # Moving the ws-linter here to avoid it blocking all the jobs just for ws if [ "x$INTEGRATION_TYPE" == "xlinter" ]; then bash ${WORK_DIR}/tools/gate/whitespace.sh @@ -40,6 +44,7 @@ helm_lint if [ "x$INTEGRATION" == "xaio" ]; then bash ${WORK_DIR}/tools/gate/kubeadm_aio.sh + bash ${WORK_DIR}/tools/gate/helm_dry_run.sh if [ "x$INTEGRATION_TYPE" == "xbasic" ]; then bash ${WORK_DIR}/tools/gate/basic_launch.sh fi