testing: Use blockdev instead of partprobe to load partitions
This avoids a dependency on parted as blockdev is in util-linux on Debian/Ubuntu, which is installed by default. And it might work more reliably.
This commit is contained in:
@@ -9,7 +9,7 @@ DIR=$(dirname `readlink -f $0`)
|
|||||||
[ `id -u` -eq 0 ] || die "You must be root to run $0"
|
[ `id -u` -eq 0 ] || die "You must be root to run $0"
|
||||||
running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
|
running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
|
||||||
|
|
||||||
check_commands debootstrap mkfs.ext3 partprobe qemu-img qemu-nbd sfdisk
|
check_commands debootstrap mkfs.ext3 blockdev qemu-img qemu-nbd sfdisk
|
||||||
|
|
||||||
# package includes/excludes
|
# package includes/excludes
|
||||||
INC=automake,autoconf,libtool,bison,flex,gperf,pkg-config,gettext,less,locales
|
INC=automake,autoconf,libtool,bison,flex,gperf,pkg-config,gettext,less,locales
|
||||||
@@ -97,7 +97,7 @@ then
|
|||||||
else
|
else
|
||||||
log_status 0
|
log_status 0
|
||||||
fi
|
fi
|
||||||
partprobe $NBDEV
|
blockdev --rereadpt $NBDEV
|
||||||
|
|
||||||
log_action "Creating ext3 filesystem"
|
log_action "Creating ext3 filesystem"
|
||||||
execute "mkfs.ext3 $NBDPARTITION"
|
execute "mkfs.ext3 $NBDPARTITION"
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ running_any $STRONGSWANHOSTS && die "Please stop test environment before running
|
|||||||
SRCUID=${SUDO_UID:-$(id -u)}
|
SRCUID=${SUDO_UID:-$(id -u)}
|
||||||
SRCGID=${SUDO_GID:-$(id -g)}
|
SRCGID=${SUDO_GID:-$(id -g)}
|
||||||
|
|
||||||
check_commands partprobe qemu-img qemu-nbd bindfs
|
check_commands blockdev qemu-img qemu-nbd bindfs
|
||||||
|
|
||||||
load_qemu_nbd
|
load_qemu_nbd
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ mkdir -p $IMGDIR
|
|||||||
log_action "Connecting root image to NBD device $NBDEV"
|
log_action "Connecting root image to NBD device $NBDEV"
|
||||||
execute "qemu-nbd -c $NBDEV $ROOTIMG"
|
execute "qemu-nbd -c $NBDEV $ROOTIMG"
|
||||||
do_on_exit qemu-nbd -d $NBDEV
|
do_on_exit qemu-nbd -d $NBDEV
|
||||||
partprobe $NBDEV
|
blockdev --rereadpt $NBDEV
|
||||||
|
|
||||||
log_action "Mounting $NBDPARTITION to $LOOPDIR"
|
log_action "Mounting $NBDPARTITION to $LOOPDIR"
|
||||||
execute "mount $NBDPARTITION $LOOPDIR"
|
execute "mount $NBDPARTITION $LOOPDIR"
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ HOSTSDIR=$DIR/../hosts
|
|||||||
[ -f $HOSTDIR ] || die "Hosts directory $HOSTSDIR not found"
|
[ -f $HOSTDIR ] || die "Hosts directory $HOSTSDIR not found"
|
||||||
running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
|
running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
|
||||||
|
|
||||||
check_commands partprobe qemu-img qemu-nbd
|
check_commands blockdev qemu-img qemu-nbd
|
||||||
|
|
||||||
load_qemu_nbd
|
load_qemu_nbd
|
||||||
|
|
||||||
@@ -43,7 +43,7 @@ do
|
|||||||
log_action "Creating guest image for $host"
|
log_action "Creating guest image for $host"
|
||||||
execute "qemu-img create -b $ROOTIMG -f $IMGEXT -F $IMGEXT $IMGDIR/$host.$IMGEXT" 0
|
execute "qemu-img create -b $ROOTIMG -f $IMGEXT -F $IMGEXT $IMGDIR/$host.$IMGEXT" 0
|
||||||
execute "qemu-nbd -c $NBDEV $IMGDIR/$host.$IMGEXT" 0
|
execute "qemu-nbd -c $NBDEV $IMGDIR/$host.$IMGEXT" 0
|
||||||
partprobe $NBDEV
|
blockdev --rereadpt $NBDEV
|
||||||
execute "mount $NBDPARTITION $LOOPDIR" 0
|
execute "mount $NBDPARTITION $LOOPDIR" 0
|
||||||
execute "cp -rf $HOSTSDIR/default/* $LOOPDIR" 0
|
execute "cp -rf $HOSTSDIR/default/* $LOOPDIR" 0
|
||||||
execute "cp -rf $HOSTSDIR/${host}/etc $LOOPDIR" 0
|
execute "cp -rf $HOSTSDIR/${host}/etc $LOOPDIR" 0
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ DIR=$(dirname `readlink -f $0`)
|
|||||||
[ -f "$BASEIMG" ] || die "Base image $BASEIMG not found"
|
[ -f "$BASEIMG" ] || die "Base image $BASEIMG not found"
|
||||||
running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
|
running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
|
||||||
|
|
||||||
check_commands partprobe qemu-img qemu-nbd
|
check_commands blockdev qemu-img qemu-nbd
|
||||||
|
|
||||||
load_qemu_nbd
|
load_qemu_nbd
|
||||||
|
|
||||||
@@ -115,7 +115,7 @@ case "$GUEST" in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
do_on_exit qemu-nbd -d $NBDEV
|
do_on_exit qemu-nbd -d $NBDEV
|
||||||
partprobe $NBDEV
|
blockdev --rereadpt $NBDEV
|
||||||
|
|
||||||
log_action "Mounting $NBDPARTITION to $LOOPDIR"
|
log_action "Mounting $NBDPARTITION to $LOOPDIR"
|
||||||
execute "mount $NBDPARTITION $LOOPDIR"
|
execute "mount $NBDPARTITION $LOOPDIR"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ running_any $STRONGSWANHOSTS && die "Please stop test environment before running
|
|||||||
|
|
||||||
[ -n "$1" ] || die "$0 <image to mount: base|root|<guest>>"
|
[ -n "$1" ] || die "$0 <image to mount: base|root|<guest>>"
|
||||||
|
|
||||||
check_commands partprobe qemu-nbd
|
check_commands blockdev qemu-nbd
|
||||||
|
|
||||||
load_qemu_nbd
|
load_qemu_nbd
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ root)
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
do_on_exit qemu-nbd -d $NBDEV
|
do_on_exit qemu-nbd -d $NBDEV
|
||||||
partprobe $NBDEV
|
blockdev --rereadpt $NBDEV
|
||||||
|
|
||||||
log_action "Mounting $NBDPARTITION to $LOOPDIR"
|
log_action "Mounting $NBDPARTITION to $LOOPDIR"
|
||||||
execute "mount $NBDPARTITION $LOOPDIR"
|
execute "mount $NBDPARTITION $LOOPDIR"
|
||||||
|
|||||||
Reference in New Issue
Block a user