[Bug 2032824] Re: Veth pairs fail activation on Jammy
Launchpad Bug Tracker
2032824 at bugs.launchpad.net
Tue Feb 11 01:51:03 UTC 2025
This bug was fixed in the package network-manager - 1.36.6-0ubuntu2.1
---------------
network-manager (1.36.6-0ubuntu2.1) jammy; urgency=medium
[ Danilo Egea Gondolfo ]
* debian/patches/lp2032824 (LP: #2032824)
Fix for VETHs pairs activation on startup.
[ Jeremy Bicha ]
* debian/watch: Watch for 1.36.x releases
-- Lukas Märdian <slyon at ubuntu.com> Wed, 11 Dec 2024 15:48:05 +0100
** Changed in: network-manager (Ubuntu Jammy)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/2032824
Title:
Veth pairs fail activation on Jammy
Status in network-manager package in Ubuntu:
Fix Released
Status in network-manager source package in Jammy:
Fix Released
Bug description:
[ Impact ]
* Network Manager 1.36 has a bug that prevents it to activate veth pairs.
* The problem was found in the Netplan's CI with the new support for veths in Netplan v0.107.
* We cherry-pick upstream patches to fix the issue:
- https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/4655b7c308461ae1f86d592ea6d45e00a2820423
- https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/07e0ab48d194b8bd6663a34887c2e753720ae4d3
- https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/50f738bde5b441b5ca52024c1a0998399b87337b
[ Test Plan ]
* Run netplan.io's autopkgtests against the new network-manager package and make sure it passes the veth tests, especially those two:
- test_create_veth_pair (__main__.TestNetworkManager)
- test_create_veth_pair_with_ip_address (__main__.TestNetworkManager)
* In addition to that, reproduce the steps from this bug report:
1) Launch a Jammy VM and install network-manager
lxc launch ubuntu:jammy jammy --vm
lxc shell jammy
apt -y install network-manager
2) Set the default Netplan's renderer to NetworkManager so NM can
manage interfaces (it will make Netplan create the file
/var/run/NetworkManager/conf.d/10-globally-managed-devices.conf)
netplan set --origin-hint=50-cloud-init network.renderer=NetworkManager
netplan apply
3) Create the veth pair
nmcli con add type veth ifname veth0 peer veth1 ipv4.method disabled ipv6.method disabled
nmcli con add type veth ifname veth1 peer veth0 ipv4.method disabled ipv6.method disabled
4) Reboot
5) Check with "nmcli con show" that the new connections were
activated, and created in the system. Also, check the systemd journal
and you should NOT see this error message:
<error> [1692805758.9025] manager: (veth-veth0) couldn't create the
device: Failed to create veth interface 'veth0' for 'veth-veth0':
exists
[ Where problems could occur ]
* We're pulling upstream patchces to modify NetworkManager's
src/core/devices/nm-device-veth.c file. This could have side-effects
on veth functionality in general when NetworkManager is in use.
[ Other Info ]
* This issue appears to be fixed by this commit
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/4655b7c308461ae1f86d592ea6d45e00a2820423
* Danilo created a PPA with the fix here
https://launchpad.net/~danilogondolfo/+archive/ubuntu/network-manager
=== Original bug report ===
Network Manager 1.36 has a bug that prevents it to activate veth pairs. The problem was found in the Netplan's CI with the new support for veths in Netplan (because we run the tests on Jammy).
How to reproduce the problem:
1) Launch a Jammy VM and install network-manager
lxc launch ubuntu:jammy jammy --vm
lxc shell jammy
apt -y install network-manager
2) Set the default Netplan's renderer to NetworkManager so NM can
manage interfaces (it will make Netplan create the file
/var/run/NetworkManager/conf.d/10-globally-managed-devices.conf)
netplan set --origin-hint=50-cloud-init network.renderer=NetworkManager
netplan apply
3) Create the veth pair
nmcli con add type veth ifname veth0 peer veth1 ipv4.method disabled ipv6.method disabled
nmcli con add type veth ifname veth1 peer veth0 ipv4.method disabled ipv6.method disabled
4) Reboot
5) Check with "nmcli con show" that the new connections were not
activated, even though both interfaces were created in the system.
Also, check the systemd journal and you should see this error message:
<error> [1692805758.9025] manager: (veth-veth0) couldn't create the
device: Failed to create veth interface 'veth0' for 'veth-veth0':
exists
Try the very same steps on Lunar and you'll see that the connections
will be activated just fine.
This issue appears to be fixed by this commit
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/4655b7c308461ae1f86d592ea6d45e00a2820423
I created a PPA with the fix here
https://launchpad.net/~danilogondolfo/+archive/ubuntu/network-manager
If you run the same steps again on Jammy with this PPA you'll see it
fixes this issue. In fact, Netplan's integration tests will work on
Jammy using the PPA.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/2032824/+subscriptions
More information about the foundations-bugs
mailing list