X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fscripts%2FDEBIAN%2F30-interface;h=f23d1eaf62a5d0e6ccd317fc8df9ed6290bd04a6;hb=d4f7a9349a08f60957ca544f3d68a9b97015f6b9;hp=34c98e81aa5591b790912bf64a26b1dd84d4f625;hpb=f8e7e925a0eba5b0091354ccf26842bcfda9b84e;p=automated-distro-installer diff --git a/fai/config/scripts/DEBIAN/30-interface b/fai/config/scripts/DEBIAN/30-interface index 34c98e8..f23d1ea 100755 --- a/fai/config/scripts/DEBIAN/30-interface +++ b/fai/config/scripts/DEBIAN/30-interface @@ -1,5 +1,8 @@ #! /bin/bash +# modified from upstream fai example +error=0; trap 'error=$(($?>$error?$?:$error))' ERR # save maximum error code + netplan_yaml() { # network configuration using ubuntu's netplan.io local IFNAME="$1" @@ -89,16 +92,65 @@ case "$FAI_ACTION" in fi elif [ -d $target/etc/network/interfaces.d ]; then # ifupdown >= 0.7.41 (Debian >= 8, Ubuntu >= 14.04) - iface_stanza lo loopback > $target/etc/network/interfaces.d/lo - if [ -n "$NIC1" -a ! -f $target/etc/NetworkManager/NetworkManager.conf ]; then - iface_stanza $NIC1 $METHOD > $target/etc/network/interfaces.d/$NIC1 - fi + if ifclass VM; then + # note, this condition would apply to the elif below too, + # but I don't specify a static ip in fai, so not bothering + cat > $target/etc/network/interfaces <<-EOF +# generated by FAI +auto lo $NIC1 +iface lo inet loopback +iface $NIC1 inet dhcp +iface $NIC1 inet6 auto +EOF + + elif ifclass LINODE; then + # NIC1 is wrong, probably because the installer distro + # is stretch and the installed one is buster. + # todo: after upgrading installer to buster, + # try removing this condition + cat > $target/etc/network/interfaces < $target/etc/network/interfaces <$target/etc/initramfs-tools/conf.d/mine < $target/etc/network/interfaces + ( + iface_stanza lo loopback + iface_stanza $NIC1 $METHOD + ) > $target/etc/network/interfaces fi if ! ifclass DHCPC ; then @@ -108,6 +160,7 @@ case "$FAI_ACTION" in fi fi ;; + esac # here fcopy is mostly used, when installing a client for running in a