From: David Galloway Date: Mon, 14 Jun 2021 20:11:51 +0000 (-0400) Subject: ceph-{ansible,container}*: Globally destroy all stale VMs X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F1835%2Fhead;p=ceph-build.git ceph-{ansible,container}*: Globally destroy all stale VMs Signed-off-by: David Galloway --- diff --git a/ceph-ansible-nightly/build/build b/ceph-ansible-nightly/build/build index 7b53d9d23..dd809f5ad 100644 --- a/ceph-ansible-nightly/build/build +++ b/ceph-ansible-nightly/build/build @@ -52,6 +52,7 @@ function run_tox { ######## # MAIN # ######## +prune_stale_vagrant_running_vms delete_libvirt_vms clear_libvirt_networks restart_libvirt_services diff --git a/ceph-ansible-prs/build/build b/ceph-ansible-prs/build/build index 9a70a950f..84d770a33 100644 --- a/ceph-ansible-prs/build/build +++ b/ceph-ansible-prs/build/build @@ -11,6 +11,7 @@ source $VENV/activate WORKDIR=$(mktemp -td tox.XXXXXXXXXX) +prune_stale_vagrant_running_vms delete_libvirt_vms clear_libvirt_networks restart_libvirt_services diff --git a/ceph-ansible-scenario/build/build b/ceph-ansible-scenario/build/build index 2144e9bfc..637f9c13e 100644 --- a/ceph-ansible-scenario/build/build +++ b/ceph-ansible-scenario/build/build @@ -11,6 +11,7 @@ source $VENV/activate WORKDIR=$(mktemp -td tox.XXXXXXXXXX) +prune_stale_vagrant_running_vms delete_libvirt_vms clear_libvirt_networks restart_libvirt_services diff --git a/ceph-container-nighlity/build/build b/ceph-container-nighlity/build/build index 027c276af..b8e20b778 100644 --- a/ceph-container-nighlity/build/build +++ b/ceph-container-nighlity/build/build @@ -11,6 +11,7 @@ source $VENV/activate WORKDIR=$(mktemp -td tox.XXXXXXXXXX) +prune_stale_vagrant_running_vms delete_libvirt_vms clear_libvirt_networks restart_libvirt_services diff --git a/ceph-container-prs/build/build b/ceph-container-prs/build/build index 027c276af..b8e20b778 100644 --- a/ceph-container-prs/build/build +++ b/ceph-container-prs/build/build @@ -11,6 +11,7 @@ source $VENV/activate WORKDIR=$(mktemp -td tox.XXXXXXXXXX) +prune_stale_vagrant_running_vms delete_libvirt_vms clear_libvirt_networks restart_libvirt_services diff --git a/scripts/build_utils.sh b/scripts/build_utils.sh index 09c362b6d..b2dadf77c 100644 --- a/scripts/build_utils.sh +++ b/scripts/build_utils.sh @@ -1018,6 +1018,29 @@ prune_stale_vagrant_vms() { vagrant global-status --prune || true } +prune_stale_vagrant_running_vms() { + # The method of cleaning up VMs in the function above isn't aggressive enough. + cd $HOME + running_vagrant_vms=$(vagrant global-status | grep "running" | awk '{ print $1 }') + for uuid in $running_vagrant_vms; do + if ! vagrant destroy -f $uuid; then + echo "Destroying $uuid failed. Deleting its directory." + failed_path=$(vagrant global-status | grep $uuid | awk '{ print $5 }') + if [ -z ${failed_path+x} ]; then + echo "Didn't get a path for $uuid. Skipping." + else + if [[ $failed_path =~ $WORKSPACE ]]; then + echo "Skipping $failed_path. That's the current job." + else + rm -rf $failed_path + fi + fi + vagrant global-status --prune + fi + done + cd $WORKSPACE +} + delete_libvirt_vms() { # Delete any VMs leftover from previous builds. # Primarily used for Vagrant VMs leftover from docker builds.