+# within a systemd-driven startup, we often see this stage
+# triggered before the network interface is actually exposed
+# by udev/kernel
+# although of course we have network-online.target
+# as a requirement; go figure what systemd actually does..
+
+# in any case, let us try to work around that by allowing some delay
+# here
+
+# tmp: Thierry June 2015
+# on fedora 21 nodes we see this running in a context where eth0 is not known to the system
+# could be related to a dependency that we poorly describe to systemd
+# I am increasing this timeout to 2 minutes in order to check that conjecture
+ALLOW=60
+COUNTER=0
+while true; do
+ if /sbin/ifconfig $ETH_DEVICE >& /dev/null; then
+ echo $(date "+%H:%M:%S") " pl_netinit: device present $ETH_DEVICE, proceeding (${COUNTER}s/${ALLOW}s)"
+ break
+ fi
+ echo $(date "+%H:%M:%S") " pl_netinit: waiting for device $ETH_DEVICE - ${COUNTER}s/${ALLOW}s"
+ set -x
+ /sbin/ifconfig
+ journalctl -b | egrep 'eth|bnx|udev'
+ systemctl list-unit-files | grep -i network
+ set +x
+ COUNTER=$(($COUNTER+1))
+ [ $COUNTER -ge $ALLOW ] && net_init_failed
+ sleep 1
+done
+