[Bug 1929560] Re: link mac isn't set if already up
Jan Graichen
1929560 at bugs.launchpad.net
Thu Jun 24 18:19:47 UTC 2021
This backport to 18.04 LTS broke all our OpenStack compute nodes. We use
systemd-network to configure interfaces etc. and neutron-linuxbridge-
agent with some flat networks. In this scenario, the neutron agent
creates bridges for the flat networks and assigns them to physical
interfaces based on a mapping.
The backport now sets nomaster on these interfaces, effectively removing
the bridges and cutting of connectivity of all VMs using these flat
networks. This happened already when the systemd package was upgraded
(and systemd-networkd restarted).
Example:
```
10: flat-net1 at data: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master brq88363244-5f state UP group default qlen 1000
link/ether b0:22:28:1c:f7:12 brd ff:ff:ff:ff:ff:ff
```
The interface (VLAN here) is created and managed by systemd-networkd,
the bridge `brq88363244-5f` is managed by neutron. Of course, systemd-
networkd doesn't know anything about the bridge, this wasn't a problem
until now, but the latest patch update always sets nomaster to `flat-
net1`. We were really surprise by this change in 18.04 LTS.
Is there any recommend workaround to have systemd-networkd not set
nomaster or do we have to not use systemd-network at all?
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1929560
Title:
link mac isn't set if already up
Status in systemd:
Fix Released
Status in systemd package in Ubuntu:
Fix Released
Status in systemd source package in Bionic:
Fix Released
Status in systemd source package in Focal:
Fix Released
Status in systemd source package in Groovy:
Fix Released
Bug description:
[impact]
if link is already up, configured mac isn't set
this also affects the master/nomaster configuration
[test case]
create .network config for the link, for example:
[Match]
Name=eth0
[Link]
MACAddress=00:16:3e:ff:ff:ff
[Network]
DHCP=yes
make sure the link is already up, and restart systemd-networkd:
root at test-f:/etc/systemd/network# ip l show eth0
61: eth0 at if62: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 00:16:3e:fc:b2:00 brd ff:ff:ff:ff:ff:ff link-netnsid 0
root at test-f:/etc/systemd/network# ip l set dev eth0 up
root at test-f:/etc/systemd/network# ip l show eth0
61: eth0 at if62: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 00:16:3e:fc:b2:00 brd ff:ff:ff:ff:ff:ff link-netnsid 0
root at test-f:/etc/systemd/network# systemctl restart systemd-networkd
root at test-f:/etc/systemd/network# ip l show eth0
61: eth0 at if62: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 00:16:3e:fc:b2:00 brd ff:ff:ff:ff:ff:ff link-netnsid 0
root at test-f:/etc/systemd/network# ip l set dev eth0 down
root at test-f:/etc/systemd/network# ip l show eth0
61: eth0 at if62: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 00:16:3e:fc:b2:00 brd ff:ff:ff:ff:ff:ff link-netnsid 0
root at test-f:/etc/systemd/network# systemctl restart systemd-networkd
root at test-f:/etc/systemd/network# ip l show eth0
61: eth0 at if62: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 00:16:3e:ff:ff:ff brd ff:ff:ff:ff:ff:ff link-netnsid 0
[regression potential]
any regression would likely result in incorrectly set link mac and/or
master, or failure to correctly set mac and/or master
[scope]
this is needed for g and earlier
this is fixed upstream by commit
e16e4b3bedc57919b3ecb4096e941709a5d39b8a which is included in v247 so
this is fixed already in h and later
[other info]
this moves the configuration of the link mac and master out of the
link_up() function, so this also allows repeated calls to link_up()
without reconfiguring the link mac and master. That behavior is useful
for the commits for bug 1664844
To manage notifications about this bug go to:
https://bugs.launchpad.net/systemd/+bug/1929560/+subscriptions
More information about the foundations-bugs
mailing list