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:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user