netplan.io autopkgtest failures with NetworkManager 1.44.0
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
netplan.io (Debian) |
Fix Released
|
Unknown
|
|||
netplan.io (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
netplan.io's autopkgtests fail with NetworkManager 1.44.0
This happens in both Debian and Ubuntu 23.10
https:/
https:/
autopkgtest log excerpt
----------------
3624s =======
3624s FAIL: test_vrf_basic (__main_
3624s -------
3624s Traceback (most recent call last):
3624s File "/tmp/autopkgte
3624s self.assertIn(
3624s AssertionError: '10.10.0.0/16 via 10.10.10.1 dev vrf0' not found in '10.10.10.0/24 dev eth42 proto kernel scope link src 10.10.10.22 metric 100 \nlocal 10.10.10.22 dev eth42 proto kernel scope host src 10.10.10.22 \nbroadcast 10.10.10.255 dev eth42 proto kernel scope link src 10.10.10.22 \n11.11.11.0/24 via 10.10.10.2 dev eth42 proto static metric 100 \n'
3624s
3624s -------
3624s Ran 28 tests in 757.513s
3624s
3624s FAILED (failures=1, skipped=3)
3624s autopkgtest [15:11:48]: test routing: -------
3624s autopkgtest [15:11:48]: test routing: - - - - - - - - - - results - - - - - - - - - -
3624s routing FAIL non-zero exit status 1
tags: |
added: foundations-todo removed: rls-mm-incoming |
Changed in netplan.io (Ubuntu): | |
status: | In Progress → Fix Committed |
no longer affects: | network-manager (Ubuntu) |
tags: | removed: foundations-todo |
Changed in netplan.io (Debian): | |
status: | Unknown → Fix Released |
The new Network Manager is not installing the route for the vrf0 interface.
This change in behavior might be related to this commit https:/ /gitlab. freedesktop. org/NetworkMana ger/NetworkMana ger/-/commit/ dabfa26a41edc79 11a45a4689d555e 8f055b0373
The interface is not being assigned any IP addresses. And we actually can't add IPs to VRFs in Netplan but we probably should...
Test case:
--- policy:
network:
dummy-devices:
dummy0:
renderer: NetworkManager
addresses: [10.10.10.22/24]
routes:
- to: 11.11.11.0/24
via: 10.10.10.2
table: 1000
vrfs:
vrf0:
renderer: NetworkManager
table: 1000
interfaces: [dummy0]
routes:
- to: 10.10.0.0/16
via: 10.10.10.1
routing-
- from: 10.10.10.42
---
The interface is created
# nmcli con show a9f8-395d- 8382-81a1ef0bdd 1d vrf vrf0 5e1d-3fff- a17c-b2fc6d2cef 99 ethernet enp5s0 04c6-4ea2- b5e3-b53b579e3a df loopback lo b07e-3aea- 965f-76d9e84fa4 7e dummy dummy0
NAME UUID TYPE DEVICE
netplan-vrf0 be402d13-
netplan-enp5s0 e1419a5e-
lo 6c74c0d6-
netplan-dummy0 9c4bae2d-
But will stuck in "activating"
# nmcli -f GENERAL.STATE con show netplan-vrf0
GENERAL.STATE: activating
And the route "10.10.0.0/16 via 10.10.10.1" will not be installed
# ip r show table 1000
10.10.10.0/24 dev dummy0 proto kernel scope link src 10.10.10.22 metric 550
local 10.10.10.22 dev dummy0 proto kernel scope host src 10.10.10.22
broadcast 10.10.10.255 dev dummy0 proto kernel scope link src 10.10.10.22
11.11.11.0/24 via 10.10.10.2 dev dummy0 proto static metric 550
In Lunar, with Network Manager 1.42, the vrf interface will also stuck in activating, but the route will be installed.
Assigning an IP to the vrf interface will make the test pass but Netplan doesn't support it. Adding the IP via networkmanager. passthrough fixes the test for Network Manager but will break networkd.
With networkd, the route is installed even if the interface has no IP addresses.
We could just stop checking for that route to make the test pass but we probably want to rethink our support for VRFs in Netplan.
Lukas, what do you think?