# modified from upstream fai example
error=0; trap 'error=$(($?>$error?$?:$error))' ERR # save maximum error code
+if ! ifclass VM && ! ifclass STABLE; then
+ # get persistent interface name. Note, these class conditions
+ # will need to get modified for new oses. testing vm doesn't use
+ # it right now, but other vms do I'm sure.
+ for field in ID_NET_NAME_FROM_DATABASE \
+ ID_NET_NAME_ONBOARD \
+ ID_NET_NAME_SLOT \
+ ID_NET_NAME_PATH \
+ ID_NET_NAME_MAC; do
+ name=$(udevadm info /sys/class/net/$NIC1 | sed -rn "s/^E: $field=(.+)/\1/p")
+ if [[ $name ]]; then
+ NIC1=$name
+ break
+ fi
+ done
+ if [[ ! $name ]]; then
+ echo "$0: error: could not find systemd predictable network name"
+ exit 1
+ fi
+fi
+
if ifclass DHCPC && [ $FAI_ACTION = "install" -o $FAI_ACTION = "dirinstall" ]
then
if ifclass VM; then
fi
if ! $persist; then
- echo "waiting for 2 dhcp acks then disabling pxe"
- ack-wait 2
+ # fai's debian jessie 8.5ish does 2 dhcp requests when booting,
+ # roughly 4 seconds apart. Earlier
+ # versions did just 1. Whatever.
+ echo "waiting for 3 dhcp acks then disabling pxe"
+ ack-wait 3
set-pxe :
if [[ $type == fai ]]; then
# fai server can contain sensitive info, so turn it off