X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fopendaylight-infra-cleanup-stale-stacks.sh;h=18a5a969136446f9c34141215e98ffc529fe7708;hb=0620290518d5a5f611fac30e5a595c29a9f3fc76;hp=d99938b3444dbbc09a741e9dc4305eba0c4334f9;hpb=dcba567b0ce17e7cbb3c80b38c45ceb6e490e79d;p=releng%2Fbuilder.git diff --git a/jjb/opendaylight-infra-cleanup-stale-stacks.sh b/jjb/opendaylight-infra-cleanup-stale-stacks.sh index d99938b34..18a5a9691 100644 --- a/jjb/opendaylight-infra-cleanup-stale-stacks.sh +++ b/jjb/opendaylight-infra-cleanup-stale-stacks.sh @@ -1,10 +1,21 @@ #!/bin/bash -virtualenv "$WORKSPACE/.venv" -# shellcheck disable=SC1090 -source "$WORKSPACE/.venv/bin/activate" +# SPDX-License-Identifier: EPL-1.0 +############################################################################## +# Copyright (c) 2017 The Linux Foundation and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################## + +virtualenv "/tmp/v/openstack" +# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091 +source "/tmp/v/openstack/bin/activate" pip install --upgrade pip pip install --upgrade python-openstackclient python-heatclient -pip freeze +pip install --upgrade pipdeptree +pipdeptree ######################### ## FETCH ACTIVE BUILDS ## @@ -22,7 +33,7 @@ OS_STACKS=($(openstack stack list \ ACTIVE_BUILDS=() for silo in releng sandbox; do JENKINS_URL="https://jenkins.opendaylight.org/$silo//computer/api/json?tree=computer[executors[currentExecutable[url]],oneOffExecutors[currentExecutable[url]]]&xpath=//url&wrapper=builds" - wget --no-verbose -O "${silo}_builds.json" "$JENKINS_URL" + wget -nv -O "${silo}_builds.json" "$JENKINS_URL" sleep 1 # Need to sleep for 1 second otherwise next line causes script to stall ACTIVE_BUILDS=(${ACTIVE_BUILDS[@]} $( \ jq -r '.computer[].executors[].currentExecutable.url' "${silo}_builds.json" \ @@ -36,14 +47,13 @@ done # delete them. for STACK_NAME in "${OS_STACKS[@]}"; do STACK_STATUS=$(openstack stack show -f json -c "stack_status" "$STACK_NAME" | jq -r '."stack_status"') - if [[ "${ACTIVE_BUILDS[@]}" =~ $STACK_NAME ]]; then + if [[ "${ACTIVE_BUILDS[*]}" =~ $STACK_NAME ]]; then # No need to delete stacks if there exists an active build for them continue else - OS_STATUS=$(openstack stack show -f json -c stack_status "$stack" | jq -r '.stack_status') - case "$OS_STATUS" in + case "$STACK_STATUS" in DELETE_IN_PROGRESS) - echo "skipping delete, $stack is already DELETE in progress." + echo "skipping delete, $STACK_NAME is already DELETE in progress." continue ;; DELETE_FAILED) @@ -62,8 +72,8 @@ for STACK_NAME in "${OS_STACKS[@]}"; do continue ;; CREATE_COMPLETE|CREATE_FAILED) - echo "Deleting orphaned stack: $stack" - openstack stack delete --yes "$stack" + echo "Deleting orphaned stack: $STACK_NAME" + openstack stack delete --yes "$STACK_NAME" continue ;; *)