]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
TEST-{20,30,31,40,50,60,70): wait for server interfaces to come up
authorLubomir Rintel <lkundrak@v3.sk>
Mon, 11 Nov 2019 17:12:58 +0000 (18:12 +0100)
committerDaniel Molkentin <daniel@molkentin.de>
Mon, 11 Nov 2019 20:16:47 +0000 (21:16 +0100)
The network interfaces appear asynchronously and sometimes just too late,
after we're already halfway throught server-init.sh:

  + ip link set dev eth0 name ens3
  Cannot find device "eth0"
  + ip addr add 192.168.50.1/24 dev ens3
  Cannot find device "ens3"
  + dhcpd -cf /etc/dhcpd.conf -lf /var/lib/dhcpd/dhcpd.leases ens3 ens5
  ...
  [    8.040825] e1000 0000:00:03.0 eth0: (PCI:33MHz:32-bit) 52:54:01:12:34:56
  [    8.047105] e1000 0000:00:03.0 eth0: Intel(R) PRO/1000 Network Connection
  ...
  No subnet declaration for ens3 (no IPv4 addresses).
  ** Ignoring requests on ens3.  If this is not what
     you want, please write a subnet declaration
     in your dhcpd.conf file for the network segment
     to which interface ens3 is attached. **

Whoopsie. Let's ensure all the interfaces are there before we proceed
fiddling around with them.

test/TEST-20-NFS/server-init.sh
test/TEST-30-ISCSI/server-init.sh
test/TEST-31-ISCSI-MULTI/server-init.sh
test/TEST-40-NBD/server-init.sh
test/TEST-50-MULTINIC/server-init.sh
test/TEST-60-IFCFG/server-init.sh
test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh

index b2b763b5d2dee7ef4e7721f66ab06bf873d2f087..59b140e0d0d213021b7176ac030266e743b74633 100755 (executable)
@@ -8,6 +8,21 @@ echo > /dev/watchdog
 stty sane
 echo "made it to the rootfs!"
 echo server > /proc/sys/kernel/hostname
+
+wait_for_if_link() {
+    local cnt=0
+    local li
+    while [ $cnt -lt 600 ]; do
+        li=$(ip -o link show dev $1 2>/dev/null)
+        [ -n "$li" ] && return 0
+        sleep 0.1
+        cnt=$(($cnt+1))
+    done
+    return 1
+}
+
+wait_for_if_link eth0
+
 ip addr add 127.0.0.1/8 dev lo
 ip link set lo up
 ip link set dev eth0 name ens3
index 64a47556ec2a3f1c7a88c8b0fc264789e29e30da..2258fc36152a405ecf6ccdf6b9a46b62376c6544 100755 (executable)
@@ -7,6 +7,22 @@ export PS1='nfstest-server:\w\$ '
 stty sane
 echo "made it to the rootfs!"
 echo server > /proc/sys/kernel/hostname
+
+wait_for_if_link() {
+    local cnt=0
+    local li
+    while [ $cnt -lt 600 ]; do
+        li=$(ip -o link show dev $1 2>/dev/null)
+        [ -n "$li" ] && return 0
+        sleep 0.1
+        cnt=$(($cnt+1))
+    done
+    return 1
+}
+
+wait_for_if_link eth0
+wait_for_if_link eth1
+
 ip addr add 127.0.0.1/8 dev lo
 ip link set lo up
 ip link set dev eth0 name ens3
index 64a47556ec2a3f1c7a88c8b0fc264789e29e30da..2258fc36152a405ecf6ccdf6b9a46b62376c6544 100755 (executable)
@@ -7,6 +7,22 @@ export PS1='nfstest-server:\w\$ '
 stty sane
 echo "made it to the rootfs!"
 echo server > /proc/sys/kernel/hostname
+
+wait_for_if_link() {
+    local cnt=0
+    local li
+    while [ $cnt -lt 600 ]; do
+        li=$(ip -o link show dev $1 2>/dev/null)
+        [ -n "$li" ] && return 0
+        sleep 0.1
+        cnt=$(($cnt+1))
+    done
+    return 1
+}
+
+wait_for_if_link eth0
+wait_for_if_link eth1
+
 ip addr add 127.0.0.1/8 dev lo
 ip link set lo up
 ip link set dev eth0 name ens3
index 00397536cae19de21aaaab61dba00232d8a1db43..63755b2678c8d9801fd545ae0229fccf9e7c16db 100755 (executable)
@@ -7,6 +7,21 @@ export PS1='nbdtest-server:\w\$ '
 stty sane
 echo "made it to the rootfs!"
 echo server > /proc/sys/kernel/hostname
+
+wait_for_if_link() {
+    local cnt=0
+    local li
+    while [ $cnt -lt 600 ]; do
+        li=$(ip -o link show dev $1 2>/dev/null)
+        [ -n "$li" ] && return 0
+        sleep 0.1
+        cnt=$(($cnt+1))
+    done
+    return 1
+}
+
+wait_for_if_link eth0
+
 ip addr add 127.0.0.1/8 dev lo
 ip link set lo up
 ip link set dev eth0 name ens3
index 8a519fbaa7793c70af40d05bfddb1ce777e3cf8e..ed84c5b49f43089595008aa77afcdeef23a94e39 100755 (executable)
@@ -49,6 +49,8 @@ linkup() {
      && wait_for_if_up $1 2>/dev/null
 }
 
+wait_for_if_link eth0
+
 >/dev/watchdog
 ip addr add 127.0.0.1/8 dev lo
 linkup lo
index b9f01c9b6a25b4994ab52c9408c488fdc9e31715..7aae0f13927669c9497becece3e86fa6a0f13030 100755 (executable)
@@ -49,6 +49,11 @@ linkup() {
      && wait_for_if_up $1 2>/dev/null
 }
 
+wait_for_if_link eth0
+wait_for_if_link eth1
+wait_for_if_link eth2
+wait_for_if_link eth3
+
 modprobe --all -b -q 8021q ipvlan macvlan
 >/dev/watchdog
 ip addr add 127.0.0.1/8 dev lo
index b9f01c9b6a25b4994ab52c9408c488fdc9e31715..7aae0f13927669c9497becece3e86fa6a0f13030 100755 (executable)
@@ -49,6 +49,11 @@ linkup() {
      && wait_for_if_up $1 2>/dev/null
 }
 
+wait_for_if_link eth0
+wait_for_if_link eth1
+wait_for_if_link eth2
+wait_for_if_link eth3
+
 modprobe --all -b -q 8021q ipvlan macvlan
 >/dev/watchdog
 ip addr add 127.0.0.1/8 dev lo