From 2996d9e56fdb1ef28326d68c55f4b7628787f7d0 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Wed, 26 Feb 2020 14:45:55 +0100 Subject: [PATCH] test/TEST-60-IFCFG/test.sh: fixed qemu hubport netifs netifs are offset by one if qemu hubport is used --- .../99-default.link | 0 .../99-idesymlinks.rules | 0 .../Makefile | 0 .../client-init.sh | 0 .../dhcpd.conf | 0 .../exports | 0 .../finished-false.sh | 0 .../hard-off.sh | 0 .../hosts | 0 .../server-init.sh | 0 .../test.sh | 51 ++- .../99-default.link | 6 - .../99-idesymlinks.rules | 8 - test/TEST-70-BONDBRIDGETEAMVLAN/Makefile | 1 - .../TEST-70-BONDBRIDGETEAMVLAN/client-init.sh | 18 - test/TEST-70-BONDBRIDGETEAMVLAN/dhcpd.conf | 27 -- test/TEST-70-BONDBRIDGETEAMVLAN/exports | 1 - .../finished-false.sh | 2 - test/TEST-70-BONDBRIDGETEAMVLAN/hard-off.sh | 3 - test/TEST-70-BONDBRIDGETEAMVLAN/hosts | 5 - .../TEST-70-BONDBRIDGETEAMVLAN/server-init.sh | 129 ------- test/TEST-70-BONDBRIDGETEAMVLAN/test.sh | 345 ------------------ 22 files changed, 48 insertions(+), 548 deletions(-) rename test/{TEST-60-IFCFG => TEST-60-BONDBRIDGEVLANIFCFG}/99-default.link (100%) rename test/{TEST-60-IFCFG => TEST-60-BONDBRIDGEVLANIFCFG}/99-idesymlinks.rules (100%) rename test/{TEST-60-IFCFG => TEST-60-BONDBRIDGEVLANIFCFG}/Makefile (100%) rename test/{TEST-60-IFCFG => TEST-60-BONDBRIDGEVLANIFCFG}/client-init.sh (100%) rename test/{TEST-60-IFCFG => TEST-60-BONDBRIDGEVLANIFCFG}/dhcpd.conf (100%) rename test/{TEST-60-IFCFG => TEST-60-BONDBRIDGEVLANIFCFG}/exports (100%) rename test/{TEST-60-IFCFG => TEST-60-BONDBRIDGEVLANIFCFG}/finished-false.sh (100%) rename test/{TEST-60-IFCFG => TEST-60-BONDBRIDGEVLANIFCFG}/hard-off.sh (100%) rename test/{TEST-60-IFCFG => TEST-60-BONDBRIDGEVLANIFCFG}/hosts (100%) rename test/{TEST-60-IFCFG => TEST-60-BONDBRIDGEVLANIFCFG}/server-init.sh (100%) rename test/{TEST-60-IFCFG => TEST-60-BONDBRIDGEVLANIFCFG}/test.sh (76%) delete mode 100644 test/TEST-70-BONDBRIDGETEAMVLAN/99-default.link delete mode 100644 test/TEST-70-BONDBRIDGETEAMVLAN/99-idesymlinks.rules delete mode 100644 test/TEST-70-BONDBRIDGETEAMVLAN/Makefile delete mode 100755 test/TEST-70-BONDBRIDGETEAMVLAN/client-init.sh delete mode 100644 test/TEST-70-BONDBRIDGETEAMVLAN/dhcpd.conf delete mode 100644 test/TEST-70-BONDBRIDGETEAMVLAN/exports delete mode 100755 test/TEST-70-BONDBRIDGETEAMVLAN/finished-false.sh delete mode 100755 test/TEST-70-BONDBRIDGETEAMVLAN/hard-off.sh delete mode 100644 test/TEST-70-BONDBRIDGETEAMVLAN/hosts delete mode 100755 test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh delete mode 100755 test/TEST-70-BONDBRIDGETEAMVLAN/test.sh diff --git a/test/TEST-60-IFCFG/99-default.link b/test/TEST-60-BONDBRIDGEVLANIFCFG/99-default.link similarity index 100% rename from test/TEST-60-IFCFG/99-default.link rename to test/TEST-60-BONDBRIDGEVLANIFCFG/99-default.link diff --git a/test/TEST-60-IFCFG/99-idesymlinks.rules b/test/TEST-60-BONDBRIDGEVLANIFCFG/99-idesymlinks.rules similarity index 100% rename from test/TEST-60-IFCFG/99-idesymlinks.rules rename to test/TEST-60-BONDBRIDGEVLANIFCFG/99-idesymlinks.rules diff --git a/test/TEST-60-IFCFG/Makefile b/test/TEST-60-BONDBRIDGEVLANIFCFG/Makefile similarity index 100% rename from test/TEST-60-IFCFG/Makefile rename to test/TEST-60-BONDBRIDGEVLANIFCFG/Makefile diff --git a/test/TEST-60-IFCFG/client-init.sh b/test/TEST-60-BONDBRIDGEVLANIFCFG/client-init.sh similarity index 100% rename from test/TEST-60-IFCFG/client-init.sh rename to test/TEST-60-BONDBRIDGEVLANIFCFG/client-init.sh diff --git a/test/TEST-60-IFCFG/dhcpd.conf b/test/TEST-60-BONDBRIDGEVLANIFCFG/dhcpd.conf similarity index 100% rename from test/TEST-60-IFCFG/dhcpd.conf rename to test/TEST-60-BONDBRIDGEVLANIFCFG/dhcpd.conf diff --git a/test/TEST-60-IFCFG/exports b/test/TEST-60-BONDBRIDGEVLANIFCFG/exports similarity index 100% rename from test/TEST-60-IFCFG/exports rename to test/TEST-60-BONDBRIDGEVLANIFCFG/exports diff --git a/test/TEST-60-IFCFG/finished-false.sh b/test/TEST-60-BONDBRIDGEVLANIFCFG/finished-false.sh similarity index 100% rename from test/TEST-60-IFCFG/finished-false.sh rename to test/TEST-60-BONDBRIDGEVLANIFCFG/finished-false.sh diff --git a/test/TEST-60-IFCFG/hard-off.sh b/test/TEST-60-BONDBRIDGEVLANIFCFG/hard-off.sh similarity index 100% rename from test/TEST-60-IFCFG/hard-off.sh rename to test/TEST-60-BONDBRIDGEVLANIFCFG/hard-off.sh diff --git a/test/TEST-60-IFCFG/hosts b/test/TEST-60-BONDBRIDGEVLANIFCFG/hosts similarity index 100% rename from test/TEST-60-IFCFG/hosts rename to test/TEST-60-BONDBRIDGEVLANIFCFG/hosts diff --git a/test/TEST-60-IFCFG/server-init.sh b/test/TEST-60-BONDBRIDGEVLANIFCFG/server-init.sh similarity index 100% rename from test/TEST-60-IFCFG/server-init.sh rename to test/TEST-60-BONDBRIDGEVLANIFCFG/server-init.sh diff --git a/test/TEST-60-IFCFG/test.sh b/test/TEST-60-BONDBRIDGEVLANIFCFG/test.sh similarity index 76% rename from test/TEST-60-IFCFG/test.sh rename to test/TEST-60-BONDBRIDGEVLANIFCFG/test.sh index 337eb56b1..2afeb15dc 100755 --- a/test/TEST-60-IFCFG/test.sh +++ b/test/TEST-60-BONDBRIDGEVLANIFCFG/test.sh @@ -87,7 +87,7 @@ client_test() { $nic3 -device e1000,mac=52:54:00:12:34:05,netdev=n3 \ -watchdog i6300esb -watchdog-action poweroff \ -no-reboot \ - -append "panic=1 $cmdline rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \ + -append "panic=1 $cmdline systemd.crash_reboot rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \ -initrd "$TESTDIR"/initramfs.testing else $testdir/run-qemu \ @@ -103,7 +103,7 @@ client_test() { -net nic,vlan=3,macaddr=52:54:00:12:34:05,model=e1000 \ -watchdog i6300esb -watchdog-action poweroff \ -no-reboot \ - -append "panic=1 $cmdline rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \ + -append "panic=1 $cmdline systemd.crash_reboot rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \ -initrd "$TESTDIR"/initramfs.testing fi @@ -143,6 +143,51 @@ test_run() { } test_client() { + if $testdir/run-qemu --help | grep -qF -m1 'netdev hubport,id=str,hubid=n[,netdev=nd]'; then + client_test "Multiple VLAN" \ + "yes" \ + " +vlan=vlan0001:ens6 +vlan=vlan2:ens6 +vlan=ens6.3:ens6 +vlan=ens6.0004:ens6 +ip=ens4:dhcp +ip=192.168.54.101::192.168.54.1:24:test:vlan0001:none +ip=192.168.55.102::192.168.55.1:24:test:vlan2:none +ip=192.168.56.103::192.168.56.1:24:test:ens6.3:none +ip=192.168.57.104::192.168.57.1:24:test:ens6.0004:none +rd.neednet=1 +root=nfs:192.168.50.1:/nfs/client bootdev=ens4 +" \ + 'ens4 ens6.0004 ens6.3 vlan0001 vlan2 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens4 # Generated by dracut initrd NAME="ens4" DEVICE="ens4" ONBOOT=yes NETBOOT=yes IPV6INIT=yes BOOTPROTO=dhcp TYPE=Ethernet /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens6.0004 # Generated by dracut initrd NAME="ens6.0004" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.57.104" PREFIX="24" GATEWAY="192.168.57.1" TYPE=Vlan DEVICE="ens6.0004" VLAN=yes PHYSDEV="ens6" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens6.3 # Generated by dracut initrd NAME="ens6.3" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.56.103" PREFIX="24" GATEWAY="192.168.56.1" TYPE=Vlan DEVICE="ens6.3" VLAN=yes PHYSDEV="ens6" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-vlan0001 # Generated by dracut initrd NAME="vlan0001" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.54.101" PREFIX="24" GATEWAY="192.168.54.1" TYPE=Vlan DEVICE="vlan0001" VLAN=yes PHYSDEV="ens6" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-vlan2 # Generated by dracut initrd NAME="vlan2" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.55.102" PREFIX="24" GATEWAY="192.168.55.1" TYPE=Vlan DEVICE="vlan2" VLAN=yes PHYSDEV="ens6" EOF ' \ + || return 1 + + client_test "Multiple Bonds" \ + "yes" \ + " +bond=bond0:ens4,ens5 +bond=bond1:ens7,ens8 +ip=bond0:dhcp +ip=bond1:dhcp +rd.neednet=1 +root=nfs:192.168.50.1:/nfs/client bootdev=bond0 +" \ + 'bond0 bond1 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-bond0 # Generated by dracut initrd NAME="bond0" DEVICE="bond0" ONBOOT=yes NETBOOT=yes IPV6INIT=yes BOOTPROTO=dhcp BONDING_OPTS="" NAME="bond0" TYPE=Bond /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-bond1 # Generated by dracut initrd NAME="bond1" DEVICE="bond1" ONBOOT=yes NETBOOT=yes IPV6INIT=yes BOOTPROTO=dhcp BONDING_OPTS="" NAME="bond1" TYPE=Bond /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens4 # Generated by dracut initrd NAME="ens4" TYPE=Ethernet ONBOOT=yes NETBOOT=yes SLAVE=yes MASTER="bond0" DEVICE="ens4" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens5 # Generated by dracut initrd NAME="ens5" TYPE=Ethernet ONBOOT=yes NETBOOT=yes SLAVE=yes MASTER="bond0" DEVICE="ens5" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens7 # Generated by dracut initrd NAME="ens7" TYPE=Ethernet ONBOOT=yes NETBOOT=yes SLAVE=yes MASTER="bond1" DEVICE="ens7" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens8 # Generated by dracut initrd NAME="ens8" TYPE=Ethernet ONBOOT=yes NETBOOT=yes SLAVE=yes MASTER="bond1" DEVICE="ens8" EOF ' \ + || return 1 + + client_test "Multiple Bridges" \ + "no" \ + " +bridge=br0:ens4,ens5 +bridge=br1:ens7,ens8 +ip=br0:dhcp +ip=br1:dhcp +rd.neednet=1 +root=nfs:192.168.50.1:/nfs/client bootdev=br0 +" \ + 'br0 br1 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-br0 # Generated by dracut initrd NAME="br0" DEVICE="br0" ONBOOT=yes NETBOOT=yes IPV6INIT=yes BOOTPROTO=dhcp TYPE=Bridge NAME="br0" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-br1 # Generated by dracut initrd NAME="br1" DEVICE="br1" ONBOOT=yes NETBOOT=yes IPV6INIT=yes BOOTPROTO=dhcp TYPE=Bridge NAME="br1" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens4 # Generated by dracut initrd NAME="ens4" TYPE=Ethernet ONBOOT=yes NETBOOT=yes BRIDGE="br0" DEVICE="ens4" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens5 # Generated by dracut initrd NAME="ens5" TYPE=Ethernet ONBOOT=yes NETBOOT=yes BRIDGE="br0" DEVICE="ens5" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens7 # Generated by dracut initrd NAME="ens7" TYPE=Ethernet ONBOOT=yes NETBOOT=yes BRIDGE="br1" DEVICE="ens7" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens8 # Generated by dracut initrd NAME="ens8" TYPE=Ethernet ONBOOT=yes NETBOOT=yes BRIDGE="br1" DEVICE="ens8" EOF ' \ + || return 1 + else client_test "Multiple VLAN" \ "yes" \ " @@ -186,7 +231,7 @@ root=nfs:192.168.50.1:/nfs/client bootdev=br0 " \ 'br0 br1 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-br0 # Generated by dracut initrd NAME="br0" DEVICE="br0" ONBOOT=yes NETBOOT=yes IPV6INIT=yes BOOTPROTO=dhcp TYPE=Bridge NAME="br0" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-br1 # Generated by dracut initrd NAME="br1" DEVICE="br1" ONBOOT=yes NETBOOT=yes IPV6INIT=yes BOOTPROTO=dhcp TYPE=Bridge NAME="br1" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens4 # Generated by dracut initrd NAME="ens4" TYPE=Ethernet ONBOOT=yes NETBOOT=yes BRIDGE="br0" DEVICE="ens4" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens5 # Generated by dracut initrd NAME="ens5" TYPE=Ethernet ONBOOT=yes NETBOOT=yes BRIDGE="br0" DEVICE="ens5" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens6 # Generated by dracut initrd NAME="ens6" TYPE=Ethernet ONBOOT=yes NETBOOT=yes BRIDGE="br1" DEVICE="ens6" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens7 # Generated by dracut initrd NAME="ens7" TYPE=Ethernet ONBOOT=yes NETBOOT=yes BRIDGE="br1" DEVICE="ens7" EOF ' \ || return 1 - + fi kill_server return 0 } diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/99-default.link b/test/TEST-70-BONDBRIDGETEAMVLAN/99-default.link deleted file mode 100644 index b992bfd20..000000000 --- a/test/TEST-70-BONDBRIDGETEAMVLAN/99-default.link +++ /dev/null @@ -1,6 +0,0 @@ -[Match] -OriginalName=* - -[Link] -NamePolicy=keep kernel database onboard slot path -MACAddressPolicy=keep diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/99-idesymlinks.rules b/test/TEST-70-BONDBRIDGETEAMVLAN/99-idesymlinks.rules deleted file mode 100644 index d557790ae..000000000 --- a/test/TEST-70-BONDBRIDGETEAMVLAN/99-idesymlinks.rules +++ /dev/null @@ -1,8 +0,0 @@ -ACTION=="add|change", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="hda", SYMLINK+="sda" -ACTION=="add|change", SUBSYSTEM=="block", ENV{DEVTYPE}=="partition", KERNEL=="hda*", SYMLINK+="sda$env{MINOR}" -ACTION=="add|change", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="hdb", SYMLINK+="sdb" -ACTION=="add|change", SUBSYSTEM=="block", ENV{DEVTYPE}=="partition", KERNEL=="hdb*", SYMLINK+="sdb$env{MINOR}" -ACTION=="add|change", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="hdc", SYMLINK+="sdc" -ACTION=="add|change", SUBSYSTEM=="block", ENV{DEVTYPE}=="partition", KERNEL=="hdc*", SYMLINK+="sdc$env{MINOR}" -ACTION=="add|change", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="hdd", SYMLINK+="sdd" -ACTION=="add|change", SUBSYSTEM=="block", ENV{DEVTYPE}=="partition", KERNEL=="hdd*", SYMLINK+="sdd$env{MINOR}" diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/Makefile b/test/TEST-70-BONDBRIDGETEAMVLAN/Makefile deleted file mode 100644 index 2dcab8164..000000000 --- a/test/TEST-70-BONDBRIDGETEAMVLAN/Makefile +++ /dev/null @@ -1 +0,0 @@ --include ../Makefile.testdir diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/client-init.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/client-init.sh deleted file mode 100755 index 083e0f598..000000000 --- a/test/TEST-70-BONDBRIDGETEAMVLAN/client-init.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -exec >/dev/console 2>&1 -export PATH=/sbin:/bin:/usr/sbin:/usr/bin -strstr() { [ "${1#*$2*}" != "$1" ]; } -CMDLINE=$(while read line; do echo $line;done < /proc/cmdline) -export TERM=linux -export PS1='initramfs-test:\w\$ ' -stty sane -echo "made it to the rootfs! Powering down." - -( - echo OK - ip -o -4 address show scope global |sed -n 's/^[^:]*: \([^ ]*\) *\(.*\) scope.*/\1 \2/p' |sort - echo EOF -) > /dev/sda - -strstr "$CMDLINE" "rd.shell" && sh -i -poweroff -f diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/dhcpd.conf b/test/TEST-70-BONDBRIDGETEAMVLAN/dhcpd.conf deleted file mode 100644 index e26bd60bc..000000000 --- a/test/TEST-70-BONDBRIDGETEAMVLAN/dhcpd.conf +++ /dev/null @@ -1,27 +0,0 @@ -ddns-update-style none; - -use-host-decl-names true; - -subnet 192.168.50.0 netmask 255.255.255.0 { - option subnet-mask 255.255.255.0; - option routers 192.168.50.1; - next-server 192.168.50.1; - server-identifier 192.168.50.1; - option domain-name-servers 192.168.50.1; - option domain-search "example.com"; - option domain-name "other.com"; - option root-path "nfs:192.168.50.1:/nfs/client"; - range 192.168.50.10 192.168.50.100; -} - -subnet 192.168.51.0 netmask 255.255.255.0 { - option subnet-mask 255.255.255.0; - option routers 192.168.51.1; - next-server 192.168.51.1; - server-identifier 192.168.51.1; - option domain-name-servers 192.168.51.1; - option domain-search "example.com"; - option domain-name "other.com"; - option root-path "nfs:192.168.51.1:/nfs/client"; - range 192.168.51.10 192.168.51.100; -} diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/exports b/test/TEST-70-BONDBRIDGETEAMVLAN/exports deleted file mode 100644 index ff5f29b1b..000000000 --- a/test/TEST-70-BONDBRIDGETEAMVLAN/exports +++ /dev/null @@ -1 +0,0 @@ -/nfs/client 192.168.50.0/24(rw,insecure,no_subtree_check,no_root_squash) diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/finished-false.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/finished-false.sh deleted file mode 100755 index ecdbef95d..000000000 --- a/test/TEST-70-BONDBRIDGETEAMVLAN/finished-false.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exit 1 diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/hard-off.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/hard-off.sh deleted file mode 100755 index 12c3d5aca..000000000 --- a/test/TEST-70-BONDBRIDGETEAMVLAN/hard-off.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -getarg rd.shell || poweroff -f -getarg failme && poweroff -f diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/hosts b/test/TEST-70-BONDBRIDGETEAMVLAN/hosts deleted file mode 100644 index d02a4e9ba..000000000 --- a/test/TEST-70-BONDBRIDGETEAMVLAN/hosts +++ /dev/null @@ -1,5 +0,0 @@ -127.0.0.1 localhost -192.168.50.1 server -192.168.50.100 client-if1 -192.168.50.101 client-if2 -192.168.50.102 client-if3 diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh deleted file mode 100755 index e4e541d35..000000000 --- a/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh +++ /dev/null @@ -1,129 +0,0 @@ -#!/bin/sh -exec /dev/console 2>&1 -set -x -export PATH=/sbin:/bin:/usr/sbin:/usr/bin -export TERM=linux -export PS1='server:\w\$ ' -stty sane -echo "made it to the rootfs!" -echo server > /proc/sys/kernel/hostname - -wait_for_if_link() { - local cnt=0 - local li - while [ $cnt -lt 600 ]; do - li=$(ip -o link show dev $1 2>/dev/null) - [ -n "$li" ] && return 0 - if [[ $2 ]]; then - li=$(ip -o link show dev $2 2>/dev/null) - [ -n "$li" ] && return 0 - fi - sleep 0.1 - cnt=$(($cnt+1)) - done - return 1 -} - -wait_for_if_up() { - local cnt=0 - local li - while [ $cnt -lt 200 ]; do - li=$(ip -o link show up dev $1) - [ -n "$li" ] && return 0 - sleep 0.1 - cnt=$(($cnt+1)) - done - return 1 -} - -wait_for_route_ok() { - local cnt=0 - while [ $cnt -lt 200 ]; do - li=$(ip route show) - [ -n "$li" ] && [ -z "${li##*$1*}" ] && return 0 - sleep 0.1 - cnt=$(($cnt+1)) - done - return 1 -} - -linkup() { - wait_for_if_link $1 2>/dev/null\ - && ip link set $1 up 2>/dev/null\ - && wait_for_if_up $1 2>/dev/null -} - -wait_for_if_link eth0 ens3 -wait_for_if_link eth1 ens4 -wait_for_if_link eth2 ens5 -wait_for_if_link eth3 ens6 - -modprobe --all -b -q 8021q ipvlan macvlan ->/dev/watchdog -ip addr add 127.0.0.1/8 dev lo -linkup lo -ip link set dev eth0 name ens3 -ip addr add 192.168.50.1/24 dev ens3 -linkup ens3 ->/dev/watchdog -ip link set dev eth1 name ens4 -ip link add dev ens4.1 link ens4 type vlan id 1 -ip link add dev ens4.2 link ens4 type vlan id 2 -ip link add dev ens4.3 link ens4 type vlan id 3 -ip link add dev ens4.4 link ens4 type vlan id 4 -ip addr add 192.168.54.1/24 dev ens4.1 -ip addr add 192.168.55.1/24 dev ens4.2 -ip addr add 192.168.56.1/24 dev ens4.3 -ip addr add 192.168.57.1/24 dev ens4.4 -linkup ens4 -ip link set dev ens4.1 up -ip link set dev ens4.2 up -ip link set dev ens4.3 up -ip link set dev ens4.4 up -ip link set dev eth2 name ens5 -ip addr add 192.168.51.1/24 dev ens5 -linkup ens5 -ip link set dev eth3 name ens6 -linkup ens6 ->/dev/watchdog -modprobe af_packet -> /dev/watchdog -modprobe sunrpc ->/dev/watchdog -mount -t rpc_pipefs sunrpc /var/lib/nfs/rpc_pipefs ->/dev/watchdog -[ -x /sbin/portmap ] && portmap ->/dev/watchdog -mkdir -p /run/rpcbind -[ -x /sbin/rpcbind ] && rpcbind ->/dev/watchdog -modprobe nfsd ->/dev/watchdog -mount -t nfsd nfsd /proc/fs/nfsd ->/dev/watchdog -exportfs -r ->/dev/watchdog -rpc.nfsd ->/dev/watchdog -rpc.mountd ->/dev/watchdog -rpc.idmapd ->/dev/watchdog -exportfs -r ->/dev/watchdog ->/var/lib/dhcpd/dhcpd.leases ->/dev/watchdog -chmod 777 /var/lib/dhcpd/dhcpd.leases ->/dev/watchdog -dhcpd -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases ens3 ens5 -#echo -n 'V' > /dev/watchdog -#sh -i -#tcpdump -i ens3 -# Wait forever for the VM to die -echo "Serving NFS mounts" -while :; do - sleep 10 - >/dev/watchdog -done -mount -n -o remount,ro / -poweroff -f diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh deleted file mode 100755 index 8e2933326..000000000 --- a/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh +++ /dev/null @@ -1,345 +0,0 @@ -#!/bin/bash -# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- -# ex: ts=8 sw=4 sts=4 et filetype=sh -TEST_DESCRIPTION="root filesystem on NFS with bridging/bonding/vlan" -KVERSION=${KVERSION-$(uname -r)} - -# Uncomment this to debug failures -#DEBUGFAIL="rd.shell rd.break" -#DEBUGFAIL="rd.shell rd.break rd.debug" -#SERIAL="tcp:127.0.0.1:9999" - -run_server() { - # Start server first - echo "MULTINIC TEST SETUP: Starting DHCP/NFS server" - - fsck -a "$TESTDIR"/server.ext3 || return 1 - - $testdir/run-qemu \ - -hda "$TESTDIR"/server.ext3 \ - -m 512M -smp 2 \ - -display none \ - -netdev socket,id=n0,listen=127.0.0.1:12370 \ - -netdev socket,id=n1,listen=127.0.0.1:12371 \ - -netdev socket,id=n2,listen=127.0.0.1:12372 \ - -netdev socket,id=n3,listen=127.0.0.1:12373 \ - -device e1000,netdev=n0,mac=52:54:01:12:34:56 \ - -device e1000,netdev=n1,mac=52:54:01:12:34:57 \ - -device e1000,netdev=n2,mac=52:54:01:12:34:58 \ - -device e1000,netdev=n3,mac=52:54:01:12:34:59 \ - ${SERIAL:+-serial "$SERIAL"} \ - ${SERIAL:--serial file:"$TESTDIR"/server.log} \ - -watchdog i6300esb -watchdog-action poweroff \ - -no-reboot \ - -append "panic=1 systemd.crash_reboot loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 rd.debug" \ - -initrd "$TESTDIR"/initramfs.server \ - -pidfile "$TESTDIR"/server.pid -daemonize || return 1 - chmod 644 -- "$TESTDIR"/server.pid || return 1 - - # Cleanup the terminal if we have one - tty -s && stty sane - - if ! [[ $SERIAL ]]; then - echo "Waiting for the server to startup" - while : ; do - grep Serving "$TESTDIR"/server.log && break - sleep 1 - done - else - echo Sleeping 10 seconds to give the server a head start - sleep 10 - fi -} - -client_test() { - local test_name="$1" - local do_vlan13="$2" - local cmdline="$3" - local check="$4" - local CONF - - echo "CLIENT TEST START: $test_name" - - [ "$do_vlan13" != "yes" ] && unset do_vlan13 - - # Need this so kvm-qemu will boot (needs non-/dev/zero local disk) - if ! dd if=/dev/zero of="$TESTDIR"/client.img bs=1M count=1; then - echo "Unable to make client sda image" 1>&2 - return 1 - fi - if [[ $do_vlan13 ]]; then - nic1=" -netdev socket,connect=127.0.0.1:12371,id=n1" - nic3=" -netdev socket,connect=127.0.0.1:12373,id=n3" - else - nic1=" -netdev hubport,id=n1,hubid=2" - nic3=" -netdev hubport,id=n3,hubid=3" - fi - - if $testdir/run-qemu --help | grep -qF -m1 'netdev hubport,id=str,hubid=n[,netdev=nd]' && echo OK; then - $testdir/run-qemu \ - -hda "$TESTDIR"/client.img -m 512M -smp 2 -nographic \ - -netdev socket,connect=127.0.0.1:12370,id=s1 \ - -netdev hubport,hubid=1,id=h1,netdev=s1 \ - -netdev hubport,hubid=1,id=h2 -device e1000,mac=52:54:00:12:34:01,netdev=h2 \ - -netdev hubport,hubid=1,id=h3 -device e1000,mac=52:54:00:12:34:02,netdev=h3 \ - $nic1 -device e1000,mac=52:54:00:12:34:03,netdev=n1 \ - -netdev socket,connect=127.0.0.1:12372,id=n2 -device e1000,mac=52:54:00:12:34:04,netdev=n2 \ - $nic3 -device e1000,mac=52:54:00:12:34:05,netdev=n3 \ - -watchdog i6300esb -watchdog-action poweroff \ - -no-reboot \ - -append "panic=1 systemd.crash_reboot $cmdline rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \ - -initrd "$TESTDIR"/initramfs.testing - else - $testdir/run-qemu \ - -hda "$TESTDIR"/client.img -m 512M -smp 2 -nographic \ - -net socket,vlan=0,connect=127.0.0.1:12370 \ - ${do_vlan13:+-net socket,vlan=1,connect=127.0.0.1:12371} \ - -net socket,vlan=2,connect=127.0.0.1:12372 \ - ${do_vlan13:+-net socket,vlan=3,connect=127.0.0.1:12373} \ - -net nic,vlan=0,macaddr=52:54:00:12:34:01,model=e1000 \ - -net nic,vlan=0,macaddr=52:54:00:12:34:02,model=e1000 \ - -net nic,vlan=1,macaddr=52:54:00:12:34:03,model=e1000 \ - -net nic,vlan=2,macaddr=52:54:00:12:34:04,model=e1000 \ - -net nic,vlan=3,macaddr=52:54:00:12:34:05,model=e1000 \ - -watchdog i6300esb -watchdog-action poweroff \ - -no-reboot \ - -append "panic=1 systemd.crash_reboot $cmdline rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \ - -initrd "$TESTDIR"/initramfs.testing - fi - - { - read OK - if [[ "$OK" != "OK" ]]; then - echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]" - return 1 - fi - - while read line; do - [[ $line == END ]] && break - CONF+="$line " - done - } < "$TESTDIR"/client.img || return 1 - - if [[ ! "$CONF" =~ ^$check$ ]]; then - echo "Expected: /^$check\$/" - echo - echo - echo "Got: '$CONF'" - echo "CLIENT TEST END: $test_name [FAILED - BAD CONF]" - return 1 - fi - - echo "CLIENT TEST END: $test_name [OK]" - return 0 -} - - -test_run() { - if ! run_server; then - echo "Failed to start server" 1>&2 - return 1 - fi - test_client || { kill_server; return 1; } -} - -test_client() { - client_test "Multiple VLAN" \ - "yes" \ - " -vlan=vlan0001:ens5 -vlan=vlan2:ens5 -vlan=ens5.3:ens5 -vlan=ens5.0004:ens5 -ip=ens3:dhcp -ip=192.168.54.101::192.168.54.1:24:test:vlan0001:none -ip=192.168.55.102::192.168.55.1:24:test:vlan2:none -ip=192.168.56.103::192.168.56.1:24:test:ens5.3:none -ip=192.168.57.104::192.168.57.1:24:test:ens5.0004:none -rd.neednet=1 -root=nfs:192.168.50.1:/nfs/client bootdev=ens3 -" \ - 'ens3 inet 192\.168\.50\.[0-9]*/24 brd 192\.168\.50\.255 ens5\.0004 inet 192\.168\.57\.104/24 brd 192\.168\.57\.255 ens5\.3 inet 192\.168\.56\.103/24 brd 192\.168\.56\.255 vlan0001 inet 192\.168\.54\.101/24 brd 192\.168\.54\.255 vlan2 inet 192\.168\.55\.102/24 brd 192\.168\.55\.255 EOF ' \ - || return 1 - - client_test "Multiple Bonds" \ - "yes" \ - " -bond=bond0:ens4,ens5 -bond=bond1:ens6,ens7 -ip=bond0:dhcp -ip=bond1:dhcp -rd.neednet=1 -root=nfs:192.168.50.1:/nfs/client bootdev=bond0 -" \ - 'bond0 inet 192\.168\.50\.[0-9]*/24 brd 192\.168\.50\.255 bond1 inet 192\.168\.51\.[0-9]*/24 brd 192\.168\.51\.255 EOF ' \ - || return 1 - - client_test "Multiple Bridges" \ - "no" \ - " -bridge=br0:ens4,ens5 -bridge=br1:ens6,ens7 -ip=br0:dhcp -ip=br1:dhcp -rd.neednet=1 -root=nfs:192.168.50.1:/nfs/client bootdev=br0 -" \ - 'br0 inet 192\.168\.50\.[0-9]*/24 brd 192\.168\.50\.255 br1 inet 192\.168\.51\.[0-9]*/24 brd 192\.168\.51\.255 EOF ' \ - || return 1 - - kill_server - return 0 -} - -test_setup() { - # Make server root - dd if=/dev/null of="$TESTDIR"/server.ext3 bs=1M seek=120 - mke2fs -j -F -- "$TESTDIR"/server.ext3 - mkdir -- "$TESTDIR"/mnt - mount -o loop -- "$TESTDIR"/server.ext3 "$TESTDIR"/mnt - kernel=$KVERSION - ( - export initdir="$TESTDIR"/mnt - . "$basedir"/dracut-init.sh - - ( - cd "$initdir"; - mkdir -p -- dev sys proc run etc var/run tmp var/lib/{dhcpd,rpcbind} - mkdir -p -- var/lib/nfs/{v4recovery,rpc_pipefs} - chmod 777 -- var/lib/rpcbind var/lib/nfs - ) - - for _f in modules.builtin.bin modules.builtin; do - [[ $srcmods/$_f ]] && break - done || { - dfatal "No modules.builtin.bin and modules.builtin found!" - return 1 - } - - for _f in modules.builtin.bin modules.builtin modules.order; do - [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f" - done - - inst_multiple sh ls shutdown poweroff stty cat ps ln ip \ - dmesg mkdir cp ping exportfs \ - modprobe rpc.nfsd rpc.mountd showmount tcpdump \ - /etc/services sleep mount chmod - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do - [ -f "${_terminfodir}"/l/linux ] && break - done - inst_multiple -o "${_terminfodir}"/l/linux - type -P portmap >/dev/null && inst_multiple portmap - type -P rpcbind >/dev/null && inst_multiple rpcbind - [ -f /etc/netconfig ] && inst_multiple /etc/netconfig - type -P dhcpd >/dev/null && inst_multiple dhcpd - [ -x /usr/sbin/dhcpd3 ] && inst /usr/sbin/dhcpd3 /usr/sbin/dhcpd - instmods nfsd sunrpc ipv6 lockd af_packet 8021q ipvlan macvlan - inst_simple /etc/os-release - inst ./server-init.sh /sbin/init - inst ./hosts /etc/hosts - inst ./exports /etc/exports - inst ./dhcpd.conf /etc/dhcpd.conf - inst_multiple /etc/nsswitch.conf /etc/rpc /etc/protocols - - inst_multiple rpc.idmapd /etc/idmapd.conf - - inst_libdir_file 'libnfsidmap_nsswitch.so*' - inst_libdir_file 'libnfsidmap/*.so*' - inst_libdir_file 'libnfsidmap*.so*' - - _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \ - | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|') - _nsslibs=${_nsslibs#|} - _nsslibs=${_nsslibs%|} - - inst_libdir_file -n "$_nsslibs" 'libnss_*.so*' - - inst /etc/nsswitch.conf /etc/nsswitch.conf - inst /etc/passwd /etc/passwd - inst /etc/group /etc/group - - cp -a -- /etc/ld.so.conf* "$initdir"/etc - ldconfig -r "$initdir" - dracut_kernel_post - ) - - # Make client root inside server root - ( - export initdir="$TESTDIR"/mnt/nfs/client - . "$basedir"/dracut-init.sh - inst_multiple sh shutdown poweroff stty cat ps ln ip \ - mount dmesg mkdir cp ping grep ls sort sed - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do - [[ -f ${_terminfodir}/l/linux ]] && break - done - inst_multiple -o "${_terminfodir}"/l/linux - inst_simple /etc/os-release - inst ./client-init.sh /sbin/init - ( - cd "$initdir" - mkdir -p -- dev sys proc etc run - mkdir -p -- var/lib/nfs/rpc_pipefs - ) - inst /etc/nsswitch.conf /etc/nsswitch.conf - inst /etc/passwd /etc/passwd - inst /etc/group /etc/group - - inst_multiple rpc.idmapd /etc/idmapd.conf - inst_libdir_file 'libnfsidmap_nsswitch.so*' - inst_libdir_file 'libnfsidmap/*.so*' - inst_libdir_file 'libnfsidmap*.so*' - - _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' -- /etc/nsswitch.conf \ - | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|') - _nsslibs=${_nsslibs#|} - _nsslibs=${_nsslibs%|} - - inst_libdir_file -n "$_nsslibs" 'libnss_*.so*' - - cp -a -- /etc/ld.so.conf* "$initdir"/etc - ldconfig -r "$initdir" - ) - - umount "$TESTDIR"/mnt - rm -fr -- "$TESTDIR"/mnt - - # Make an overlay with needed tools for the test harness - ( - export initdir="$TESTDIR"/overlay - . "$basedir"/dracut-init.sh - inst_multiple poweroff shutdown - inst_hook emergency 000 ./hard-off.sh - inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules - inst_simple ./99-default.link /etc/systemd/network/99-default.link - ) - - # Make server's dracut image - $basedir/dracut.sh -l -i "$TESTDIR"/overlay / \ - --no-early-microcode \ - -m "udev-rules base rootfs-block fs-lib debug kernel-modules watchdog qemu" \ - -d "ipvlan macvlan af_packet piix ide-gd_mod ata_piix ext3 sd_mod nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files nfsd e1000 i6300esb ib700wdt" \ - --no-hostonly-cmdline -N \ - -f "$TESTDIR"/initramfs.server "$KVERSION" || return 1 - - # Make client's dracut image - $basedir/dracut.sh -l -i "$TESTDIR"/overlay / \ - --no-early-microcode \ - -o "plymouth" \ - -a "debug" \ - -d "ipvlan macvlan af_packet piix sd_mod sr_mod ata_piix ide-gd_mod e1000 nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files sunrpc i6300esb ib700wdt" \ - --no-hostonly-cmdline -N \ - -f "$TESTDIR"/initramfs.testing "$KVERSION" || return 1 -} - -kill_server() { - if [[ -s "$TESTDIR"/server.pid ]]; then - kill -TERM -- $(cat "$TESTDIR"/server.pid) - rm -f -- "$TESTDIR"/server.pid - fi -} - -test_cleanup() { - kill_server -} - -. "$testdir"/test-functions -- 2.47.2