]> review.fuel-infra Code Review - tools/sustaining.git/commitdiff
Stop jenkins agent before destroying slave 12/40512/1
authorVladimir Khlyunev <vkhlyunev@mirantis.com>
Wed, 13 Feb 2019 13:28:30 +0000 (17:28 +0400)
committerVladimir Khlyunev <vkhlyunev@mirantis.com>
Wed, 13 Feb 2019 13:28:30 +0000 (17:28 +0400)
Change-Id: Ic3197a4130e3ecdc365928dccb9408d85cce7989

maintenance-ci/common/scripts/delete_heat_stack.sh

index 0c44074d6906ef476bf18945c4bd5dae51f92367..31862efd795ff8309ee28d0efc029ed3cc3bb66a 100755 (executable)
@@ -9,15 +9,28 @@ if [ ! -d "${OPENSTACK_CLIENTS_VENV}" ] ; then
     deactivate
 fi
 
+function delete_stack() {
+  if [ -z "${VIRTUAL_ENV}" ]; then
+    source "${OPENSTACK_CLIENTS_VENV}"/bin/activate
+    source "${OPENRC_FILE?}"
+  fi
+  set +e
+  eval $(openstack stack output show $1 floating_ip -f shell)
+  ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no jenkins@$output_value "sudo service jenkins-swarm-agent stop"
+  openstack stack delete -y "${stack}"
+  set -e
+  return
+}
+
 source "${OPENSTACK_CLIENTS_VENV}"/bin/activate
   source "${OPENRC_FILE?}"
 
   if [ ! -z "${STACK_NAME}" ] ; then
-      openstack stack delete -y "${STACK_NAME}"
+      delete_stack ${STACK_NAME}
   elif [ ! -z "${STACK_PREFIX}" ] ; then
       for stack in $(openstack stack list -c 'Stack Name' -f value) ; do
           if [[ ${stack} == ${STACK_PREFIX}* ]] ; then
-              openstack stack delete -y "${stack}"
+              delete_stack ${stack}
           fi
       done
   fi