Browse Source

testsuite: refactor qemu options

- refactor common qemu options
- fix the ens[0-9] interface shift
- add split network-[legacy|network] tests
master
Harald Hoyer 4 years ago
parent
commit
a3f73298f2
  1. 25
      .github/workflows/fedora-30.yml
  2. 26
      .github/workflows/fedora-31.yml
  3. 6
      .travis.yml
  4. 4
      test/TEST-01-BASIC/test.sh
  5. 4
      test/TEST-02-SYSTEMD/test.sh
  6. 4
      test/TEST-03-USR-MOUNT/test.sh
  7. 4
      test/TEST-04-FULL-SYSTEMD/test.sh
  8. 4
      test/TEST-10-RAID/test.sh
  9. 5
      test/TEST-11-LVM/test.sh
  10. 5
      test/TEST-12-RAID-DEG/test.sh
  11. 11
      test/TEST-13-ENC-RAID-LVM/test.sh
  12. 4
      test/TEST-14-IMSM/test.sh
  13. 4
      test/TEST-15-BTRFSRAID/test.sh
  14. 4
      test/TEST-16-DMSQUASH/test.sh
  15. 5
      test/TEST-17-LVM-THIN/test.sh
  16. 12
      test/TEST-20-NFS/server-init.sh
  17. 28
      test/TEST-20-NFS/test.sh
  18. 12
      test/TEST-21-NFS-NM/Makefile
  19. 14
      test/TEST-30-ISCSI/server-init.sh
  20. 56
      test/TEST-30-ISCSI/test.sh
  21. 12
      test/TEST-31-ISCSI-NM/Makefile
  22. 0
      test/TEST-35-ISCSI-MULTI/99-idesymlinks.rules
  23. 0
      test/TEST-35-ISCSI-MULTI/Makefile
  24. 0
      test/TEST-35-ISCSI-MULTI/client-init.sh
  25. 0
      test/TEST-35-ISCSI-MULTI/create-root.sh
  26. 0
      test/TEST-35-ISCSI-MULTI/dhcpd.conf
  27. 0
      test/TEST-35-ISCSI-MULTI/finished-false.sh
  28. 0
      test/TEST-35-ISCSI-MULTI/hard-off.sh
  29. 0
      test/TEST-35-ISCSI-MULTI/hosts
  30. 14
      test/TEST-35-ISCSI-MULTI/server-init.sh
  31. 71
      test/TEST-35-ISCSI-MULTI/test.sh
  32. 12
      test/TEST-36-ISCSI-MULTI-NM/Makefile
  33. 8
      test/TEST-40-NBD/test.sh
  34. 12
      test/TEST-41-NBD-NM/Makefile
  35. 2
      test/TEST-50-MULTINIC/server-init.sh
  36. 52
      test/TEST-50-MULTINIC/test.sh
  37. 12
      test/TEST-51-MULTINIC-NM/Makefile
  38. 4
      test/TEST-60-BONDBRIDGEVLANIFCFG/client-init.sh
  39. 54
      test/TEST-60-BONDBRIDGEVLANIFCFG/server-init.sh
  40. 135
      test/TEST-60-BONDBRIDGEVLANIFCFG/test.sh
  41. 12
      test/TEST-61-BONDBRIDGEVLANIFCFG-NM/Makefile
  42. 12
      test/run-qemu

25
.github/workflows/fedora-30.yml

@ -17,7 +17,30 @@ jobs: @@ -17,7 +17,30 @@ jobs:
timeout-minutes: 30
strategy:
matrix:
test: [ "01", "02", "03", "04", "10", "11", "12", "13", "14", "15", "17", "20", "30", "31", "40", "50", "60" ]
test: [
"01",
"02",
"03",
"04",
"10",
"11",
"12",
"13",
"14",
"15",
"17",
"20",
"30",
"31",
"35",
"36",
"40",
"41",
"50",
"51",
"60",
"61"
]
fail-fast: false
steps:
- name: "Checkout Repository"

26
.github/workflows/fedora-31.yml

@ -17,7 +17,31 @@ jobs: @@ -17,7 +17,31 @@ jobs:
timeout-minutes: 30
strategy:
matrix:
test: [ "01", "02", "03", "04", "10", "11", "12", "13", "14", "15", "17", "20", "30", "31", "40", "50", "60" ]
test: [
"01",
"02",
"03",
"04",
"10",
"11",
"12",
"13",
"14",
"15",
"17",
"20",
"21",
"30",
"31",
"35",
"36",
"40",
"41",
"50",
"51",
"60",
"61"
]
fail-fast: false
steps:
- name: "Checkout Repository"

6
.travis.yml

@ -9,11 +9,17 @@ env: @@ -9,11 +9,17 @@ env:
- IMAGE=latest TESTS=01
- IMAGE=latest TESTS=12
- IMAGE=latest TESTS=20
- IMAGE=latest TESTS=21
- IMAGE=latest TESTS=50
- IMAGE=latest TESTS=51
- IMAGE=latest TESTS=30
- IMAGE=latest TESTS=31
- IMAGE=latest TESTS=35
- IMAGE=latest TESTS=36
- IMAGE=latest TESTS=40
- IMAGE=latest TESTS=41
- IMAGE=latest TESTS=60
- IMAGE=latest TESTS=61
- IMAGE=latest TESTS=99
- IMAGE=latest TESTS=02
- IMAGE=latest TESTS=03

4
test/TEST-01-BASIC/test.sh

