This only kicks in when the interface is brought up after network-manager, so it doesn't affect boot since lxc-net starts before network-manager and it doesn't affect upgrades where a container is already running (as we don't destroy the bridge in that case).
But it does absolutely affect all new installs and upgrades done when no container is running.
This is a critical regression in Network Manager behavior, NM should NEVER touch non-physical interfaces and it should even less start flushing existing network configuration.
Changes are this affects libvirt too, unless libvirt bring up takes long enough to win the race against NM.
Just managed to reproduce it here, it's caused by Network Manager deciding to mess with our bridge instead of leaving it alone as it should.
Current workarounds include:
- reboot
- systemctl stop network-manager && systemctl restart lxc-net && systemct start network-manager
This only kicks in when the interface is brought up after network-manager, so it doesn't affect boot since lxc-net starts before network-manager and it doesn't affect upgrades where a container is already running (as we don't destroy the bridge in that case).
But it does absolutely affect all new installs and upgrades done when no container is running.
This is a critical regression in Network Manager behavior, NM should NEVER touch non-physical interfaces and it should even less start flushing existing network configuration.
Changes are this affects libvirt too, unless libvirt bring up takes long enough to win the race against NM.