X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fscripts%2FDEBIAN%2F30-interface;h=6f2251a1452ed9938cb468ca62e7099b22651988;hb=5177fb7a211b9056ad8f0df41371bbeaac25ed32;hp=3d4d08fb63f4ba7ea7e4f48b847a8165c80ae35d;hpb=a2d5a9fa8af23a2af6b97a55d87b6591d212fe2d;p=automated-distro-installer diff --git a/fai/config/scripts/DEBIAN/30-interface b/fai/config/scripts/DEBIAN/30-interface index 3d4d08f..6f2251a 100755 --- a/fai/config/scripts/DEBIAN/30-interface +++ b/fai/config/scripts/DEBIAN/30-interface @@ -3,6 +3,27 @@ # 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