@ -11,10 +11,7 @@ test_run() { @@ -11,10 +11,7 @@ test_run() {
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext3 \
-drive format=raw,index=1,media=disk,file=$TESTDIR/result \
-m 512M -smp 2 -nographic \
-net none \
-watchdog i6300esb -watchdog-action poweroff \
-no-reboot \
-append "panic=1 systemd.crash_reboot root=LABEL=dracut rw systemd.log_level=debug systemd.log_target=console rd.retry=3 rd.debug console=ttyS0,115200n81 rd.shell=0 $DEBUGFAIL" \
-initrd $TESTDIR/initramfs.testing || return 1
grep -F -m 1 -q dracut-root-block-success $TESTDIR/result || return 1
@ -80,7 +77,6 @@ test_setup() { @@ -80,7 +77,6 @@ test_setup() {

$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext3 \
-m 512M -smp 2 -nographic -net none \
-append "root=/dev/dracut/root 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/root.ext3 || return 1

4
test/TEST-02-SYSTEMD/test.sh

@ -8,9 +8,6 @@ KVERSION="${KVERSION-$(uname -r)}" @@ -8,9 +8,6 @@ KVERSION="${KVERSION-$(uname -r)}"
test_run() {
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext3 \
-m 512M -smp 2 -nographic \
-net none \
-no-reboot \
-append "panic=1 systemd.crash_reboot root=LABEL=dracut rw loglevel=77 systemd.log_level=debug systemd.log_target=console rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.shell=0 $DEBUGFAIL" \
-initrd $TESTDIR/initramfs.testing
grep -F -m 1 -q dracut-root-block-success $TESTDIR/root.ext3 || return 1
@ -77,7 +74,6 @@ test_setup() { @@ -77,7 +74,6 @@ test_setup() {

$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext3 \
-m 512M -smp 2 -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/root.ext3 || return 1

4
test/TEST-03-USR-MOUNT/test.sh

@ -18,10 +18,7 @@ client_run() { @@ -18,10 +18,7 @@ client_run() {
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.btrfs \
-drive format=raw,index=1,media=disk,file=$TESTDIR/usr.btrfs \
-drive format=raw,index=2,media=disk,file=$TESTDIR/result \
-m 512M -smp 2 -nographic \
-net none \
-watchdog i6300esb -watchdog-action poweroff \
-no-reboot \
-append "panic=1 systemd.crash_reboot root=LABEL=dracut $client_opts quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \
-initrd $TESTDIR/initramfs.testing

@ -115,7 +112,6 @@ test_setup() { @@ -115,7 +112,6 @@ test_setup() {
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.btrfs \
-drive format=raw,index=1,media=disk,file=$TESTDIR/usr.btrfs \
-m 512M -smp 2 -nographic -net none \
-append "root=/dev/dracut/root rw rootfstype=btrfs quiet console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.makeroot || return 1
if ! grep -F -m 1 -q dracut-root-block-created $TESTDIR/root.btrfs; then

4
test/TEST-04-FULL-SYSTEMD/test.sh

@ -20,9 +20,6 @@ client_run() { @@ -20,9 +20,6 @@ client_run() {
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.btrfs \
-drive format=raw,index=1,media=disk,file=$TESTDIR/usr.btrfs \
-drive format=raw,index=2,media=disk,file=$TESTDIR/result \
-m 512M -smp 2 -nographic \
-net none \
-no-reboot \
-append "panic=1 systemd.crash_reboot root=LABEL=dracut $client_opts rd.retry=3 console=ttyS0,115200n81 selinux=0 $DEBUGOUT rd.shell=0 $DEBUGFAIL" \
-initrd $TESTDIR/initramfs.testing

@ -253,7 +250,6 @@ EOF @@ -253,7 +250,6 @@ EOF
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.btrfs \
-drive format=raw,index=1,media=disk,file=$TESTDIR/usr.btrfs \
-m 512M -smp 2 -nographic -net none \
-append "root=/dev/fakeroot rw rootfstype=btrfs quiet console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.makeroot || return 1
if ! grep -F -m 1 -q dracut-root-block-created $TESTDIR/root.btrfs; then

4
test/TEST-10-RAID/test.sh

@ -10,9 +10,6 @@ test_run() { @@ -10,9 +10,6 @@ test_run() {
DISKIMAGE=$TESTDIR/TEST-10-RAID-root.img
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$DISKIMAGE \
-m 512M -smp 2 -nographic \
-net none \
-no-reboot \
-append "panic=1 systemd.crash_reboot root=/dev/dracut/root rd.auto rw rd.retry=10 console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \
-initrd $TESTDIR/initramfs.testing
grep -F -m 1 -q dracut-root-block-success $DISKIMAGE || return 1
@ -77,7 +74,6 @@ test_setup() { @@ -77,7 +74,6 @@ test_setup() {
# Invoke KVM and/or QEMU to actually create the target filesystem.
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$DISKIMAGE \
-m 512M -smp 2 -nographic -net none \
-append "root=/dev/cannotreach rw rootfstype=ext2 console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.makeroot || return 1
grep -F -m 1 -q dracut-root-block-created $DISKIMAGE || return 1

5
test/TEST-11-LVM/test.sh

@ -9,9 +9,6 @@ KVERSION=${KVERSION-$(uname -r)} @@ -9,9 +9,6 @@ KVERSION=${KVERSION-$(uname -r)}
test_run() {
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 \
-m 512M -smp 2 -nographic \
-net none \
-no-reboot \
-append "panic=1 systemd.crash_reboot root=/dev/dracut/root rw rd.auto=1 quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \
-initrd $TESTDIR/initramfs.testing
grep -F -m 1 -q dracut-root-block-success $TESTDIR/root.ext2 || return 1
@ -72,7 +69,7 @@ test_setup() { @@ -72,7 +69,7 @@ test_setup() {
-f $TESTDIR/initramfs.makeroot $KVERSION || return 1
rm -rf -- $TESTDIR/overlay
# Invoke KVM and/or QEMU to actually create the target filesystem.
$testdir/run-qemu -drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 -m 512M -smp 2 -nographic -net none \
$testdir/run-qemu -drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 \
-append "root=/dev/fakeroot rw rootfstype=ext2 quiet console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.makeroot || return 1
grep -F -m 1 -q dracut-root-block-created $TESTDIR/root.ext2 || return 1

5
test/TEST-12-RAID-DEG/test.sh

@ -15,11 +15,9 @@ client_run() { @@ -15,11 +15,9 @@ client_run() {
cp --sparse=always --reflink=auto $TESTDIR/disk3.img $TESTDIR/disk3.img.new

$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 -m 512M -nographic -smp 2 \
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 \
-drive format=raw,index=2,media=disk,file=$TESTDIR/disk2.img.new \
-drive format=raw,index=3,media=disk,file=$TESTDIR/disk3.img.new \
-net none \
-no-reboot \
-append "panic=1 systemd.crash_reboot $* systemd.log_target=kmsg loglevel=7 root=LABEL=root rw rd.retry=20 rd.info console=ttyS0,115200n81 log_buf_len=2M selinux=0 rd.debug rd.shell=0 $DEBUGFAIL " \
-initrd $TESTDIR/initramfs.testing
if ! grep -F -m 1 -q dracut-root-block-success $TESTDIR/root.ext2; then
@ -117,7 +115,6 @@ test_setup() { @@ -117,7 +115,6 @@ test_setup() {
-drive format=raw,index=1,media=disk,file=$TESTDIR/disk1.img \
-drive format=raw,index=2,media=disk,file=$TESTDIR/disk2.img \
-drive format=raw,index=3,media=disk,file=$TESTDIR/disk3.img \
-m 512M -smp 2 -nographic -net none \
-append "root=/dev/fakeroot rw rootfstype=ext2 quiet console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.makeroot || return 1


11
test/TEST-13-ENC-RAID-LVM/test.sh

@ -17,9 +17,6 @@ test_run() { @@ -17,9 +17,6 @@ test_run() {
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 \
-drive format=raw,index=1,media=disk,file=$TESTDIR/check-success.img \
-m 1024M -smp 2 -nographic \
-net none \
-no-reboot \
-append "panic=1 systemd.crash_reboot root=/dev/dracut/root rw rd.auto rd.retry=20 console=ttyS0,115200n81 selinux=0 rd.debug rootwait $LUKSARGS rd.shell=0 $DEBUGFAIL" \
-initrd $TESTDIR/initramfs.testing
grep -F -m 1 -q dracut-root-block-success $TESTDIR/check-success.img || return 1
@ -31,9 +28,6 @@ test_run() { @@ -31,9 +28,6 @@ test_run() {
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 \
-drive format=raw,index=1,media=disk,file=$TESTDIR/check-success.img \
-m 1024M -smp 2 -nographic \
-net none \
-no-reboot \
-append "panic=1 systemd.crash_reboot root=/dev/dracut/root rw quiet rd.auto rd.retry=20 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL" \
-initrd $TESTDIR/initramfs.testing
grep -F -m 1 -q dracut-root-block-success $TESTDIR/check-success.img || return 1
@ -45,9 +39,6 @@ test_run() { @@ -45,9 +39,6 @@ test_run() {
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 \
-drive format=raw,index=1,media=disk,file=$TESTDIR/check-success.img \
-m 1024M -smp 2 -nographic \
-net none \
-no-reboot \
-append "panic=1 systemd.crash_reboot root=/dev/dracut/root rw quiet rd.auto rd.retry=10 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL rd.luks.uuid=failme" \
-initrd $TESTDIR/initramfs.testing
grep -F -m 1 -q dracut-root-block-success $TESTDIR/check-success.img && return 1
@ -111,7 +102,7 @@ test_setup() { @@ -111,7 +102,7 @@ test_setup() {
-f $TESTDIR/initramfs.makeroot $KVERSION || return 1
rm -rf -- $TESTDIR/overlay
# Invoke KVM and/or QEMU to actually create the target filesystem.
$testdir/run-qemu -drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 -m 512M -smp 2 -nographic -net none \
$testdir/run-qemu -drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 \
-append "root=/dev/fakeroot rw rootfstype=ext2 quiet console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.makeroot || return 1
grep -F -m 1 -q dracut-root-block-created $TESTDIR/root.ext2 || return 1

4
test/TEST-14-IMSM/test.sh

@ -13,9 +13,6 @@ client_run() { @@ -13,9 +13,6 @@ client_run() {
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 \
-drive format=raw,index=1,media=disk,file=$TESTDIR/disk1 \
-drive format=raw,index=2,media=disk,file=$TESTDIR/disk2 \
-m 512M -smp 2 -nographic \
-net none \
-no-reboot \
-append "panic=1 systemd.crash_reboot $* root=LABEL=root rw debug rd.retry=5 rd.debug console=ttyS0,115200n81 selinux=0 rd.info rd.shell=0 $DEBUGFAIL" \
-initrd $TESTDIR/initramfs.testing
if ! grep -F -m 1 -q dracut-root-block-success $TESTDIR/root.ext2; then
@ -109,7 +106,6 @@ test_setup() { @@ -109,7 +106,6 @@ test_setup() {
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 \
-drive format=raw,index=1,media=disk,file=$TESTDIR/disk1 \
-drive format=raw,index=2,media=disk,file=$TESTDIR/disk2 \
-m 512M -nographic -net none \
-append "root=/dev/dracut/root rw rootfstype=ext2 quiet console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.makeroot || return 1
grep -F -m 1 -q dracut-root-block-created $TESTDIR/root.ext2 || return 1

4
test/TEST-15-BTRFSRAID/test.sh

@ -12,9 +12,6 @@ test_run() { @@ -12,9 +12,6 @@ test_run() {
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$MARKER_DISKIMAGE \
-drive format=raw,index=1,media=disk,file=$DISKIMAGE \
-m 512M -smp 2 -nographic \
-net none \
-no-reboot \
-append "panic=1 systemd.crash_reboot root=LABEL=root rw rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \
-initrd $TESTDIR/initramfs.testing
grep -F -m 1 -q dracut-root-block-success $MARKER_DISKIMAGE || return 1
@ -81,7 +78,6 @@ test_setup() { @@ -81,7 +78,6 @@ test_setup() {
# Invoke KVM and/or QEMU to actually create the target filesystem.
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$DISKIMAGE \
-m 512M -smp 2 -nographic -net none \
-append "root=/dev/fakeroot rw quiet console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.makeroot || return 1


4
test/TEST-16-DMSQUASH/test.sh

@ -22,10 +22,6 @@ test_run() { @@ -22,10 +22,6 @@ test_run() {
-boot order=d \
-drive format=raw,bps=1000000,index=0,media=disk,file="$TESTDIR"/livecd.iso \
-drive format=raw,index=1,media=disk,file="$TESTDIR"/root.img \
-m 512M -smp 2 \
-nographic \
-net none \
-no-reboot \
-append "panic=1 systemd.crash_reboot root=live:CDLABEL=LiveCD live rw quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \
-initrd "$TESTDIR"/initramfs.testing


5
test/TEST-17-LVM-THIN/test.sh

@ -9,9 +9,6 @@ KVERSION=${KVERSION-$(uname -r)} @@ -9,9 +9,6 @@ KVERSION=${KVERSION-$(uname -r)}
test_run() {
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 \
-m 512M -smp 2 -nographic \
-net none \
-no-reboot \
-append "panic=1 systemd.crash_reboot root=/dev/dracut/root rw rd.auto=1 quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \
-initrd $TESTDIR/initramfs.testing
grep -F -m 1 -q dracut-root-block-success $TESTDIR/root.ext2 || return 1
@ -72,7 +69,7 @@ test_setup() { @@ -72,7 +69,7 @@ test_setup() {
-f $TESTDIR/initramfs.makeroot $KVERSION || return 1
rm -rf -- $TESTDIR/overlay
# Invoke KVM and/or QEMU to actually create the target filesystem.
$testdir/run-qemu -drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 -m 512M -smp 2 -nographic -net none \
$testdir/run-qemu -drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 \
-append "root=/dev/fakeroot rw rootfstype=ext2 quiet console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.makeroot || return 1
grep -F -m 1 -q dracut-root-block-created $TESTDIR/root.ext2 || return 1

12
test/TEST-20-NFS/server-init.sh

@ -54,15 +54,15 @@ linkup() { @@ -54,15 +54,15 @@ linkup() {
&& wait_for_if_up $1 2>/dev/null
}

wait_for_if_link eth0 ens3
wait_for_if_link eth0 ens2

ip addr add 127.0.0.1/8 dev lo
ip link set lo up
ip link set dev eth0 name ens3
ip addr add 192.168.50.1/24 dev ens3
ip addr add 192.168.50.2/24 dev ens3
ip addr add 192.168.50.3/24 dev ens3
linkup ens3
ip link set dev eth0 name ens2
ip addr add 192.168.50.1/24 dev ens2
ip addr add 192.168.50.2/24 dev ens2
ip addr add 192.168.50.3/24 dev ens2
linkup ens2

echo > /dev/watchdog
modprobe af_packet

28
test/TEST-20-NFS/test.sh

@ -1,5 +1,14 @@ @@ -1,5 +1,14 @@
#!/bin/bash
TEST_DESCRIPTION="root filesystem on NFS"

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 on NFS with $USE_NETWORK"

KVERSION=${KVERSION-$(uname -r)}

@ -17,14 +26,11 @@ run_server() { @@ -17,14 +26,11 @@ run_server() {
fsck -a $TESTDIR/server.ext3 || return 1
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/server.ext3 \
-m 512M -smp 2 \
-display none \
-net socket,listen=127.0.0.1:12320 \
-net nic,macaddr=52:54:00:12:34:56,model=e1000 \
${SERIAL:+-serial "$SERIAL"} \
${SERIAL:--serial file:"$TESTDIR"/server.log} \
-watchdog i6300esb -watchdog-action poweroff \
-no-reboot \
-append "panic=1 quiet root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.server \
-pidfile $TESTDIR/server.pid -daemonize || return 1
@ -34,9 +40,9 @@ run_server() { @@ -34,9 +40,9 @@ 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"
sleep 1
done
else
@ -56,19 +62,17 @@ client_test() { @@ -56,19 +62,17 @@ client_test() {
echo "CLIENT TEST START: $test_name"

# 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
if ! dd if=/dev/zero of=$TESTDIR/client.img bs=1M count=1 &>/dev/null; then
echo "Unable to make client sda image" 1>&2
return 1
fi

$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/client.img \
-m 512M -smp 2 -nographic \
-net nic,macaddr=$mac,model=e1000 \
-net socket,connect=127.0.0.1:12320 \
-watchdog i6300esb -watchdog-action poweroff \
-no-reboot \
-append "panic=1 systemd.crash_reboot rd.shell=0 $cmdline $DEBUGFAIL rd.retry=10 quiet ro console=ttyS0,115200n81 selinux=0" \
-append "rd.net.timeout.dhcp=3 panic=1 systemd.crash_reboot rd.shell=0 $cmdline $DEBUGFAIL rd.retry=10 quiet ro console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.testing

if [[ $? -ne 0 ]] || ! grep -F -m 1 -q nfs-OK $TESTDIR/client.img; then
@ -163,7 +167,7 @@ test_nfsv3() { @@ -163,7 +167,7 @@ test_nfsv3() {
52:54:00:12:34:05 "root=dhcp" 192.168.50.1 wsize=4096 || return 1

client_test "NFSv3 Bridge Customized root=dhcp DHCP path,options" \
52:54:00:12:34:05 "root=dhcp bridge=foobr0:ens3" 192.168.50.1 wsize=4096 || return 1
52:54:00:12:34:05 "root=dhcp bridge=foobr0:ens2" 192.168.50.1 wsize=4096 || return 1

client_test "NFSv3 root=dhcp DHCP IP:path,options" \
52:54:00:12:34:06 "root=dhcp" 192.168.50.2 wsize=4096 || return 1
@ -365,8 +369,8 @@ test_setup() { @@ -365,8 +369,8 @@ test_setup() {

# Make client's dracut image
$basedir/dracut.sh -l -i $TESTDIR/overlay / \
-o "plymouth dash" \
-a "debug watchdog" \
-o "plymouth dash ${OMIT_NETWORK}" \
-a "debug watchdog ${USE_NETWORK}" \
-d "af_packet piix ide-gd_mod ata_piix sd_mod e1000 nfs sunrpc i6300esb" \
--no-hostonly-cmdline -N \
-f $TESTDIR/initramfs.testing $KVERSION || return 1

12
test/TEST-21-NFS-NM/Makefile

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
.PHONY: all setup clean run

BASETEST=../TEST-20-NFS

all:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) all
setup:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) setup
clean:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) clean
run:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) run

14
test/TEST-30-ISCSI/server-init.sh

@ -24,17 +24,17 @@ wait_for_if_link() { @@ -24,17 +24,17 @@ wait_for_if_link() {
return 1
}

wait_for_if_link eth0 ens3
wait_for_if_link eth1 ens4
wait_for_if_link eth0 ens2
wait_for_if_link eth1 ens3

ip addr add 127.0.0.1/8 dev lo
ip link set lo up
ip link set dev eth0 name ens3
ip addr add 192.168.50.1/24 dev ens3
ip link set dev eth0 name ens2
ip addr add 192.168.50.1/24 dev ens2
ip link set ens2 up
ip link set dev eth1 name ens3
ip addr add 192.168.51.1/24 dev ens3
ip link set ens3 up
ip link set dev eth1 name ens4
ip addr add 192.168.51.1/24 dev ens4
ip link set ens4 up
>/var/lib/dhcpd/dhcpd.leases
chmod 777 /var/lib/dhcpd/dhcpd.leases
dhcpd -d -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases &

56
test/TEST-30-ISCSI/test.sh

@ -1,5 +1,14 @@ @@ -1,5 +1,14 @@
#!/bin/bash
TEST_DESCRIPTION="root filesystem over 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 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:12330 \
-no-reboot \
-append "panic=1 quiet root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \
-initrd $TESTDIR/initramfs.server \
-pidfile $TESTDIR/server.pid -daemonize || return 1
@ -55,11 +61,9 @@ run_client() { @@ -55,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:12330 \
-no-reboot \
-acpitable file=ibft.table \
-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
@ -76,13 +80,13 @@ do_test_run() { @@ -76,13 +80,13 @@ do_test_run() {
initiator=$(iscsi-iname)

run_client "root=dhcp" \
"root=/dev/root netroot=dhcp ip=ens3:dhcp" \
"root=/dev/root netroot=dhcp ip=ens2:dhcp" \
"rd.iscsi.initiator=$initiator" \
|| return 1

run_client "netroot=iscsi target0"\
"root=LABEL=singleroot netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0" \
"ip=192.168.50.101::192.168.50.1:255.255.255.0:iscsi-1:ens3:off" \
"ip=192.168.50.101::192.168.50.1:255.255.255.0:iscsi-1:ens2:off" \
"rd.iscsi.initiator=$initiator" \
|| return 1

@ -131,6 +135,7 @@ test_setup() { @@ -131,6 +135,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
@ -187,25 +192,10 @@ test_setup() { @@ -187,25 +192,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
@ -214,6 +204,7 @@ test_setup() { @@ -214,6 +204,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
@ -256,6 +247,25 @@ test_setup() { @@ -256,6 +247,25 @@ test_setup() {
-d "af_packet piix ide-gd_mod ata_piix ext3 sd_mod e1000 drbg" \
--no-hostonly-cmdline -N \
-f $TESTDIR/initramfs.server $KVERSION || return 1
rm -rf -- $TESTDIR/overlay

# 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

}


12
test/TEST-31-ISCSI-NM/Makefile

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
.PHONY: all setup clean run

BASETEST=../TEST-30-ISCSI

all:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) all
setup:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) setup
clean:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) clean
run:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) run

0
test/TEST-31-ISCSI-MULTI/99-idesymlinks.rules → test/TEST-35-ISCSI-MULTI/99-idesymlinks.rules

0
test/TEST-31-ISCSI-MULTI/Makefile → test/TEST-35-ISCSI-MULTI/Makefile

0
test/TEST-31-ISCSI-MULTI/client-init.sh → test/TEST-35-ISCSI-MULTI/client-init.sh

0
test/TEST-31-ISCSI-MULTI/create-root.sh → test/TEST-35-ISCSI-MULTI/create-root.sh

0
test/TEST-31-ISCSI-MULTI/dhcpd.conf → test/TEST-35-ISCSI-MULTI/dhcpd.conf

0
test/TEST-31-ISCSI-MULTI/finished-false.sh → test/TEST-35-ISCSI-MULTI/finished-false.sh

0
test/TEST-31-ISCSI-MULTI/hard-off.sh → test/TEST-35-ISCSI-MULTI/hard-off.sh

0
test/TEST-31-ISCSI-MULTI/hosts → test/TEST-35-ISCSI-MULTI/hosts

14
test/TEST-31-ISCSI-MULTI/server-init.sh → test/TEST-35-ISCSI-MULTI/server-init.sh

@ -53,17 +53,17 @@ linkup() { @@ -53,17 +53,17 @@ linkup() {
&& wait_for_if_up $1 2>/dev/null
}

wait_for_if_link eth0 ens3
wait_for_if_link eth1 ens4
wait_for_if_link eth0 ens2
wait_for_if_link eth1 ens3

ip addr add 127.0.0.1/8 dev lo
ip link set lo up
ip link set dev eth0 name ens3
ip addr add 192.168.50.1/24 dev ens3
ip link set dev eth0 name ens2
ip addr add 192.168.50.1/24 dev ens2
linkup ens2
ip link set dev eth1 name ens3
ip addr add 192.168.51.1/24 dev ens3
linkup ens3
ip link set dev eth1 name ens4
ip addr add 192.168.51.1/24 dev ens4
linkup ens4

>/var/lib/dhcpd/dhcpd.leases
chmod 777 /var/lib/dhcpd/dhcpd.leases

71
test/TEST-31-ISCSI-MULTI/test.sh → test/TEST-35-ISCSI-MULTI/test.sh

@ -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() {

12
test/TEST-36-ISCSI-MULTI-NM/Makefile

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
.PHONY: all setup clean run

BASETEST=../TEST-35-ISCSI-MULTI

all:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) all
setup:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) setup
clean:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) clean
run:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) run

8
test/TEST-40-NBD/test.sh

@ -33,13 +33,10 @@ run_server() { @@ -33,13 +33,10 @@ run_server() {
-drive format=raw,index=0,media=disk,file=$TESTDIR/server.ext2 \
-drive format=raw,index=1,media=disk,file=$TESTDIR/nbd.ext2 \
-drive format=raw,index=2,media=disk,file=$TESTDIR/encrypted.ext2 \
-m 512M -smp 2 \
-display none \
-net nic,macaddr=52:54:00:12:34:56,model=e1000 \
-net socket,listen=127.0.0.1:12340 \
${SERIAL:+-serial "$SERIAL"} \
${SERIAL:--serial file:"$TESTDIR"/server.log} \
-no-reboot \
-append "panic=1 systemd.crash_reboot root=/dev/sda rootfstype=ext2 rw quiet console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.server -pidfile $TESTDIR/server.pid -daemonize || return 1
chmod 644 $TESTDIR/server.pid || return 1
@ -80,11 +77,8 @@ client_test() { @@ -80,11 +77,8 @@ client_test() {

$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/flag.img \
-m 512M -smp 2 \
-nographic \
-net nic,macaddr=$mac,model=e1000 \
-net socket,connect=127.0.0.1:12340 \
-no-reboot \
-append "panic=1 systemd.crash_reboot rd.shell=0 $cmdline $DEBUGFAIL rd.auto rd.info rd.retry=10 ro console=ttyS0,115200n81 selinux=0 " \
-initrd $TESTDIR/initramfs.testing

@ -279,8 +273,6 @@ make_encrypted_root() { @@ -279,8 +273,6 @@ make_encrypted_root() {
$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file=$TESTDIR/flag.img \
-drive format=raw,index=1,media=disk,file=$TESTDIR/encrypted.ext2 \
-m 512M -smp 2\
-nographic -net none \
-append "root=/dev/fakeroot rw quiet console=ttyS0,115200n81 selinux=0" \
-initrd $TESTDIR/initramfs.makeroot || return 1
grep -F -m 1 -q dracut-root-block-created $TESTDIR/flag.img || return 1

12
test/TEST-41-NBD-NM/Makefile

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
.PHONY: all setup clean run

BASETEST=../TEST-20-NFS

all:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) all
setup:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) setup
clean:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) clean
run:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) run

2
test/TEST-50-MULTINIC/server-init.sh

@ -84,7 +84,7 @@ rpc.nfsd @@ -84,7 +84,7 @@ rpc.nfsd
>/dev/watchdog
rpc.mountd
>/dev/watchdog
rpc.idmapd
rpc.idmapd -S
>/dev/watchdog
exportfs -r
>/dev/watchdog

52
test/TEST-50-MULTINIC/test.sh

@ -1,5 +1,14 @@ @@ -1,5 +1,14 @@
#!/bin/bash
TEST_DESCRIPTION="root filesystem on NFS with multiple nics"

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 on NFS with multiple nics with $USE_NETWORK"

KVERSION=${KVERSION-$(uname -r)}

@ -15,14 +24,11 @@ run_server() { @@ -15,14 +24,11 @@ run_server() {

$testdir/run-qemu \
-drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext3 \
-m 512M -smp 2 \
-display none \
-net socket,listen=127.0.0.1:12350 \
-net nic,macaddr=52:54:01:12:34:56,model=e1000 \
${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" \
-initrd "$TESTDIR"/initramfs.server \
-pidfile "$TESTDIR"/server.pid -daemonize || return 1
@ -33,9 +39,9 @@ run_server() { @@ -33,9 +39,9 @@ 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"
sleep 1
done
else
@ -60,7 +66,7 @@ client_test() { @@ -60,7 +66,7 @@ client_test() {
return 1
fi

$testdir/run-qemu -drive format=raw,index=0,media=disk,file="$TESTDIR"/client.img -m 512M -smp 2 -nographic \
$testdir/run-qemu -drive format=raw,index=0,media=disk,file="$TESTDIR"/client.img \
-net socket,connect=127.0.0.1:12350 \
-net nic,macaddr=52:54:00:12:34:$mac1,model=e1000 \
-net nic,macaddr=52:54:00:12:34:$mac2,model=e1000 \
@ -70,8 +76,7 @@ client_test() { @@ -70,8 +76,7 @@ client_test() {
-device e1000,netdev=n1,mac=52:54:00:12:34:98 \
-device e1000,netdev=n2,mac=52:54:00:12:34:99 \
-watchdog i6300esb -watchdog-action poweroff \
-no-reboot \
-append "panic=1 systemd.crash_reboot rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
-append "quiet rd.net.timeout.dhcp=3 panic=1 systemd.crash_reboot rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console" \
-initrd "$TESTDIR"/initramfs.testing

{ read OK; read IFACES; } < "$TESTDIR"/client.img
@ -122,45 +127,46 @@ test_client() { @@ -122,45 +127,46 @@ test_client() {
client_test "MULTINIC root=nfs BOOTIF=" \
00 01 02 \
"root=nfs:192.168.50.1:/nfs/client BOOTIF=52-54-00-12-34-00" \
"ens3" || return 1
"ens2" || return 1

client_test "MULTINIC root=nfs BOOTIF= ip=ens4:dhcp" \
00 01 02 \
"root=nfs:192.168.50.1:/nfs/client BOOTIF=52-54-00-12-34-00 ip=ens4:dhcp" \
"ens3 ens4" || return 1
"root=nfs:192.168.50.1:/nfs/client BOOTIF=52-54-00-12-34-00 ip=ens3:dhcp" \
"ens2 ens3" || return 1

# PXE Style BOOTIF= with dhcp root-path
client_test "MULTINIC root=dhcp BOOTIF=" \
00 01 02 \
"root=dhcp BOOTIF=52-54-00-12-34-02" \
"ens5" || return 1
"ens4" || return 1

# Multinic case, where only one nic works
client_test "MULTINIC root=nfs ip=dhcp" \
FF 00 FE \
"root=nfs:192.168.50.1:/nfs/client ip=dhcp" \
"ens4" || return 1
"ens3" || return 1

# Require two interfaces
client_test "MULTINIC root=nfs ip=ens4:dhcp ip=ens5:dhcp bootdev=ens4" \
client_test "MULTINIC root=nfs ip=ens3:dhcp ip=ens4:dhcp bootdev=ens3" \
00 01 02 \
"root=nfs:192.168.50.1:/nfs/client ip=ens4:dhcp ip=ens5:dhcp bootdev=ens4" \
"ens4 ens5" || return 1
"root=nfs:192.168.50.1:/nfs/client ip=ens3:dhcp ip=ens4:dhcp bootdev=ens3" \
"ens3 ens4" || return 1

# Require three interfaces with dhcp root-path
client_test "MULTINIC root=dhcp ip=ens3:dhcp ip=ens4:dhcp ip=ens5:dhcp bootdev=ens5" \
client_test "MULTINIC root=dhcp ip=ens2:dhcp ip=ens3:dhcp ip=ens4:dhcp bootdev=ens4" \
00 01 02 \
"root=dhcp ip=ens3:dhcp ip=ens4:dhcp ip=ens5:dhcp bootdev=ens5" \
"ens3 ens4 ens5" || return 1
"root=dhcp ip=ens2:dhcp ip=ens3:dhcp ip=ens4:dhcp bootdev=ens4" \
"ens2 ens3 ens4" || return 1

client_test "MULTINIC bonding" \
00 01 02 \
"root=nfs:192.168.50.1:/nfs/client ip=bond0:dhcp bond=bond0:ens3,ens4,ens5:mode=balance-rr" \
"root=nfs:192.168.50.1:/nfs/client ip=bond0:dhcp bond=bond0:ens2,ens3,ens4:mode=balance-rr" \
"bond0" || return 1

# bridge, where only one interface is actually connected
client_test "MULTINIC bridging" \
00 01 02 \
"root=nfs:192.168.50.1:/nfs/client ip=bridge0:dhcp bridge=bridge0:ens3,ens6,ens7" \
"root=nfs:192.168.50.1:/nfs/client ip=bridge0:dhcp bridge=bridge0:ens2,ens6,ens7" \
"bridge0" || return 1
return 0
}
@ -303,8 +309,8 @@ test_setup() { @@ -303,8 +309,8 @@ test_setup() {
# Make client's dracut image
$basedir/dracut.sh \
-l -i "$TESTDIR"/overlay / \
-o "plymouth" \
-a "debug" \
-o "plymouth ${OMIT_NETWORK}" \
-a "debug ${USE_NETWORK}" \
-d "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

12
test/TEST-51-MULTINIC-NM/Makefile

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
.PHONY: all setup clean run

BASETEST=../TEST-50-MULTINIC

all:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) all
setup:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) setup
clean:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) clean
run:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) run

4
test/TEST-60-BONDBRIDGEVLANIFCFG/client-init.sh

@ -12,8 +12,8 @@ echo "made it to the rootfs! Powering down." @@ -12,8 +12,8 @@ echo "made it to the rootfs! Powering down."
echo OK
ip -o -4 address show scope global | while read n if rest; do echo $if;done | sort
for i in /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-*; do
echo $i
grep -v 'UUID=' $i
echo $i
grep -v 'UUID=' $i
done
echo EOF
) > /dev/sda

54
test/TEST-60-BONDBRIDGEVLANIFCFG/server-init.sh

@ -53,38 +53,38 @@ linkup() { @@ -53,38 +53,38 @@ linkup() {
&& 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
wait_for_if_link eth0 ens2
wait_for_if_link eth1 ens3
wait_for_if_link eth2 ens4
wait_for_if_link eth3 ens5

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
ip link set dev eth0 name ens2
ip addr add 192.168.50.1/24 dev ens2
linkup ens2
>/dev/watchdog
ip link set dev eth1 name ens3
ip link add dev ens3.1 link ens3 type vlan id 1
ip link add dev ens3.2 link ens3 type vlan id 2
ip link add dev ens3.3 link ens3 type vlan id 3
ip link add dev ens3.4 link ens3 type vlan id 4
ip addr add 192.168.54.1/24 dev ens3.1
ip addr add 192.168.55.1/24 dev ens3.2
ip addr add 192.168.56.1/24 dev ens3.3
ip addr add 192.168.57.1/24 dev ens3.4
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
ip link set dev ens3.1 up
ip link set dev ens3.2 up
ip link set dev ens3.3 up
ip link set dev ens3.4 up
ip link set dev eth2 name ens4
ip addr add 192.168.51.1/24 dev ens4
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
ip link set dev eth3 name ens5
linkup ens5
ip link set dev eth3 name ens6
linkup ens6
>/dev/watchdog
modprobe af_packet
> /dev/watchdog
@ -107,7 +107,7 @@ rpc.nfsd @@ -107,7 +107,7 @@ rpc.nfsd
>/dev/watchdog
rpc.mountd
>/dev/watchdog
rpc.idmapd
rpc.idmapd -S
>/dev/watchdog
exportfs -r
>/dev/watchdog
@ -115,10 +115,10 @@ exportfs -r @@ -115,10 +115,10 @@ exportfs -r
>/dev/watchdog
chmod 777 /var/lib/dhcpd/dhcpd.leases
>/dev/watchdog
dhcpd -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases ens3 ens5
dhcpd -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases ens2 ens4
#echo -n 'V' > /dev/watchdog
#sh -i
#tcpdump -i ens3
#tcpdump -i ens2
# Wait forever for the VM to die
echo "Serving"
while :; do

135
test/TEST-60-BONDBRIDGEVLANIFCFG/test.sh

@ -1,7 +1,18 @@ @@ -1,7 +1,18 @@
#!/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"


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 on NFS with bridging/bonding/vlan with $USE_NETWORK"

KVERSION=${KVERSION-$(uname -r)}

# Uncomment this to debug failures
@ -17,8 +28,6 @@ run_server() { @@ -17,8 +28,6 @@ run_server() {

$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 \
@ -30,7 +39,6 @@ run_server() { @@ -30,7 +39,6 @@ run_server() {
${SERIAL:+-serial "$SERIAL"} \
${SERIAL:--serial file:"$TESTDIR"/server.log} \
-watchdog i6300esb -watchdog-action poweroff \
-no-reboot \
-append "panic=1 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
@ -75,37 +83,18 @@ client_test() { @@ -75,37 +83,18 @@ client_test() {
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 $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 \
-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 $cmdline systemd.crash_reboot rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \
-initrd "$TESTDIR"/initramfs.testing
fi
$testdir/run-qemu \
-hda "$TESTDIR"/client.img \
-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 \
-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

{
read OK
@ -143,51 +132,12 @@ test_run() { @@ -143,51 +132,12 @@ 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
if [[ $NM ]]; then
EXPECT='ens3 ens5.0004 ens5.3 vlan0001 vlan2 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-* EOF '
else
EXPECT='ens3 ens5.0004 ens5.3 vlan0001 vlan2 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens3 # Generated by dracut initrd NAME="ens3" DEVICE="ens3" ONBOOT=yes NETBOOT=yes IPV6INIT=yes BOOTPROTO=dhcp TYPE=Ethernet /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens5.0004 # Generated by dracut initrd NAME="ens5.0004" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.57.104" PREFIX="24" GATEWAY="192.168.57.1" TYPE=Vlan DEVICE="ens5.0004" VLAN=yes PHYSDEV="ens5" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens5.3 # Generated by dracut initrd NAME="ens5.3" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.56.103" PREFIX="24" GATEWAY="192.168.56.1" TYPE=Vlan DEVICE="ens5.3" VLAN=yes PHYSDEV="ens5" /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="ens5" /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="ens5" EOF '
fi

client_test "Multiple VLAN" \
"yes" \
"
@ -203,35 +153,46 @@ ip=192.168.57.104::192.168.57.1:24:test:ens5.0004:none @@ -203,35 +153,46 @@ 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 ens5.0004 ens5.3 vlan0001 vlan2 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens3 # Generated by dracut initrd NAME="ens3" DEVICE="ens3" ONBOOT=yes NETBOOT=yes IPV6INIT=yes BOOTPROTO=dhcp TYPE=Ethernet /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens5.0004 # Generated by dracut initrd NAME="ens5.0004" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.57.104" PREFIX="24" GATEWAY="192.168.57.1" TYPE=Vlan DEVICE="ens5.0004" VLAN=yes PHYSDEV="ens5" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens5.3 # Generated by dracut initrd NAME="ens5.3" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.56.103" PREFIX="24" GATEWAY="192.168.56.1" TYPE=Vlan DEVICE="ens5.3" VLAN=yes PHYSDEV="ens5" /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="ens5" /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="ens5" EOF ' \
"$EXPECT" \
|| return 1

if [[ $NM ]]; then
EXPECT='bond0 bond1 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-* EOF '
else
EXPECT='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-ens3 # Generated by dracut initrd NAME="ens3" TYPE=Ethernet ONBOOT=yes NETBOOT=yes SLAVE=yes MASTER="bond0" DEVICE="ens3" /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-ens6 # Generated by dracut initrd NAME="ens6" TYPE=Ethernet ONBOOT=yes NETBOOT=yes SLAVE=yes MASTER="bond1" DEVICE="ens6" /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" EOF '
fi

client_test "Multiple Bonds" \
"yes" \
"
bond=bond0:ens4,ens5
bond=bond0:ens3,ens4
bond=bond1:ens6,ens7
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-ens6 # Generated by dracut initrd NAME="ens6" TYPE=Ethernet ONBOOT=yes NETBOOT=yes SLAVE=yes MASTER="bond1" DEVICE="ens6" /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" EOF ' \
"$EXPECT" \
|| return 1

if [[ $NM ]]; then
EXPECT='br0 br1 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-* EOF '
else
EXPECT='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-ens3 # Generated by dracut initrd NAME="ens3" TYPE=Ethernet ONBOOT=yes NETBOOT=yes BRIDGE="br0" DEVICE="ens3" /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-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 '
fi

client_test "Multiple Bridges" \
"no" \
"
bridge=br0:ens4,ens5
bridge=br0:ens3,ens4
bridge=br1:ens6,ens7
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-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 ' \
"$EXPECT" \
|| return 1
fi
kill_server
return 0
}
@ -369,8 +330,8 @@ test_setup() { @@ -369,8 +330,8 @@ test_setup() {
# Make client's dracut image
$basedir/dracut.sh -l -i "$TESTDIR"/overlay / \
--no-early-microcode \
-o "plymouth" \
-a "debug network-legacy" \
-o "plymouth ${OMIT_NETWORK}" \
-a "debug ${USE_NETWORK}" \
-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

12
test/TEST-61-BONDBRIDGEVLANIFCFG-NM/Makefile

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
.PHONY: all setup clean run

BASETEST=../TEST-60-BONDBRIDGEVLANIFCFG

all:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) all
setup:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) setup
clean:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) clean
run:
@$(MAKE) NM=1 -s --no-print-directory -C $(BASETEST) run

12
test/run-qemu

@ -3,12 +3,12 @@ @@ -3,12 +3,12 @@
# We prefer kvm, kqemu, userspace in that order.
export PATH=/sbin:/bin:/usr/sbin:/usr/bin

[[ -x /usr/bin/qemu ]] && BIN=/usr/bin/qemu && ARGS=""
[[ -x /usr/bin/qemu ]] && BIN=/usr/bin/qemu && ARGS="-cpu max"
$(lsmod | grep -q '^kqemu ') && BIN=/usr/bin/qemu && ARGS="-kernel-kqemu -cpu host"
[[ -c /dev/kvm && -x /usr/bin/kvm ]] && BIN=/usr/bin/kvm && ARGS="-cpu host"
[[ -c /dev/kvm && -x /usr/bin/qemu-kvm ]] && BIN=/usr/bin/qemu-kvm && ARGS="-cpu host"
[[ -c /dev/kvm && -x /usr/libexec/qemu-kvm ]] && BIN=/usr/libexec/qemu-kvm && ARGS="-cpu host"
[[ -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS=""
[[ -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS="-cpu max"
[[ -c /dev/kvm && -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS="-enable-kvm -cpu host"

[[ $BIN ]] || {
@ -17,8 +17,12 @@ $(lsmod | grep -q '^kqemu ') && BIN=/usr/bin/qemu && ARGS="-kernel-kqemu -cpu ho @@ -17,8 +17,12 @@ $(lsmod | grep -q '^kqemu ') && BIN=/usr/bin/qemu && ARGS="-kernel-kqemu -cpu ho
exit 1
}

# Provide rng device sourcing the hosts /dev/urandom
ARGS="$ARGS -device virtio-rng-pci"
# Provide rng device sourcing the hosts /dev/urandom and other standard parameters
ARGS="$ARGS -smp 2 -m 512 -nodefaults -vga none -display none -no-reboot -device virtio-rng-pci"

if ! [[ $* = *-daemonize* ]] && ! [[ $* = *-daemonize* ]]; then
ARGS="$ARGS -serial stdio"
fi

KVERSION=${KVERSION-$(uname -r)}


Loading…
Cancel
Save