Jay, The good news is that, with 0.130ubuntu3.11, initramfs-tools is now able to render a correct netplan YAML file:
# cat /run/netplan/ens3.yaml network: version: 2 renderer: networkd ethernets: ens3: set-name: ens3 dhcp4: true dhcp-identifier: mac critical: true nameservers: addresses: ["100.100.100.60", "100.100.100.160"] search: ["domainname.com"] However, net_failover 3-netdev interfaces are still showing incorrect names: # ip l 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: ens3: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 12:3f:bd:fd:bb:1e brd ff:ff:ff:ff:ff:ff 3: rename3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master ens3 state UP mode DEFAULT group default qlen 1000 link/ether 12:3f:bd:fd:bb:1e brd ff:ff:ff:ff:ff:ff 4: rename4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ens3 state UP mode DEFAULT group default qlen 1000 link/ether 12:3f:bd:fd:bb:1e brd ff:ff:ff:ff:ff:ff while we should expect to see something like: # ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: ens3: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 12:3f:bd:fd:bb:1e brd ff:ff:ff:ff:ff:ff 3: ens3nsby: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master ens3 state UP mode DEFAULT group default qlen 1000 link/ether 12:3f:bd:fd:bb:1e brd ff:ff:ff:ff:ff:ff 4: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ens3 state UP mode DEFAULT group default qlen 1000 link/ether 12:3f:bd:fd:bb:1e brd ff:ff:ff:ff:ff:ff The culprit, as I ever indicated before, is that even with the seemingly correct netplan config provided, the netplan tool itself still doesn't recognize the 3-netdev failover interface, ending up with below udev rules renderred that runs conflict with the 3-netdev model: # cat /run/systemd/network/10-netplan-ens3.link [Match] MACAddress=12:3f:bd:fd:bb:1e [Link] Name=ens3 WakeOnLan=off # cat /run/udev/rules.d/99-netplan-ens3.rules SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="12:3f:bd:fd:bb:1e", NAME="ens3" I understand that the solution we agreed upon has to rely on cloud-init providing supplemental udev rules for naming the ens3nsby (failover standby) and the ens4 (failover primary) interface. But, I don't see how the resulted 99-netplan-ens3.rules would work, given that all the 3 netdevs share a same MAC address, and there's no other udev attribute to differentiate? What's in your mind that needs to be fixed next, netplan or udevd? Thanks, -Siwei -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1820929 Title: netplan should consider adding more udev attribute for exact matching of failover 3-netdev interfaces To manage notifications about this bug go to: https://bugs.launchpad.net/netplan/+bug/1820929/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs