|
|
|
@ -1,5 +1,14 @@
@@ -1,5 +1,14 @@
|
|
|
|
|
#!/bin/bash |
|
|
|
|
TEST_DESCRIPTION="root filesystem over multiple iSCSI" |
|
|
|
|
|
|
|
|
|
if [[ $NM ]]; then |
|
|
|
|
USE_NETWORK="network-manager" |
|
|
|
|
OMIT_NETWORK="network-legacy" |
|
|
|
|
else |
|
|
|
|
USE_NETWORK="network-legacy" |
|
|
|
|
OMIT_NETWORK="network-manager" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
TEST_DESCRIPTION="root filesystem over multiple iSCSI with $USE_NETWORK" |
|
|
|
|
|
|
|
|
|
KVERSION=${KVERSION-$(uname -r)} |
|
|
|
|
|
|
|
|
@ -18,14 +27,11 @@ run_server() {
@@ -18,14 +27,11 @@ run_server() {
|
|
|
|
|
-drive format=raw,index=1,media=disk,file=$TESTDIR/root.ext3 \ |
|
|
|
|
-drive format=raw,index=2,media=disk,file=$TESTDIR/iscsidisk2.img \ |
|
|
|
|
-drive format=raw,index=3,media=disk,file=$TESTDIR/iscsidisk3.img \ |
|
|
|
|
-m 512M -smp 2 \ |
|
|
|
|
-display none \ |
|
|
|
|
${SERIAL:+-serial "$SERIAL"} \ |
|
|
|
|
${SERIAL:--serial file:"$TESTDIR"/server.log} \ |
|
|
|
|
-net nic,macaddr=52:54:00:12:34:56,model=e1000 \ |
|
|
|
|
-net nic,macaddr=52:54:00:12:34:57,model=e1000 \ |
|
|
|
|
-net socket,listen=127.0.0.1:12331 \ |
|
|
|
|
-no-reboot \ |
|
|
|
|
-append "panic=1 systemd.crash_reboot root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \ |
|
|
|
|
-initrd $TESTDIR/initramfs.server \ |
|
|
|
|
-pidfile $TESTDIR/server.pid -daemonize || return 1 |
|
|
|
@ -35,9 +41,10 @@ run_server() {
@@ -35,9 +41,10 @@ run_server() {
|
|
|
|
|
tty -s && stty sane |
|
|
|
|
|
|
|
|
|
if ! [[ $SERIAL ]]; then |
|
|
|
|
echo "Waiting for the server to startup" |
|
|
|
|
while : ; do |
|
|
|
|
grep Serving "$TESTDIR"/server.log && break |
|
|
|
|
echo "Waiting for the server to startup" |
|
|
|
|
tail "$TESTDIR"/server.log |
|
|
|
|
sleep 1 |
|
|
|
|
done |
|
|
|
|
else |
|
|
|
@ -54,11 +61,9 @@ run_client() {
@@ -54,11 +61,9 @@ run_client() {
|
|
|
|
|
|
|
|
|
|
$testdir/run-qemu \ |
|
|
|
|
-drive format=raw,index=0,media=disk,file=$TESTDIR/client.img \ |
|
|
|
|
-m 512M -smp 2 -nographic \ |
|
|
|
|
-net nic,macaddr=52:54:00:12:34:00,model=e1000 \ |
|
|
|
|
-net nic,macaddr=52:54:00:12:34:01,model=e1000 \ |
|
|
|
|
-net socket,connect=127.0.0.1:12331 \ |
|
|
|
|
-no-reboot \ |
|
|
|
|
-append "panic=1 systemd.crash_reboot rw rd.auto rd.retry=50 console=ttyS0,115200n81 selinux=0 rd.debug=0 rd.shell=0 $DEBUGFAIL $*" \ |
|
|
|
|
-initrd $TESTDIR/initramfs.testing |
|
|
|
|
if ! grep -F -m 1 -q iscsi-OK $TESTDIR/client.img; then |
|
|
|
@ -74,8 +79,8 @@ do_test_run() {
@@ -74,8 +79,8 @@ do_test_run() {
|
|
|
|
|
initiator=$(iscsi-iname) |
|
|
|
|
run_client "netroot=iscsi target1 target2" \ |
|
|
|
|
"root=LABEL=sysroot" \ |
|
|
|
|
"ip=192.168.50.101:::255.255.255.0::ens3:off" \ |
|
|
|
|
"ip=192.168.51.101:::255.255.255.0::ens4:off" \ |
|
|
|
|
"ip=192.168.50.101:::255.255.255.0::ens2:off" \ |
|
|
|
|
"ip=192.168.51.101:::255.255.255.0::ens3:off" \ |
|
|
|
|
"netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ |
|
|
|
|
"netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ |
|
|
|
|
"rd.iscsi.initiator=$initiator" \ |
|
|
|
@ -83,8 +88,8 @@ do_test_run() {
@@ -83,8 +88,8 @@ do_test_run() {
|
|
|
|
|
|
|
|
|
|
run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0" \ |
|
|
|
|
"root=LABEL=sysroot" \ |
|
|
|
|
"ip=192.168.50.101:::255.255.255.0::ens3:off" \ |
|
|
|
|
"ip=192.168.51.101:::255.255.255.0::ens4:off" \ |
|
|
|
|
"ip=192.168.50.101:::255.255.255.0::ens2:off" \ |
|
|
|
|
"ip=192.168.51.101:::255.255.255.0::ens3:off" \ |
|
|
|
|
"netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ |
|
|
|
|
"netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ |
|
|
|
|
"rd.iscsi.firmware" \ |
|
|
|
@ -94,8 +99,8 @@ do_test_run() {
@@ -94,8 +99,8 @@ do_test_run() {
|
|
|
|
|
|
|
|
|
|
run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0 rd.iscsi.testroute=0" \ |
|
|
|
|
"root=LABEL=sysroot" \ |
|
|
|
|
"ip=192.168.50.101:::255.255.255.0::ens3:off" \ |
|
|
|
|
"ip=192.168.51.101:::255.255.255.0::ens4:off" \ |
|
|
|
|
"ip=192.168.50.101:::255.255.255.0::ens2:off" \ |
|
|
|
|
"ip=192.168.51.101:::255.255.255.0::ens3:off" \ |
|
|
|
|
"netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ |
|
|
|
|
"netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ |
|
|
|
|
"rd.iscsi.firmware" \ |
|
|
|
@ -105,8 +110,8 @@ do_test_run() {
@@ -105,8 +110,8 @@ do_test_run() {
|
|
|
|
|
|
|
|
|
|
run_client "netroot=iscsi target1 target2 rd.iscsi.waitnet=0 rd.iscsi.testroute=0 default GW" \ |
|
|
|
|
"root=LABEL=sysroot" \ |
|
|
|
|
"ip=192.168.50.101::192.168.50.1:255.255.255.0::ens3:off" \ |
|
|
|
|
"ip=192.168.51.101::192.168.51.1:255.255.255.0::ens4:off" \ |
|
|
|
|
"ip=192.168.50.101::192.168.50.1:255.255.255.0::ens2:off" \ |
|
|
|
|
"ip=192.168.51.101::192.168.51.1:255.255.255.0::ens3:off" \ |
|
|
|
|
"netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \ |
|
|
|
|
"netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \ |
|
|
|
|
"rd.iscsi.firmware" \ |
|
|
|
@ -145,6 +150,7 @@ test_setup() {
@@ -145,6 +150,7 @@ test_setup() {
|
|
|
|
|
|
|
|
|
|
kernel=$KVERSION |
|
|
|
|
# Create what will eventually be our root filesystem onto an overlay |
|
|
|
|
rm -rf -- $TESTDIR/overlay |
|
|
|
|
( |
|
|
|
|
export initdir=$TESTDIR/overlay/source |
|
|
|
|
. $basedir/dracut-init.sh |
|
|
|
@ -201,25 +207,10 @@ test_setup() {
@@ -201,25 +207,10 @@ test_setup() {
|
|
|
|
|
-drive format=raw,index=1,media=disk,file=$TESTDIR/client.img \ |
|
|
|
|
-drive format=raw,index=2,media=disk,file=$TESTDIR/iscsidisk2.img \ |
|
|
|
|
-drive format=raw,index=3,media=disk,file=$TESTDIR/iscsidisk3.img \ |
|
|
|
|
-smp 2 -m 512M -nographic -net none \ |
|
|
|
|
-append "root=/dev/fakeroot rw rootfstype=ext3 quiet console=ttyS0,115200n81 selinux=0" \ |
|
|
|
|
-initrd $TESTDIR/initramfs.makeroot || return 1 |
|
|
|
|
grep -F -m 1 -q dracut-root-block-created $TESTDIR/client.img || return 1 |
|
|
|
|
rm -- $TESTDIR/client.img |
|
|
|
|
( |
|
|
|
|
export initdir=$TESTDIR/overlay |
|
|
|
|
. $basedir/dracut-init.sh |
|
|
|
|
inst_multiple poweroff shutdown |
|
|
|
|
inst_hook shutdown-emergency 000 ./hard-off.sh |
|
|
|
|
inst_hook emergency 000 ./hard-off.sh |
|
|
|
|
inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules |
|
|
|
|
) |
|
|
|
|
$basedir/dracut.sh -l -i $TESTDIR/overlay / \ |
|
|
|
|
-o "dash plymouth dmraid nfs" \ |
|
|
|
|
-a "debug" \ |
|
|
|
|
-d "af_packet piix ide-gd_mod ata_piix ext3 sd_mod" \ |
|
|
|
|
--no-hostonly-cmdline -N \ |
|
|
|
|
-f $TESTDIR/initramfs.testing $KVERSION || return 1 |
|
|
|
|
|
|
|
|
|
# Make server root |
|
|
|
|
dd if=/dev/null of=$TESTDIR/server.ext3 bs=1M seek=60 |
|
|
|
@ -228,6 +219,7 @@ test_setup() {
@@ -228,6 +219,7 @@ test_setup() {
|
|
|
|
|
mount -o loop $TESTDIR/server.ext3 $TESTDIR/mnt |
|
|
|
|
|
|
|
|
|
kernel=$KVERSION |
|
|
|
|
rm -rf -- $TESTDIR/overlay |
|
|
|
|
( |
|
|
|
|
export initdir=$TESTDIR/mnt |
|
|
|
|
. $basedir/dracut-init.sh |
|
|
|
@ -271,6 +263,25 @@ test_setup() {
@@ -271,6 +263,25 @@ test_setup() {
|
|
|
|
|
--no-hostonly-cmdline -N \ |
|
|
|
|
-f $TESTDIR/initramfs.server $KVERSION || return 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Make client dracut image |
|
|
|
|
rm -rf -- $TESTDIR/overlay |
|
|
|
|
( |
|
|
|
|
export initdir=$TESTDIR/overlay |
|
|
|
|
. $basedir/dracut-init.sh |
|
|
|
|
inst_multiple poweroff shutdown |
|
|
|
|
inst_hook shutdown-emergency 000 ./hard-off.sh |
|
|
|
|
inst_hook emergency 000 ./hard-off.sh |
|
|
|
|
inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules |
|
|
|
|
) |
|
|
|
|
$basedir/dracut.sh -l -i $TESTDIR/overlay / \ |
|
|
|
|
-o "dash plymouth dmraid nfs ${OMIT_NETWORK}" \ |
|
|
|
|
-a "debug ${USE_NETWORK}" \ |
|
|
|
|
-d "af_packet piix ide-gd_mod ata_piix ext3 sd_mod" \ |
|
|
|
|
--no-hostonly-cmdline -N \ |
|
|
|
|
-f $TESTDIR/initramfs.testing $KVERSION || return 1 |
|
|
|
|
|
|
|
|
|
rm -rf -- $TESTDIR/overlay |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
test_cleanup() { |