From: Harald Hoyer Date: Tue, 4 May 2021 14:36:22 +0000 (+0200) Subject: fix: shellcheck 0.7.2 X-Git-Tag: 054~33 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=909961d048d383beb9f437cf3304ebbb602e4247;p=thirdparty%2Fdracut.git fix: shellcheck 0.7.2 github action `luizm/action-sh-checker@v0.2.2` uses `shellcheck-0.7.2`, which detects more non-posix shell code and complains accordingly. --- diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 3328d861f..7b1b8ee74 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 17909a194..ce5c883b7 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 a7d66edb9..ec00097e2 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 c8b59e9a6..6e7807552 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 0eed4652b..1b943ae3e 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 eb4e05933..ed1ddcfd2 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 ad52614c9..d0eb77948 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 3c1b94457..5e3c469c2 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 c3afaa95f..8345585f9 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 b66367bd5..e3e1f16be 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 f1b412cee..df091a521 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 95a8a8b37..a05c46980 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 aea7c4322..84dcf7f5b 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 b904fba83..35917bbfb 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 648d84d63..60824da6e 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 6480dc061..54bb6775e 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 dd8a0ba08..b8270dd5d 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 d449be525..6cb682abb 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 4eb27ac5d..acb9cf834 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 0fa3dbcc0..fe25e9986 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 b1c76b4c3..091280769 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 933365f98..70be18529 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 12d1597a8..3e9226beb 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 eae7f2a97..db0def50e 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 f7febd764..d7748827d 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 3a832e7dc..c75e5f70f 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 1f678799b..50322747f 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 ba5f25844..df37c6608 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 3004a9e4c..d89536059 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 7997e63d4..13c4f2043 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 e53ea59ba..978adb6ff 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 d8b95d60a..470083252 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 82a9f22be..f8bd445ff 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 0eb641c35..a40cce4e7 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 ea5977943..73550ba9e 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 b79661da2..645ac7e87 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 df679610d..41e22cf45 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 f7d65e948..b3d9d23bd 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 505240c12..e2f352b5a 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 79e623935..25f590896 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 ac2481a73..0b336f245 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 3f3f1ffb2..2b4e85374 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 612a65207..bce386cbc 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 a551ac242..be2d8221b 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 5a086ec76..ed1453315 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 288a05c6d..2b7ca22c8 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 f9f731092..607edef57 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 48e55ebd5..00841c0fd 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 0be16cebe..f8f81a30e 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 5f218f166..91f0aaadf 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 436ee9b8d..613d26a1f 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 f3f213a1b..b283d63ef 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 11cff7521..a650691f7 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 c1055a3ce..854c30d47 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 56a12a5d6..81603379c 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 b992bfd20..1d2185679 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 b002b8ad9..bc98b72f6 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 4b4da7c65..2a2afd736 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 000000000..7cdb94178 --- /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