FAI 5.6 and Ubuntu 18.04 LTS bionic

Achim Bohnet alleehol at gmail.com
Fri Jun 22 17:55:57 CEST 2018



> On 22. Jun 2018, at 16:39, Achim Bohnet <alleehol at gmail.com> wrote:
> 
> 
> 
>> On 18. May 2018, at 22:13, Derek Poon <derekp+fai at ece.ubc.ca> wrote:
>> 
>> In my experience, I have found two potential issues when installing Ubuntu 18.04 using FAI.
>> 
>> The first is that if using FAI <= 5.5, then FAI_DEBOOTSTRAP_OPTS needs '--include gnupg'. Otherwise, the `apt-key add` in /usr/lib/fai/subroutines would fail.  (At our site, we always run deboostrap instead of relying on basefiles, and we often need backwards compatibility for dirinstalls.)
>> 
>> The second is that netplan (see https://netplan.io/examples) is the new preferred configuration format for networking; /etc/network/interfaces works only if you install the ifupdown package. I've included excerpts from our local scripts/DEBIAN/30-interface file below.  It generates either /etc/netplan/*.yaml or /etc/network/interfaces.d/* or /etc/network/interfaces configuration files as appropriate.
> 
> Hi Derek,
> thx for the netplan support script.   
> 
> There's another problem here, when installing bionic via a stretch NFSROOT:
> ifname in stretch is eht0
> ifname in bionic is ens160
> 
> So install and boot time interface names are different. How did you solve this?

Ups, sorry!  It works.  I used the wrong config space during my test :-(

Achim
> 
> Achim
>> 
>> ###############################################################################
>> 
>> netplan_yaml() {
>>   local IFNAME="$1"
>>   local METHOD="$2"
>>   echo     "Generating netplan configuration for $IFNAME ($METHOD)" >&2
>>   echo     "# generated by FAI"
>>   echo     "network:"
>>   echo     "    version: 2"
>>   ifclass SERVER ||
>>   echo     "    renderer: NetworkManager"
>>   echo     "    ethernets:"
>>   echo     "        $IFNAME:"
>>   case "$METHOD" in
>>     dhcp)
>>       echo "            dhcp4: true"
>>       ;;
>>     static)
>>       echo "            addresses: [$CIDR]"
>>       echo "            gateway4: $GATEWAYS_1"
>>       echo "            nameservers:"
>>       echo "                search: [$DOMAIN]"
>>       echo "                addresses: [${DNSSRVS// /, }]"
>>       ;;
>>   esac
>> }
>> 
>> iface_stanza() {
>>   local IFNAME="$1"
>>   local METHOD="$2"
>>   echo "Generating interface configuration for $IFNAME ($METHOD)" >&2
>>   echo "# generated by FAI"
>>   echo "auto $IFNAME"
>>   echo "iface $IFNAME inet $METHOD"
>>   case "$METHOD" in
>>     static)
>>       echo "    address $IPADDR"
>>       echo "    netmask $NETMASK"
>>       echo "    broadcast $BROADCAST"
>>       echo "    gateway $GATEWAYS"
>>       ;;
>>   esac
>> }
>> 
>>>> 
>> case "$FAI_ACTION" in
>> install|dirinstall)
>>   ifclass DHCPC && METHOD=dhcp || METHOD=static
>> 
>>   if [ -d $target/etc/netplan ]; then
>>       # Ubuntu >= 17.10 with netplan.io
>>       if [ -n "$NIC1" ]; then
>>           netplan_yaml $NIC1 $METHOD > $target/etc/netplan/01-${NIC1}.yaml
>>       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" ]; then
>>           iface_stanza $NIC1 $METHOD > \
>>               $target/etc/network/interfaces.d/$NIC1
>>       fi
>>   else
>>       (
>>           iface_stanza lo loopback
>>           iface_stanza $NIC1 $METHOD
>>       ) > $target/etc/network/interfaces
>>   fi
>> 
>>   if ! ifclass DHCPC ; then
>>       [ -n "$NETWORK" ] && echo "localnet $NETWORK" > $target/etc/networks
>>       if [ ! -L $target/etc/resolv.conf -a -e /etc/resolv.conf ]; then
>>           cp -p /etc/resolv.conf $target/etc
>>       fi
>>   fi
>>   ;;
>> esac
>> 
>> 
>> ###############################################################################
>> 
>> 
>> 
>>> On May 18, 2018, at 11:04, Thomas Lange <lange at informatik.uni-koeln.de> wrote:
>>> 
>>> After building the basefile for Ubuntu 18.04 LTS aka Bionic, my first
>>> tests look fine. Setting the release name in class/UBUNTU.var to
>>> ubuntudist=bionic
>>> and copying the basefile from
>>> https://fai-project.org/download/basefiles/BIONIC64.tar.xz
>>> works. Oh, I didn't test yet if the network is running after the
>>> installation. I will do this later.
>> 
> 
> -- 
> To me vi is Zen.  To use vi is to practice zen. Every command is
> a koan. Profound to the user, unintelligible to the uninitiated.
> You discover truth everytime you use it.
>                                     -- reddy at lion.austin.ibm.com

-- 
 To me vi is Zen.  To use vi is to practice zen. Every command is
 a koan. Profound to the user, unintelligible to the uninitiated.
 You discover truth everytime you use it.
                                     -- reddy at lion.austin.ibm.com



More information about the linux-fai mailing list