testing: Ensure no guest is running when modifying images

Sometimes guests are not stopped properly. If images are then modified
they will be corrupted.
This commit is contained in:
Tobias Brunner
2014-10-10 19:03:50 +02:00
parent b7b2f9379d
commit 83efded313
5 changed files with 16 additions and 0 deletions
+1
View File
@@ -7,6 +7,7 @@ DIR=$(dirname `readlink -f $0`)
. $DIR/function.sh
[ `id -u` -eq 0 ] || die "You must be root to run $0"
running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
check_commands debootstrap mkfs.ext3 partprobe qemu-img qemu-nbd sfdisk
+1
View File
@@ -25,6 +25,7 @@ HOSTSDIR=$DIR/../hosts
[ `id -u` -eq 0 ] || die "You must be root to run $0"
[ -f $ROOTIMG ] || die "Root image $ROOTIMG not found"
[ -f $HOSTDIR ] || die "Hosts directory $HOSTSDIR not found"
running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
check_commands partprobe qemu-img qemu-nbd
+1
View File
@@ -22,6 +22,7 @@ DIR=$(dirname `readlink -f $0`)
[ `id -u` -eq 0 ] || die "You must be root to run $0"
[ -f "$BASEIMG" ] || die "Base image $BASEIMG not found"
running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
check_commands partprobe qemu-img qemu-nbd
+1
View File
@@ -12,6 +12,7 @@ SWANDIR=${1:+$(readlink -f $1)}
[ `id -u` -eq 0 ] || die "You must be root to run $0"
[ -f "$BASEIMG" ] || die "Base image $BASEIMG not found"
[ -f "$ROOTIMG" ] || die "Root image $ROOTIMG not found"
running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
[ -f $SWANDIR/src/libstrongswan/asn1/oid.txt ] || die "strongSwan not found in $SWANDIR"
+12
View File
@@ -156,6 +156,18 @@ check_commands()
done
}
# check if any of the given virtual guests are running
# $* - names of guests to check
running_any()
{
command -v virsh >/dev/null || return 1
for host in $*
do
virsh list --name | grep "^$host$" >/dev/null && return 0
done
return 1
}
#############################################
# search and replace strings throughout a
# whole directory