[Bug 2032824] Re: Veth pairs fail activation on Jammy
Lukas Märdian
2032824 at bugs.launchpad.net
Wed Dec 11 15:44:10 UTC 2024
This is now pending SRU review:
https://launchpad.net/ubuntu/jammy/+queue?queue_state=1&queue_text=network-
manager
** Changed in: network-manager (Ubuntu Jammy)
Status: Triaged => In Progress
--
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:
In Progress
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