From a9f7c8d2885fc1d76972f26ff86f63f92809100c Mon Sep 17 00:00:00 2001 From: Fatih Degirmenci Date: Tue, 30 Jul 2019 14:08:34 +0200 Subject: [PATCH] Delete stack upon the completion of build Change-Id: Ie28e048c50222ab0556eac20b4a1e36c96663223 --- .../cloud-infra-periodic-onap.yaml | 25 +++++++++++ jjb/cloud-infra/delete-stack.sh | 41 +++++++++++++++++++ jjb/cloud-infra/onap-macros.yaml | 6 +++ 3 files changed, 72 insertions(+) create mode 100644 jjb/cloud-infra/delete-stack.sh diff --git a/jjb/cloud-infra/cloud-infra-periodic-onap.yaml b/jjb/cloud-infra/cloud-infra-periodic-onap.yaml index dd812fb24..7afaf1db0 100644 --- a/jjb/cloud-infra/cloud-infra-periodic-onap.yaml +++ b/jjb/cloud-infra/cloud-infra-periodic-onap.yaml @@ -83,6 +83,8 @@ test-type: onap-healthcheck - promote-onap: build-timeout: 5 + - delete-stack: + build-timeout: 5 jobs: - '{deploy-scenario}-periodic-{distro}-{installer-type}-{type}-{onap-branch}' @@ -362,6 +364,29 @@ node-parameters: true kill-phase-on: NEVER abort-all-job: false + - multijob: + name: Cleanup + condition: ALWAYS + projects: + - name: 'delete-stack-onap-periodic-{distro}-{installer-type}-{type}-{onap-branch}' + current-parameters: false + predefined-parameters: | + DISTRO=$DISTRO + DEPLOY_TYPE=$DEPLOY_TYPE + INSTALLER_TYPE=$INSTALLER_TYPE + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + ONAP_VERSION=$ONAP_VERSION + ONAP_FLAVOR=$ONAP_FLAVOR + ENGINE_VERSION=$ENGINE_VERSION + ENGINE_REFSPEC=$ENGINE_REFSPEC + DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION + DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC + XTESTING_REPO_URL=$XTESTING_REPO_URL + ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS + CLEANUP=$CLEANUP + node-parameters: true + kill-phase-on: NEVER + abort-all-job: false - job-template: name: '{phase}-periodic-{distro}-{installer-type}-{type}-{onap-branch}' diff --git a/jjb/cloud-infra/delete-stack.sh b/jjb/cloud-infra/delete-stack.sh new file mode 100644 index 000000000..912fdfc05 --- /dev/null +++ b/jjb/cloud-infra/delete-stack.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +# ============LICENSE_START======================================================= +# Copyright (C) 2019 The Nordix Foundation. All rights reserved. +# ================================================================================ +# 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +set -o errexit +set -o nounset + +# stack name to delete +export STACK_NAME=nordix-onap-custom + +cd $WORKSPACE +sudo apt install -y python-virtualenv +virtualenv $WORKSPACE/.venv +set +u +source $WORKSPACE/.venv/bin/activate +set -u +pip install openstacksdk python-openstackclient python-heatclient +echo "Info: Deleting stack $STACK_NAME" +echo "-------------------------------------------------------------------------" +source $OPENRC_FILE +openstack stack delete $STACK_NAME --wait --yes +echo "-------------------------------------------------------------------------" +echo "Info: Stack $STACK_NAME has been deleted!" + +# vim: set ts=2 sw=2 expandtab: diff --git a/jjb/cloud-infra/onap-macros.yaml b/jjb/cloud-infra/onap-macros.yaml index 1703acc68..d1e789444 100644 --- a/jjb/cloud-infra/onap-macros.yaml +++ b/jjb/cloud-infra/onap-macros.yaml @@ -45,4 +45,10 @@ - shell: !include-raw: ./promote-onap.sh +- builder: + name: 'delete-stack-macro' + builders: + - shell: + !include-raw: ./delete-stack.sh + # vim: set ts=2 sw=2 expandtab: -- 2.25.1