]> git.apps.os.sepia.ceph.com Git - ceph-build.git/commitdiff
scripts: Add function to delete leftover vagrant VMs wip-cleanup-libvirt 720/head
authorDavid Galloway <dgallowa@redhat.com>
Wed, 17 May 2017 15:51:37 +0000 (11:51 -0400)
committerDavid Galloway <dgallowa@redhat.com>
Wed, 17 May 2017 18:02:10 +0000 (14:02 -0400)
Some of the network errors thrown by libvirt when running
Docker builds were because the slave had leftover Vagrant VMs that didn't
get destroyed.

This PR ensures all slaves being used for Docker tests will have VMs and disk images cleaned up if the build fails.

Signed-off-by: David Galloway <dgallowa@redhat.com>
ceph-docker-nightly/build/teardown
ceph-docker-prs/build/teardown
scripts/build_utils.sh

index 5790664af45ac7df20337be27b611f143e45a609..a2d47b9eb514d7d8dd2b634ff18b2d243e17d36c 100644 (file)
@@ -11,3 +11,5 @@ for scenario in $scenarios; do
     vagrant destroy -f
     cd -
 done
+
+delete_vagrant_docker_vms
index 5790664af45ac7df20337be27b611f143e45a609..a2d47b9eb514d7d8dd2b634ff18b2d243e17d36c 100644 (file)
@@ -11,3 +11,5 @@ for scenario in $scenarios; do
     vagrant destroy -f
     cd -
 done
+
+delete_vagrant_docker_vms
index 2c8c2567e4a12125c2f4ed54b93879a89625948d..df2547903f5675bbedd6b38fe4d1832531736ff7 100644 (file)
@@ -407,6 +407,19 @@ setup_pbuilder() {
     fi
 }
 
+delete_vagrant_docker_vms() {
+    # Delete any vagrant/libvirt VMs leftover from a failed docker build
+    libvirt_vms=`sudo virsh list --all --name | grep docker`
+    for vm in $libvirt_vms; do
+        # Destroy returns a non-zero rc if the VM's not running
+        sudo virsh destroy $vm || true
+        sudo virsh undefine $vm || true
+    done
+    # Clean up any leftover disk images
+    sudo rm -f /var/lib/libvirt/images/docker*.img
+    sudo virsh pool-refresh default
+}
+
 clear_libvirt_networks() {
     # Sometimes, networks may linger around, so we must ensure they are killed:
     networks=`sudo virsh net-list --all | grep active | egrep -v "(default|libvirt)" | cut -d ' ' -f 2`