I have found another case where reloading networkd will not be enough to
apply the configuration. I'm not sure if it's the same root cause but it
looks similar so I'll use this ticket to document it.

The scenario looks like this (it's all done in a LXD VM running
Oracular):

1) Start with the default ethernet configuration
2) Add the ethernet interface to a bond and apply
3) Remove the bond from the configuration and apply
4) Add the interface back to the bond and apply
5) At this point the configuration will not be applied anymore and one needs to 
either restart networkd or delete the bond.

It smells like some state is not being dropped and causing the issue.

Details on how to reproduce:

Start with this config:

network:
  version: 2
  ethernets:
    enp5s0:
      dhcp4: true
      
      
Add a bond:

network:
  version: 2
  ethernets:
    enp5s0: {}
  bonds:
    bond0:
      dhcp4: true
      interfaces:
        - enp5s0
        
        
Apply the config and observe it worked as intended.

Now restore the initial config and netplan apply again:

network:
  version: 2
  ethernets:
    enp5s0:
      dhcp4: true

At this point enp4s0 will get an IP address and the bond0 interface will
be left behind as netplan apply will not delete it.

Now add the bond back and netplan apply again:

network:
  version: 2
  ethernets:
    enp5s0: {}
  bonds:
    bond0:
      dhcp4: true
      interfaces:
        - enp5s0
        
        
At this point the configuration will not by applied anymore.
The bond state will get stuck at "State: no-carrier (configuring)".
One needs to either delete the bond or restart networkd to make it work again.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/2058976

Title:
  Configuration files for networkd are created when NetworkManager is
  the default renderer

Status in Netplan:
  New
Status in systemd package in Ubuntu:
  New

Bug description:
  This is happening in a UC image created with a gadget that disables
  console-conf:

  $ ubuntu-image snap --snap=network-manager=22 --snap pc_22.snap

  The snaps are:

  $ snap list
  Name             Version                 Rev    Tracking     Publisher   Notes
  core22           20240321                1344   latest/edge  canonical✓  base
  network-manager  1.36.6-9                876    22/stable    canonical✓  -
  pc               22-0.3                  x1     -            -           
gadget
  pc-kernel        5.15.0-102.112.1+1      1731   22/beta      canonical✓  
kernel
  snapd            2.62+git2017.g1afc063e  21490  latest/edge  canonical✓  snapd

  On first boot, the content in /etc/netplan is:

  ubuntu@ubuntu:~$ cat /etc/netplan/00-default-nm-renderer.yaml 
  network:
    renderer: NetworkManager
  ubuntu@ubuntu:~$ cat /etc/netplan/50-cloud-init.yaml 
  # This file is generated from information provided by the datasource.  Changes
  # to it will not persist across an instance reboot.  To disable cloud-init's
  # network configuration capabilities, write a file
  # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
  # network: {config: disabled}
  network:
      ethernets:
          ens3:
              dhcp4: true
              match:
                  macaddress: '52:54:00:12:34:56'
              set-name: ens3
      version: 2

  
  But we have a configuration file for systemd-networkd that should not be 
there:

  ubuntu@ubuntu:~$ cat /run/systemd/network/10-netplan-ens3.link 
  [Match]
  PermanentMACAddress=52:54:00:12:34:56

  [Link]
  Name=ens3
  WakeOnLan=off

  ubuntu@ubuntu:~$ networkctl 
  IDX LINK TYPE     OPERATIONAL SETUP     
    1 lo   loopback carrier     unmanaged
    2 ens3 ether    routable    configured

  While having to:

  ubuntu@ubuntu:~$ sudo cat 
/run/NetworkManager/system-connections/netplan-ens3.nmconnection
  [connection]
  id=netplan-ens3
  type=ethernet
  interface-name=ens3

  [ethernet]
  wake-on-lan=0

  [ipv4]
  method=auto

  [ipv6]
  method=ignore

  ubuntu@ubuntu:~$ nmcli c
  NAME          UUID                                  TYPE      DEVICE 
  netplan-ens3  bec3d02a-c9e5-3283-92ab-ee43a4246c85  ethernet  ens3   

  ubuntu@ubuntu:~$ nmcli d
  DEVICE  TYPE      STATE      CONNECTION   
  ens3    ethernet  connected  netplan-ens3 
  lo      loopback  unmanaged  --

To manage notifications about this bug go to:
https://bugs.launchpad.net/netplan/+bug/2058976/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to