Comment 3 for bug 2063973

Revision history for this message
Lucas Nussbaum (lucas) wrote :

I think I understood this.

I have a udev rule to force the NIC name to eno1, which is not the driver's default (it is eno1np0). I did not regenerate the initramfs, so that rule did not propagate there.

What happens is:
- initramfs is executed. The NIC is renamed to eno1np0 (driver's default).
- systemd starts
- it runs the netplan generator
- the netplan generator sees its configuration for eno1, but does not match it to eno1np0.
- as a consequence, it does not generate the symlink (/run/systemd/generator/network-online.target.wants/systemd-networkd-wait-online.service)
- udev kicks in, renames the NIC to eno1, but it's too late.

That behaviour is caused by debian/patches/lp2060311/0010-wait-online-wait-for-existing-interfaces-only-and-do.patch. Removing that patch returns to the previous behaviour.

There are two potential workarounds:
- regenerate the initramfs, so that it knows about the new name for the interface and names it correctly before systemd starts.
- help netplan match the real NIC with its configuration, for example specifying the MAC address.
```
---
network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: true
      match:
        macaddress: 98:03:9b:b0:a7:76
```