diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 3328d861..7b1b8ee7 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -29,10 +29,10 @@ jobs: - uses: actions/checkout@v2 - name: shfmt - uses: luizm/action-sh-checker@v0.2.0 + uses: luizm/action-sh-checker@v0.2.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SHFMT_OPTS: -d -s # arguments to shfmt. + SHFMT_OPTS: -s # arguments to shfmt. with: sh_checker_shellcheck_disable: false sh_checker_comment: true diff --git a/.shellcheckrc b/.shellcheckrc index 17909a19..ce5c883b 100644 --- a/.shellcheckrc +++ b/.shellcheckrc @@ -17,3 +17,18 @@ disable=SC1091 # SC2174: When used with -p, -m only applies to the deepest directory. # https://github.com/koalaman/shellcheck/wiki/SC2174 disable=SC2174 + +# SC3043: In POSIX sh, 'local' is undefined. +# https://github.com/koalaman/shellcheck/wiki/SC3043 +# ... but dash supports it +disable=SC3043 + +# SC3013: In POSIX sh, -ef is undefined. +# https://github.com/koalaman/shellcheck/wiki/SC3013 +# ... but dash supports it +disable=SC3013 + +# SC3045: In POSIX sh, read -p is undefined. +# https://github.com/koalaman/shellcheck/wiki/SC3045 +# ... but dash supports it +disable=SC3045 diff --git a/dracut.sh b/dracut.sh index a7d66edb..ec00097e 100755 --- a/dracut.sh +++ b/dracut.sh @@ -30,6 +30,7 @@ if ((BASH_VERSINFO[0] < 4)); then fi dracut_args=("$@") +# shellcheck disable=SC2155 readonly dracut_cmd=$(readlink -f "$0") set -o pipefail @@ -1111,6 +1112,7 @@ case "${drivers_dir}" in ;; esac +# shellcheck disable=SC2155 readonly TMPDIR="$(realpath -e "$tmpdir")" [ -d "$TMPDIR" ] || { printf "%s\n" "dracut: Invalid tmpdir '$tmpdir'." >&2 @@ -1122,6 +1124,7 @@ if findmnt --raw -n --target "$tmpdir" --output=options | grep -q noexec; then noexec=1 fi +# shellcheck disable=SC2155 readonly DRACUT_TMPDIR="$(mktemp -p "$TMPDIR/" -d -t dracut.XXXXXX)" [ -d "$DRACUT_TMPDIR" ] || { printf "%s\n" "dracut: mktemp -p '$TMPDIR/' -d -t dracut.XXXXXX failed." >&2 diff --git a/modules.d/01systemd-ask-password/module-setup.sh b/modules.d/01systemd-ask-password/module-setup.sh index c8b59e9a..6e780755 100755 --- a/modules.d/01systemd-ask-password/module-setup.sh +++ b/modules.d/01systemd-ask-password/module-setup.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # This file is part of dracut. # SPDX-License-Identifier: GPL-2.0-or-later diff --git a/modules.d/01systemd-coredump/module-setup.sh b/modules.d/01systemd-coredump/module-setup.sh index 0eed4652..1b943ae3 100755 --- a/modules.d/01systemd-coredump/module-setup.sh +++ b/modules.d/01systemd-coredump/module-setup.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # This file is part of dracut. # SPDX-License-Identifier: GPL-2.0-or-later diff --git a/modules.d/01systemd-repart/module-setup.sh b/modules.d/01systemd-repart/module-setup.sh index eb4e0593..ed1ddcfd 100755 --- a/modules.d/01systemd-repart/module-setup.sh +++ b/modules.d/01systemd-repart/module-setup.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # This file is part of dracut. # SPDX-License-Identifier: GPL-2.0-or-later diff --git a/modules.d/01systemd-sysctl/module-setup.sh b/modules.d/01systemd-sysctl/module-setup.sh index ad52614c..d0eb7794 100755 --- a/modules.d/01systemd-sysctl/module-setup.sh +++ b/modules.d/01systemd-sysctl/module-setup.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # This file is part of dracut. # SPDX-License-Identifier: GPL-2.0-or-later diff --git a/modules.d/06dbus-broker/module-setup.sh b/modules.d/06dbus-broker/module-setup.sh index 3c1b9445..5e3c469c 100755 --- a/modules.d/06dbus-broker/module-setup.sh +++ b/modules.d/06dbus-broker/module-setup.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # This file is part of dracut. # SPDX-License-Identifier: GPL-2.0-or-later diff --git a/modules.d/06dbus-daemon/module-setup.sh b/modules.d/06dbus-daemon/module-setup.sh index c3afaa95..8345585f 100755 --- a/modules.d/06dbus-daemon/module-setup.sh +++ b/modules.d/06dbus-daemon/module-setup.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # This file is part of dracut. # SPDX-License-Identifier: GPL-2.0-or-later diff --git a/modules.d/09dbus/module-setup.sh b/modules.d/09dbus/module-setup.sh index b66367bd..e3e1f16b 100755 --- a/modules.d/09dbus/module-setup.sh +++ b/modules.d/09dbus/module-setup.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # This file is part of dracut. # SPDX-License-Identifier: GPL-2.0-or-later diff --git a/modules.d/35network-legacy/dhcp-multi.sh b/modules.d/35network-legacy/dhcp-multi.sh index f1b412ce..df091a52 100755 --- a/modules.d/35network-legacy/dhcp-multi.sh +++ b/modules.d/35network-legacy/dhcp-multi.sh @@ -65,7 +65,7 @@ do_dhclient() { warn "dhcp for interface $netif failed" # nuke those files since we failed; we might retry dhcp again if it's e.g. # `ip=dhcp,dhcp6` and we check for the PID file earlier - rm -f /tmp/dhclient."$netif".{pid,lease} + rm -f /tmp/dhclient."$netif".pid /tmp/dhclient."$netif".lease return 1 } diff --git a/modules.d/35network-legacy/ifup.sh b/modules.d/35network-legacy/ifup.sh index 95a8a8b3..a05c4698 100755 --- a/modules.d/35network-legacy/ifup.sh +++ b/modules.d/35network-legacy/ifup.sh @@ -96,7 +96,7 @@ do_dhcp() { warn "dhcp for interface $netif failed" # nuke those files since we failed; we might retry dhcp again if it's e.g. # `ip=dhcp,dhcp6` and we check for the PID file at the top - rm -f "/tmp/dhclient.${netif}".{pid,lease} + rm -f /tmp/dhclient."$netif".pid /tmp/dhclient."$netif".lease return 1 } @@ -268,7 +268,7 @@ if [ -z "$NO_BOND_MASTER" ]; then # shellcheck disable=SC1090 . "$i" for testslave in $bondslaves; do - [ "$netif" != "testslave" ] && continue + [ "$netif" != "$testslave" ] && continue # already setup [ -e "/tmp/bond.$bondname.up" ] && exit 0 diff --git a/modules.d/35network-legacy/module-setup.sh b/modules.d/35network-legacy/module-setup.sh index aea7c432..84dcf7f5 100755 --- a/modules.d/35network-legacy/module-setup.sh +++ b/modules.d/35network-legacy/module-setup.sh @@ -2,7 +2,7 @@ # called by dracut check() { - require_binaries ip dhclient sed awk grep pgrep tr || return 1 + require_binaries ip dhclient sed awk grep pgrep tr expr || return 1 require_any_binary arping arping2 || return 1 return 255 @@ -28,7 +28,7 @@ install() { [[ $hostonly ]] && inst_multiple -H -o "${systemdsystemconfdir}/network/*.link" fi - inst_multiple ip dhclient sed awk grep pgrep tr + inst_multiple ip dhclient sed awk grep pgrep tr expr inst_multiple -o arping arping2 strstr "$(arping 2>&1)" "ARPing 2" && mv "$initdir/bin/arping" "$initdir/bin/arping2" diff --git a/modules.d/35network-legacy/parse-ip-opts.sh b/modules.d/35network-legacy/parse-ip-opts.sh index b904fba8..35917bbf 100755 --- a/modules.d/35network-legacy/parse-ip-opts.sh +++ b/modules.d/35network-legacy/parse-ip-opts.sh @@ -113,14 +113,16 @@ for p in $(getargs ip=); do fi if str_starts "$dev" "enx" && [ ${#dev} -eq 15 ]; then + # shellcheck disable=SC2003 printf -- "ifname=%s:%s:%s:%s:%s:%s:%s\n" \ "$dev" \ - "${dev:3:2}" \ - "${dev:5:2}" \ - "${dev:7:2}" \ - "${dev:9:2}" \ - "${dev:11:2}" \ - "${dev:13:2}" >> /etc/cmdline.d/80-enx.conf + "$(expr substr "$dev" 3 2)" \ + "$(expr substr "$dev" 5 2)" \ + "$(expr substr "$dev" 7 2)" \ + "$(expr substr "$dev" 9 2)" \ + "$(expr substr "$dev" 11 2)" \ + "$(expr substr "$dev" 13 2)" \ + >> /etc/cmdline.d/80-enx.conf fi done diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh index 648d84d6..60824da6 100755 --- a/modules.d/40network/module-setup.sh +++ b/modules.d/40network/module-setup.sh @@ -42,6 +42,7 @@ install() { inst_simple "$moddir/net-lib.sh" "/lib/net-lib.sh" inst_hook pre-udev 50 "$moddir/ifname-genrules.sh" inst_hook cmdline 91 "$moddir/dhcp-root.sh" - + inst_multiple ip sed awk grep pgrep tr + inst_multiple -o arping arping2 dracut_need_initqueue } diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh index 6480dc06..54bb6775 100755 --- a/modules.d/40network/net-lib.sh +++ b/modules.d/40network/net-lib.sh @@ -266,10 +266,10 @@ ibft_to_cmdline() { [ -e "${iface}"/flags ] && read -r flags < "${iface}"/flags # Skip invalid interfaces - ((flags & 1)) || continue + awk -- 'BEGIN { exit (!and('"$flags"',1)) }' || continue # Skip interfaces not used for booting unless using multipath if ! getargbool 0 rd.iscsi.mp; then - ((flags & 2)) || continue + awk -- 'BEGIN { exit (!and('"$flags"',2)) }' || continue fi [ -e "${iface}"/dhcp ] && read -r dhcp < "${iface}"/dhcp [ -e "${iface}"/origin ] && read -r origin < "${iface}"/origin diff --git a/modules.d/62bluetooth/module-setup.sh b/modules.d/62bluetooth/module-setup.sh index dd8a0ba0..b8270dd5 100755 --- a/modules.d/62bluetooth/module-setup.sh +++ b/modules.d/62bluetooth/module-setup.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # This file is part of dracut. # SPDX-License-Identifier: GPL-2.0-or-later diff --git a/modules.d/81cio_ignore/parse-cio_accept.sh b/modules.d/81cio_ignore/parse-cio_accept.sh index d449be52..6cb682ab 100755 --- a/modules.d/81cio_ignore/parse-cio_accept.sh +++ b/modules.d/81cio_ignore/parse-cio_accept.sh @@ -14,7 +14,7 @@ if [ -n "$CIO_ACCEPT" ]; then IFS=, # shellcheck disable=SC2086 set -- $CIO_ACCEPT - while (($# > 0)); do + while [ "$#" -gt 0 ]; do info "Enabling device $1" cio_ignore --remove "$1" shift diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh index 4eb27ac5..acb9cf83 100755 --- a/modules.d/90crypt/module-setup.sh +++ b/modules.d/90crypt/module-setup.sh @@ -56,6 +56,7 @@ installkernel() { # called by dracut cmdline() { local dev UUID + # shellcheck disable=SC2031 for dev in "${!host_fs_types[@]}"; do [[ ${host_fs_types[$dev]} != "crypto_LUKS" ]] && continue @@ -130,6 +131,7 @@ install() { if [ "${forceentry}" = "yes" ]; then echo "$_mapper $_dev $_luksfile $_luksoptions" else + # shellcheck disable=SC2031 for _hdev in "${!host_fs_types[@]}"; do [[ ${host_fs_types[$_hdev]} == "crypto_LUKS" ]] || continue if [[ $_hdev -ef $_dev ]] || [[ /dev/block/$_hdev -ef $_dev ]]; then diff --git a/modules.d/90dmsquash-live/dmsquash-generator.sh b/modules.d/90dmsquash-live/dmsquash-generator.sh index 0fa3dbcc..fe25e998 100755 --- a/modules.d/90dmsquash-live/dmsquash-generator.sh +++ b/modules.d/90dmsquash-live/dmsquash-generator.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash type getarg > /dev/null 2>&1 || . /lib/dracut-lib.sh diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh index b1c76b4c..09128076 100755 --- a/modules.d/90dmsquash-live/dmsquash-live-root.sh +++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash type getarg > /dev/null 2>&1 || . /lib/dracut-lib.sh diff --git a/modules.d/90dmsquash-live/module-setup.sh b/modules.d/90dmsquash-live/module-setup.sh index 933365f9..70be1852 100755 --- a/modules.d/90dmsquash-live/module-setup.sh +++ b/modules.d/90dmsquash-live/module-setup.sh @@ -11,7 +11,7 @@ check() { depends() { # if dmsetup is not installed, then we cannot support fedora/red hat # style live images - echo dm rootfs-block img-lib + echo dm rootfs-block img-lib bash return 0 } diff --git a/modules.d/90livenet/livenet-generator.sh b/modules.d/90livenet/livenet-generator.sh index 12d1597a..3e9226be 100755 --- a/modules.d/90livenet/livenet-generator.sh +++ b/modules.d/90livenet/livenet-generator.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash type getarg > /dev/null 2>&1 || . /lib/dracut-lib.sh diff --git a/modules.d/90livenet/module-setup.sh b/modules.d/90livenet/module-setup.sh index eae7f2a9..db0def50 100755 --- a/modules.d/90livenet/module-setup.sh +++ b/modules.d/90livenet/module-setup.sh @@ -8,7 +8,7 @@ check() { # called by dracut depends() { - echo network url-lib dmsquash-live img-lib + echo network url-lib dmsquash-live img-lib bash return 0 } diff --git a/modules.d/90lvm/parse-lvm.sh b/modules.d/90lvm/parse-lvm.sh index f7febd76..d7748827 100755 --- a/modules.d/90lvm/parse-lvm.sh +++ b/modules.d/90lvm/parse-lvm.sh @@ -7,7 +7,7 @@ fi LV_DEVS="$(getargs rd.lvm.vg -d rd_LVM_VG=) $(getargs rd.lvm.lv -d rd_LVM_LV=)" if ! getargbool 1 rd.lvm -d -n rd_NO_LVM \ - || ([ -z "$LV_DEVS" ] && ! getargbool 0 rd.auto); then + || { [ -z "$LV_DEVS" ] && ! getargbool 0 rd.auto; }; then info "rd.lvm=0: removing LVM activation" rm -f -- /etc/udev/rules.d/64-lvm*.rules else diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh index 3a832e7d..c75e5f70 100755 --- a/modules.d/90mdraid/parse-md.sh +++ b/modules.d/90mdraid/parse-md.sh @@ -7,7 +7,7 @@ MD_UUID=$(getargs rd.md.uuid -d rd_MD_UUID=) MD_UUID=$(str_replace "$MD_UUID" "-" "") MD_UUID=$(str_replace "$MD_UUID" ":" "") -if ([ -z "$MD_UUID" ] && ! getargbool 0 rd.auto) || ! getargbool 1 rd.md -d -n rd_NO_MD; then +if { [ -z "$MD_UUID" ] && ! getargbool 0 rd.auto; } || ! getargbool 1 rd.md -d -n rd_NO_MD; then info "rd.md=0: removing MD RAID activation" udevproperty rd_NO_MD=1 else diff --git a/modules.d/95nbd/nbdroot.sh b/modules.d/95nbd/nbdroot.sh index 1f678799..50322747 100755 --- a/modules.d/95nbd/nbdroot.sh +++ b/modules.d/95nbd/nbdroot.sh @@ -129,9 +129,7 @@ if strstr "$(nbd-client --help 2>&1)" "systemd-mark"; then preopts="-systemd-mark $preopts" fi -if [ "$nbdport" -gt 0 ] 2> /dev/null; then - nbdport="$nbdport" -else +if ! [ "$nbdport" -gt 0 ] 2> /dev/null; then nbdport="-name $nbdport" fi diff --git a/modules.d/95znet/module-setup.sh b/modules.d/95znet/module-setup.sh index ba5f2584..df37c660 100755 --- a/modules.d/95znet/module-setup.sh +++ b/modules.d/95znet/module-setup.sh @@ -12,6 +12,7 @@ check() { # called by dracut depends() { + echo bash return 0 } diff --git a/modules.d/95znet/parse-ccw.sh b/modules.d/95znet/parse-ccw.sh index 3004a9e4..d8953605 100755 --- a/modules.d/95znet/parse-ccw.sh +++ b/modules.d/95znet/parse-ccw.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash for ccw_arg in $(getargs rd.ccw -d 'rd_CCW=') $(getargs rd.znet -d 'rd_ZNET='); do echo "$ccw_arg" >> /etc/ccw.conf diff --git a/modules.d/98dracut-systemd/dracut-cmdline-ask.sh b/modules.d/98dracut-systemd/dracut-cmdline-ask.sh index 7997e63d..13c4f204 100755 --- a/modules.d/98dracut-systemd/dracut-cmdline-ask.sh +++ b/modules.d/98dracut-systemd/dracut-cmdline-ask.sh @@ -14,7 +14,7 @@ echo echo echo echo "Enter additional kernel command line parameter (end with ctrl-d or .)" -while read -r -e -p "> " line || [ -n "$line" ]; do +while read -r -p "> " ${BASH:+-e} line || [ -n "$line" ]; do [ "$line" = "." ] && break [ -n "$line" ] && printf -- "%s\n" "$line" >> /etc/cmdline.d/99-cmdline-ask.conf done diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh index e53ea59b..978adb6f 100755 --- a/modules.d/99base/init.sh +++ b/modules.d/99base/init.sh @@ -109,7 +109,7 @@ source_conf /etc/conf.d if getarg "rd.cmdline=ask"; then echo "Enter additional kernel command line parameter (end with ctrl-d or .)" - while read -r -p "> " line || [ -n "$line" ]; do + while read -r -p "> " ${BASH:+-e} line || [ -n "$line" ]; do [ "$line" = "." ] && break echo "$line" >> /etc/cmdline.d/99-cmdline-ask.conf done diff --git a/modules.d/99img-lib/img-lib.sh b/modules.d/99img-lib/img-lib.sh index d8b95d60..47008325 100755 --- a/modules.d/99img-lib/img-lib.sh +++ b/modules.d/99img-lib/img-lib.sh @@ -10,8 +10,11 @@ det_archive() { local bz xz gz zs local headerblock bz="BZh" + # shellcheck disable=SC3037 xz="$(/bin/echo -e '\xfd7zXZ')" + # shellcheck disable=SC3037 gz="$(/bin/echo -e '\x1f\x8b')" + # shellcheck disable=SC3037 zs="$(/bin/echo -e '\x28\xB5\x2F\xFD')" headerblock="$(dd ${1:+if=$1} bs=262 count=1 2> /dev/null | tr -d '\0')" case "$headerblock" in diff --git a/modules.d/99memstrack/memstrack-start.sh b/modules.d/99memstrack/memstrack-start.sh index 82a9f22b..f8bd445f 100755 --- a/modules.d/99memstrack/memstrack-start.sh +++ b/modules.d/99memstrack/memstrack-start.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # Mount kernel debug fs so debug tools can work. # memdebug=4 and memdebug=5 requires debug fs to be mounted. # And there is no need to umount it. @@ -65,4 +65,5 @@ fi sleep 1 echo $PID > /run/memstrack.pid +# bash specific - non posix disown diff --git a/modules.d/99memstrack/module-setup.sh b/modules.d/99memstrack/module-setup.sh index 0eb641c3..a40cce4e 100755 --- a/modules.d/99memstrack/module-setup.sh +++ b/modules.d/99memstrack/module-setup.sh @@ -11,7 +11,7 @@ check() { } depends() { - echo systemd + echo systemd bash return 0 } diff --git a/modules.d/99shutdown/shutdown.sh b/modules.d/99shutdown/shutdown.sh index ea597794..73550ba9 100755 --- a/modules.d/99shutdown/shutdown.sh +++ b/modules.d/99shutdown/shutdown.sh @@ -12,7 +12,7 @@ ACTION="$1" # the process will be killed when when running as PID 1. # shellcheck disable=SC2217 [ -w /dev/console ] \ - && (echo < /dev/console &> /dev/null) \ + && (echo < /dev/console > /dev/null 2> /dev/null) \ && exec < /dev/console >> /dev/console 2>> /dev/console export TERM=linux diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh index b79661da..645ac7e8 100755 --- a/test/TEST-01-BASIC/test.sh +++ b/test/TEST-01-BASIC/test.sh @@ -18,7 +18,7 @@ test_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ -watchdog i6300esb -watchdog-action poweroff \ - -append "panic=1 systemd.crash_reboot \"root=LABEL= rdinit=/bin/sh\" rw systemd.log_level=debug systemd.log_target=console rd.retry=3 rd.debug console=ttyS0,115200n81 rd.shell=0 $DEBUGFAIL" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot \"root=LABEL= rdinit=/bin/sh\" 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 -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img diff --git a/test/TEST-02-SYSTEMD/test.sh b/test/TEST-02-SYSTEMD/test.sh index df679610..41e22cf4 100755 --- a/test/TEST-02-SYSTEMD/test.sh +++ b/test/TEST-02-SYSTEMD/test.sh @@ -16,7 +16,7 @@ test_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ - -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" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_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 || return 1 grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img diff --git a/test/TEST-03-USR-MOUNT/test.sh b/test/TEST-03-USR-MOUNT/test.sh index f7d65e94..b3d9d23b 100755 --- a/test/TEST-03-USR-MOUNT/test.sh +++ b/test/TEST-03-USR-MOUNT/test.sh @@ -26,7 +26,7 @@ client_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ -watchdog i6300esb -watchdog-action poweroff \ - -append "panic=1 systemd.crash_reboot root=LABEL=dracut $client_opts loglevel=7 rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=LABEL=dracut $client_opts loglevel=7 rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \ -initrd "$TESTDIR"/initramfs.testing || return 1 if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img; then diff --git a/test/TEST-04-FULL-SYSTEMD/test.sh b/test/TEST-04-FULL-SYSTEMD/test.sh index 505240c1..e2f352b5 100755 --- a/test/TEST-04-FULL-SYSTEMD/test.sh +++ b/test/TEST-04-FULL-SYSTEMD/test.sh @@ -27,7 +27,7 @@ client_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ - -append "panic=1 systemd.crash_reboot root=LABEL=dracut $client_opts rd.retry=3 console=ttyS0,115200n81 selinux=0 $DEBUGOUT rd.shell=0 $DEBUGFAIL" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_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 || return 1 if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img; then diff --git a/test/TEST-10-RAID/test.sh b/test/TEST-10-RAID/test.sh index 79e62393..25f59089 100755 --- a/test/TEST-10-RAID/test.sh +++ b/test/TEST-10-RAID/test.sh @@ -19,7 +19,7 @@ test_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ - -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" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_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 || return 1 grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img diff --git a/test/TEST-11-LVM/test.sh b/test/TEST-11-LVM/test.sh index ac2481a7..0b336f24 100755 --- a/test/TEST-11-LVM/test.sh +++ b/test/TEST-11-LVM/test.sh @@ -20,7 +20,7 @@ test_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ - -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" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_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 || return 1 grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img diff --git a/test/TEST-12-RAID-DEG/test.sh b/test/TEST-12-RAID-DEG/test.sh index 3f3f1ffb..2b4e8537 100755 --- a/test/TEST-12-RAID-DEG/test.sh +++ b/test/TEST-12-RAID-DEG/test.sh @@ -24,7 +24,7 @@ client_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ - -append "panic=1 systemd.crash_reboot $* systemd.log_target=kmsg root=LABEL=root rw rd.retry=10 rd.info console=ttyS0,115200n81 log_buf_len=2M selinux=0 rd.shell=0 $DEBUGFAIL " \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot $* systemd.log_target=kmsg root=LABEL=root rw rd.retry=10 rd.info console=ttyS0,115200n81 log_buf_len=2M selinux=0 rd.shell=0 $DEBUGFAIL " \ -initrd "$TESTDIR"/initramfs.testing if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img; then diff --git a/test/TEST-13-ENC-RAID-LVM/test.sh b/test/TEST-13-ENC-RAID-LVM/test.sh index 612a6520..bce386cb 100755 --- a/test/TEST-13-ENC-RAID-LVM/test.sh +++ b/test/TEST-13-ENC-RAID-LVM/test.sh @@ -26,7 +26,7 @@ test_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ - -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" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_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 -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img || return 1 echo "CLIENT TEST END: [OK]" @@ -36,7 +36,7 @@ test_run() { echo "CLIENT TEST START: Any LUKS" "$testdir"/run-qemu \ "${disk_args[@]}" \ - -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" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_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 -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img || return 1 echo "CLIENT TEST END: [OK]" @@ -46,7 +46,7 @@ test_run() { echo "CLIENT TEST START: Wrong LUKS UUID" "$testdir"/run-qemu \ "${disk_args[@]}" \ - -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" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_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 -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img && return 1 echo "CLIENT TEST END: [OK]" diff --git a/test/TEST-14-IMSM/test.sh b/test/TEST-14-IMSM/test.sh index a551ac24..be2d8221 100755 --- a/test/TEST-14-IMSM/test.sh +++ b/test/TEST-14-IMSM/test.sh @@ -21,7 +21,7 @@ client_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ - -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" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_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 || return 1 if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img; then diff --git a/test/TEST-15-BTRFSRAID/test.sh b/test/TEST-15-BTRFSRAID/test.sh index 5a086ec7..ed145331 100755 --- a/test/TEST-15-BTRFSRAID/test.sh +++ b/test/TEST-15-BTRFSRAID/test.sh @@ -19,7 +19,7 @@ test_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ - -append "panic=1 systemd.crash_reboot root=LABEL=root rw rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_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 -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img || return 1 } diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh index 288a05c6..2b7ca22c 100755 --- a/test/TEST-16-DMSQUASH/test.sh +++ b/test/TEST-16-DMSQUASH/test.sh @@ -30,7 +30,7 @@ test_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ -boot order=d \ - -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" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_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 # mediacheck test with qemu GUI diff --git a/test/TEST-17-LVM-THIN/test.sh b/test/TEST-17-LVM-THIN/test.sh index f9f73109..607edef5 100755 --- a/test/TEST-17-LVM-THIN/test.sh +++ b/test/TEST-17-LVM-THIN/test.sh @@ -19,7 +19,7 @@ test_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ - -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" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_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 || return 1 grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img || return 1 } diff --git a/test/TEST-20-NFS/server-init.sh b/test/TEST-20-NFS/server-init.sh index 48e55ebd..00841c0f 100755 --- a/test/TEST-20-NFS/server-init.sh +++ b/test/TEST-20-NFS/server-init.sh @@ -15,10 +15,6 @@ wait_for_if_link() { 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 @@ -52,11 +48,10 @@ 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 enp0s1 +wait_for_if_link enp0s1 ip addr add 127.0.0.1/8 dev lo ip link set lo up -ip link set dev eth0 name enp0s1 ip addr add 192.168.50.1/24 dev enp0s1 ip addr add 192.168.50.2/24 dev enp0s1 ip addr add 192.168.50.3/24 dev enp0s1 diff --git a/test/TEST-20-NFS/test.sh b/test/TEST-20-NFS/test.sh index 0be16ceb..f8f81a30 100755 --- a/test/TEST-20-NFS/test.sh +++ b/test/TEST-20-NFS/test.sh @@ -34,7 +34,7 @@ run_server() { -net nic,macaddr=52:54:00:12:34:56,model=e1000 \ -serial "${SERIAL:-"file:$TESTDIR/server.log"}" \ -watchdog i6300esb -watchdog-action poweroff \ - -append "panic=1 quiet root=LABEL=dracut rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_panic=1 quiet root=LABEL=dracut rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \ -initrd "$TESTDIR"/initramfs.server \ -pidfile "$TESTDIR"/server.pid -daemonize || return 1 chmod 644 "$TESTDIR"/server.pid || return 1 @@ -79,7 +79,7 @@ client_test() { -net nic,macaddr="$mac",model=e1000 \ -net socket,connect=127.0.0.1:12320 \ -watchdog i6300esb -watchdog-action poweroff \ - -append "panic=1 systemd.crash_reboot rd.shell=0 $cmdline $DEBUGFAIL rd.retry=10 quiet ro console=ttyS0,115200n81 selinux=0" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot rd.shell=0 $cmdline $DEBUGFAIL rd.retry=10 quiet ro console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.testing # shellcheck disable=SC2181 diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh index 5f218f16..91f0aaad 100755 --- a/test/TEST-30-ISCSI/test.sh +++ b/test/TEST-30-ISCSI/test.sh @@ -36,7 +36,7 @@ run_server() { -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 \ - -append "panic=1 quiet root=/dev/disk/by-id/ata-disk_serverroot rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_panic=1 quiet root=/dev/disk/by-id/ata-disk_serverroot rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \ -initrd "$TESTDIR"/initramfs.server \ -pidfile "$TESTDIR"/server.pid -daemonize || return 1 chmod 644 "$TESTDIR"/server.pid || return 1 @@ -74,7 +74,7 @@ run_client() { -net nic,macaddr=52:54:00:12:34:01,model=e1000 \ -net socket,connect=127.0.0.1:12330 \ -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 $*" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_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 # shellcheck disable=SC2181 @@ -227,6 +227,7 @@ test_setup() { # Make server root dd if=/dev/zero of="$TESTDIR"/server.ext3 bs=1M count=120 + # shellcheck disable=SC2031 export kernel=$KVERSION rm -rf -- "$TESTDIR"/overlay ( diff --git a/test/TEST-35-ISCSI-MULTI/server-init.sh b/test/TEST-35-ISCSI-MULTI/server-init.sh index 436ee9b8..613d26a1 100755 --- a/test/TEST-35-ISCSI-MULTI/server-init.sh +++ b/test/TEST-35-ISCSI-MULTI/server-init.sh @@ -53,11 +53,9 @@ wait_for_if_link enp0s2 ip addr add 127.0.0.1/8 dev lo ip link set lo up -ip link set dev eth0 name enp0s1 ip addr add 192.168.50.1/24 dev enp0s1 linkup enp0s1 -ip link set dev eth1 name enp0s2 ip addr add 192.168.51.1/24 dev enp0s2 linkup enp0s2 diff --git a/test/TEST-35-ISCSI-MULTI/test.sh b/test/TEST-35-ISCSI-MULTI/test.sh index f3f213a1..b283d63e 100755 --- a/test/TEST-35-ISCSI-MULTI/test.sh +++ b/test/TEST-35-ISCSI-MULTI/test.sh @@ -36,7 +36,7 @@ run_server() { -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 \ - -append "panic=1 systemd.crash_reboot root=/dev/disk/by-id/ata-disk_serverroot rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=/dev/disk/by-id/ata-disk_serverroot rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \ -initrd "$TESTDIR"/initramfs.server \ -pidfile "$TESTDIR"/server.pid -daemonize || return 1 chmod 644 "$TESTDIR"/server.pid || return 1 @@ -72,7 +72,7 @@ run_client() { -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 \ - -append "panic=1 systemd.crash_reboot rw rd.auto rd.retry=50 console=ttyS0,115200n81 selinux=0 rd.debug=0 rd.shell=0 $DEBUGFAIL $*" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_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 -U --binary-files=binary -F -m 1 -q iscsi-OK "$TESTDIR"/marker.img; then echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]" @@ -231,6 +231,7 @@ test_setup() { # Make server root echo "MAKE SERVER ROOT" + # shellcheck disable=SC2031 export kernel=$KVERSION rm -rf -- "$TESTDIR"/overlay ( diff --git a/test/TEST-40-NBD/test.sh b/test/TEST-40-NBD/test.sh index 11cff752..a650691f 100755 --- a/test/TEST-40-NBD/test.sh +++ b/test/TEST-40-NBD/test.sh @@ -47,7 +47,7 @@ run_server() { -serial "${SERIAL:-"file:$TESTDIR/server.log"}" \ -net nic,macaddr=52:54:00:12:34:56,model=e1000 \ -net socket,listen=127.0.0.1:12340 \ - -append "panic=1 rd.luks=0 systemd.crash_reboot quiet root=/dev/disk/by-id/ata-disk_serverroot rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_panic=1 rd.luks=0 systemd.crash_reboot quiet root=/dev/disk/by-id/ata-disk_serverroot rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \ -initrd "$TESTDIR"/initramfs.server \ -pidfile "$TESTDIR"/server.pid -daemonize || return 1 chmod 644 "$TESTDIR"/server.pid || return 1 @@ -90,7 +90,7 @@ client_test() { "${disk_args[@]}" \ -net nic,macaddr="$mac",model=e1000 \ -net socket,connect=127.0.0.1:12340 \ - -append "panic=1 systemd.crash_reboot rd.shell=0 $cmdline $DEBUGFAIL rd.auto rd.info rd.retry=10 ro console=ttyS0,115200n81 selinux=0 " \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_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 # shellcheck disable=SC2181 @@ -367,6 +367,7 @@ make_client_root() { make_server_root() { rm -fr "$TESTDIR"/overlay + # shellcheck disable=SC2031 export kernel=$KVERSION ( mkdir -p "$TESTDIR"/overlay/source diff --git a/test/TEST-50-MULTINIC/client-init.sh b/test/TEST-50-MULTINIC/client-init.sh index c1055a3c..854c30d4 100755 --- a/test/TEST-50-MULTINIC/client-init.sh +++ b/test/TEST-50-MULTINIC/client-init.sh @@ -15,14 +15,14 @@ for i in /sys/class/net/*; do grep -q connection-uuid= "$state" 2> /dev/null || continue i=${i##*/} ip link show "$i" | grep -q master && continue - IFACES+="$i " + IFACES="${IFACES}${i} " done for i in /run/initramfs/net.*.did-setup; do # booting with network-legacy module [ -f "$i" ] || continue strglobin "$i" ":*:*:*:*:" && continue i=${i%.did-setup} - IFACES+="${i##*/net.} " + IFACES="${IFACES}${i##*/net.} " done { echo "OK" diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh index 56a12a5d..81603379 100755 --- a/test/TEST-50-MULTINIC/test.sh +++ b/test/TEST-50-MULTINIC/test.sh @@ -32,7 +32,7 @@ run_server() { -net nic,macaddr=52:54:01:12:34:56,model=e1000 \ -serial "${SERIAL:-"file:$TESTDIR/server.log"}" \ -watchdog i6300esb -watchdog-action poweroff \ - -append "panic=1 systemd.crash_reboot loglevel=7 root=LABEL=dracut rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot loglevel=7 root=LABEL=dracut rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.server \ -pidfile "$TESTDIR"/server.pid -daemonize || return 1 @@ -82,7 +82,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 \ - -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" \ + -append "quiet rd.net.timeout.dhcp=3 panic=1 hung_task_panic=1 oops=panic softlockup_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 || return 1 { diff --git a/test/TEST-60-BONDBRIDGEVLANIFCFG/99-default.link b/test/TEST-60-BONDBRIDGEVLANIFCFG/99-default.link index b992bfd2..1d218567 100644 --- a/test/TEST-60-BONDBRIDGEVLANIFCFG/99-default.link +++ b/test/TEST-60-BONDBRIDGEVLANIFCFG/99-default.link @@ -2,5 +2,5 @@ OriginalName=* [Link] -NamePolicy=keep kernel database onboard slot path +NamePolicy=mac MACAddressPolicy=keep diff --git a/test/TEST-60-BONDBRIDGEVLANIFCFG/server-init.sh b/test/TEST-60-BONDBRIDGEVLANIFCFG/server-init.sh index b002b8ad..bc98b72f 100755 --- a/test/TEST-60-BONDBRIDGEVLANIFCFG/server-init.sh +++ b/test/TEST-60-BONDBRIDGEVLANIFCFG/server-init.sh @@ -17,10 +17,6 @@ wait_for_if_link() { 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 @@ -58,38 +54,39 @@ udevadm settle ip link show -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 enx525401123456 +wait_for_if_link enx525401123457 +wait_for_if_link enx525401123458 +wait_for_if_link enx525401123459 + +ip link set dev enx525401123456 name net1 +ip link set dev enx525401123457 name net2 +ip link set dev enx525401123458 name net3 +ip link set dev enx525401123459 name net4 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 +ip addr add 192.168.50.1/24 dev net1 +linkup net1 +: > /dev/watchdog +ip link add dev net2.1 link net2 type vlan id 1 +ip link add dev net2.2 link net2 type vlan id 2 +ip link add dev net2.3 link net2 type vlan id 3 +ip link add dev net2.4 link net2 type vlan id 4 +ip addr add 192.168.54.1/24 dev net2.1 +ip addr add 192.168.55.1/24 dev net2.2 +ip addr add 192.168.56.1/24 dev net2.3 +ip addr add 192.168.57.1/24 dev net2.4 +linkup net2 +ip link set dev net2.1 up +ip link set dev net2.2 up +ip link set dev net2.3 up +ip link set dev net2.4 up +ip addr add 192.168.51.1/24 dev net3 +linkup net3 +linkup net4 : > /dev/watchdog modprobe af_packet : > /dev/watchdog @@ -120,10 +117,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 net1 net3 #echo -n 'V' : > /dev/watchdog #sh -i -#tcpdump -i ens3 +#tcpdump -i net1 # Wait forever for the VM to die echo "Serving" while :; do diff --git a/test/TEST-60-BONDBRIDGEVLANIFCFG/test.sh b/test/TEST-60-BONDBRIDGEVLANIFCFG/test.sh index 4b4da7c6..2a2afd73 100755 --- a/test/TEST-60-BONDBRIDGEVLANIFCFG/test.sh +++ b/test/TEST-60-BONDBRIDGEVLANIFCFG/test.sh @@ -25,18 +25,18 @@ run_server() { echo "MULTINIC TEST SETUP: Starting DHCP/NFS server" "$testdir"/run-qemu \ - -hda "$TESTDIR"/server.ext3 \ -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 \ + -device virtio-net-pci,netdev=n0,mac=52:54:01:12:34:56 \ + -device virtio-net-pci,netdev=n1,mac=52:54:01:12:34:57 \ + -device virtio-net-pci,netdev=n2,mac=52:54:01:12:34:58 \ + -device virtio-net-pci,netdev=n3,mac=52:54:01:12:34:59 \ + -hda "$TESTDIR"/server.ext3 \ -serial "${SERIAL:-"file:$TESTDIR/server.log"}" \ -watchdog i6300esb -watchdog-action poweroff \ - -append "panic=1 loglevel=7 root=LABEL=dracut rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 rd.debug" \ + -append "panic=1 hung_task_panic=1 oops=panic softlockup_panic=1 loglevel=7 root=LABEL=dracut 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 @@ -74,25 +74,33 @@ client_test() { 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" + 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" + nic1=("-netdev" "hubport,id=n1,hubid=2") + nic3=("-netdev" "hubport,id=n3,hubid=3") 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 \ + -netdev hubport,hubid=1,id=h2 -device virtio-net-pci,mac=52:54:00:12:34:01,netdev=h2 \ + -netdev hubport,hubid=1,id=h3 -device virtio-net-pci,mac=52:54:00:12:34:02,netdev=h3 \ + "${nic1[@]}" -device virtio-net-pci,mac=52:54:00:12:34:03,netdev=n1 \ + -netdev socket,connect=127.0.0.1:12372,id=n2 -device virtio-net-pci,mac=52:54:00:12:34:04,netdev=n2 \ + "${nic3[@]}" -device virtio-net-pci,mac=52:54:00:12:34:05,netdev=n3 \ + -hda "$TESTDIR"/client.img \ -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 + -append " + panic=1 hung_task_panic=1 oops=panic softlockup_panic=1 + ifname=net1:52:54:00:12:34:01 + ifname=net2:52:54:00:12:34:02 + ifname=net3:52:54:00:12:34:03 + ifname=net4:52:54:00:12:34:04 + ifname=net5:52:54:00:12:34:05 + $cmdline rd.net.timeout.dhcp=3 systemd.crash_reboot rd.debug + $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \ + -initrd "$TESTDIR"/initramfs.testing || return 1 { read -r OK _ @@ -133,40 +141,40 @@ test_run() { test_client() { if [[ $NM ]]; then - EXPECT='ens3 ens5.0004 ens5.3 vlan0001 vlan2 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-* EOF ' + EXPECT='net1 net3.0004 net3.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 ' + EXPECT='net1 net3.0004 net3.3 vlan0001 vlan2 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-net1 # Generated by dracut initrd NAME="net1" HWADDR="52:54:00:12:34:01" DEVICE="net1" ONBOOT=yes NETBOOT=yes IPV6INIT=yes BOOTPROTO=dhcp TYPE=Ethernet /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-net3.0004 # Generated by dracut initrd NAME="net3.0004" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.57.104" PREFIX="24" GATEWAY="192.168.57.1" TYPE=Vlan DEVICE="net3.0004" VLAN=yes PHYSDEV="net3" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-net3.3 # Generated by dracut initrd NAME="net3.3" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.56.103" PREFIX="24" GATEWAY="192.168.56.1" TYPE=Vlan DEVICE="net3.3" VLAN=yes PHYSDEV="net3" /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="net3" /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="net3" EOF ' fi client_test "Multiple VLAN" \ "yes" \ " -vlan=vlan0001:ens5 -vlan=vlan2:ens5 -vlan=ens5.3:ens5 -vlan=ens5.0004:ens5 -ip=ens3:dhcp +vlan=vlan0001:net3 +vlan=vlan2:net3 +vlan=net3.3:net3 +vlan=net3.0004:net3 +ip=net1: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 +ip=192.168.56.103::192.168.56.1:24:test:net3.3:none +ip=192.168.57.104::192.168.57.1:24:test:net3.0004:none rd.neednet=1 -root=nfs:192.168.50.1:/nfs/client bootdev=ens3 +root=nfs:192.168.50.1:/nfs/client bootdev=net1 " \ "$EXPECT" \ || return 1 if [[ $NM ]]; then - EXPECT='bond0 bond1 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-* EOF ' + EXPECT='bond0 /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 ' + 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-net1 # Generated by dracut initrd NAME="net1" HWADDR="52:54:00:12:34:01" TYPE=Ethernet ONBOOT=yes NETBOOT=yes SLAVE=yes MASTER="bond0" DEVICE="net1" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-net2 # Generated by dracut initrd NAME="net2" HWADDR="52:54:00:12:34:02" TYPE=Ethernet ONBOOT=yes NETBOOT=yes SLAVE=yes MASTER="bond0" DEVICE="net2" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-net4 # Generated by dracut initrd NAME="net4" HWADDR="52:54:00:12:34:04" TYPE=Ethernet ONBOOT=yes NETBOOT=yes SLAVE=yes MASTER="bond1" DEVICE="net4" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-net5 # Generated by dracut initrd NAME="net5" TYPE=Ethernet ONBOOT=yes NETBOOT=yes SLAVE=yes MASTER="bond1" DEVICE="net5" EOF ' fi client_test "Multiple Bonds" \ "yes" \ " -bond=bond0:ens3,ens4 -bond=bond1:ens6,ens7 +bond=bond0:net1,net2:miimon=100 +bond=bond1:net4,net5:miimon=100 ip=bond0:dhcp ip=bond1:dhcp rd.neednet=1 @@ -178,14 +186,14 @@ root=nfs:192.168.50.1:/nfs/client bootdev=bond0 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 ' + 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-net1 # Generated by dracut initrd NAME="net1" HWADDR="52:54:00:12:34:01" TYPE=Ethernet ONBOOT=yes NETBOOT=yes BRIDGE="br0" DEVICE="net1" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-net2 # Generated by dracut initrd NAME="net2" HWADDR="52:54:00:12:34:02" TYPE=Ethernet ONBOOT=yes NETBOOT=yes BRIDGE="br0" DEVICE="net2" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-net4 # Generated by dracut initrd NAME="net4" TYPE=Ethernet ONBOOT=yes NETBOOT=yes BRIDGE="br1" DEVICE="net4" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-net5 # Generated by dracut initrd NAME="net5" TYPE=Ethernet ONBOOT=yes NETBOOT=yes BRIDGE="br1" DEVICE="net5" EOF ' fi client_test "Multiple Bridges" \ "no" \ " -bridge=br0:ens3,ens4 -bridge=br1:ens6,ens7 +bridge=br0:net1,net2 +bridge=br1:net4,net5 ip=br0:dhcp ip=br1:dhcp rd.neednet=1 @@ -193,6 +201,7 @@ root=nfs:192.168.50.1:/nfs/client bootdev=br0 " \ "$EXPECT" \ || return 1 + kill_server return 0 } @@ -343,30 +352,37 @@ test_setup() { # Make an overlay with needed tools for the test harness ( # shellcheck disable=SC2031 + # shellcheck disable=SC2030 export initdir="$TESTDIR"/overlay # shellcheck disable=SC1090 . "$basedir"/dracut-init.sh inst_multiple poweroff shutdown inst_hook emergency 000 ./hard-off.sh - 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 ${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" \ + -d "ipvlan macvlan af_packet piix sd_mod sr_mod ata_piix ide-gd_mod virtio-net nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files sunrpc i6300esb ib700wdt" \ --no-hostonly-cmdline -N \ -f "$TESTDIR"/initramfs.testing "$KVERSION" || return 1 + + ( + # shellcheck disable=SC2031 + export initdir="$TESTDIR"/overlay + # shellcheck disable=SC1090 + . "$basedir"/dracut-init.sh + inst_simple ./99-default.link /etc/systemd/network/99-default.link + inst_hook pre-mount 99 ./wait-if-server.sh + ) + # 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 network network-legacy" \ + -d "ipvlan macvlan af_packet piix ide-gd_mod ata_piix ext3 sd_mod nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files nfsd virtio-net i6300esb ib700wdt" \ + --no-hostonly-cmdline -N \ + -f "$TESTDIR"/initramfs.server "$KVERSION" || return 1 } kill_server() { diff --git a/test/TEST-60-BONDBRIDGEVLANIFCFG/wait-if-server.sh b/test/TEST-60-BONDBRIDGEVLANIFCFG/wait-if-server.sh new file mode 100644 index 00000000..7cdb9417 --- /dev/null +++ b/test/TEST-60-BONDBRIDGEVLANIFCFG/wait-if-server.sh @@ -0,0 +1,6 @@ +#!/bin/sh +. /lib/net-lib.sh +wait_for_if_link enx525401123456 +wait_for_if_link enx525401123457 +wait_for_if_link enx525401123458 +wait_for_if_link enx525401123459