summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xremove-vm13
1 files changed, 11 insertions, 2 deletions
diff --git a/remove-vm b/remove-vm
index d7e9b2a..67a078d 100755
--- a/remove-vm
+++ b/remove-vm
@@ -4,14 +4,23 @@ set -eu -o pipefail
running()
{
- virsh domid "$1" > /dev/null
+ virsh domstate "$1" | grep -q -Fx running
+}
+
+shutoff()
+{
+ virsh domstate "$1" | grep -q -Fx "shut off"
}
for vm in "$@"
do
if running "$vm"
then
- virsh destroy "$vm" > /dev/null
+ virsh shutdown "$vm" > /dev/null
+ while ! shutoff "$vm"
+ do
+ sleep 1
+ done
fi
virsh undefine "$vm" > /dev/null
done