[Bug 1937117] [NEW] misconfigured networkd may break after networkd restart
Dan Streetman
1937117 at bugs.launchpad.net
Wed Jul 21 17:52:49 UTC 2021
Public bug reported:
[impact]
bug 1929560 fixed an error in setting/clearing an interface 'master'
during systemd-networkd startup if the interface was already up, however
for any users who have been relying on that bug to manually set an
interface 'master' for an interface that's otherwise controlled by
systemd-networkd, this will break their system by removing the interface
from the 'master' on a systemd-networkd restart.
For example, if a user has interface 'eth0' configured to be controlled
by systemd-networkd, but then manually does 'ip l set dev eth0 master
br0' to add it to the 'br0' bridge, previous behavior would leave 'eth0'
in the bridge after a systemd-networkd restart, even though it should
not be in the bridge based on the systemd-networkd configuration. The
new behavior matches systemd-networkd behavior for all other aspects
(i.e. networkd removes all addresses, routes, and other settings it
doesn't know about or that are different from its configuration),
however it breaks users expecting the previous incorrect behavior.
[test case]
configure systemd-networkd to control an interface that isn't set with
any 'master', and start networkd. For example, an instance configured
for DHCP. After networkd has started, manually set the interface
'master' to an existing bridge. Restart networkd, and check if the
interface still has the bridge 'master' or not.
[regression potential]
the main potential is for problems for those with misconfigured systems,
relying on specific previous incorrect behavior, specifically interfaces
controlled by systemd-networkd in part, but also with manual
configuration performed outside of systemd-networkd configuration.
[scope]
this is needed for bionic and focal to restore the previous incorrect
behavior; the correct behavior should remain in impish, and (arguably)
should remain in hirsute as well
[other info]
see bug 1929560 for details of the original bug
** Affects: systemd (Ubuntu)
Importance: Undecided
Status: Invalid
** Affects: systemd (Ubuntu Bionic)
Importance: Critical
Assignee: Dan Streetman (ddstreet)
Status: In Progress
** Affects: systemd (Ubuntu Focal)
Importance: Critical
Assignee: Dan Streetman (ddstreet)
Status: In Progress
** Tags: regression-update
** Also affects: systemd (Ubuntu Focal)
Importance: Undecided
Status: New
** Also affects: systemd (Ubuntu Bionic)
Importance: Undecided
Status: New
** Changed in: systemd (Ubuntu)
Status: New => Invalid
** Changed in: systemd (Ubuntu Focal)
Assignee: (unassigned) => Dan Streetman (ddstreet)
** Changed in: systemd (Ubuntu Bionic)
Assignee: (unassigned) => Dan Streetman (ddstreet)
** Changed in: systemd (Ubuntu Focal)
Importance: Undecided => High
** Changed in: systemd (Ubuntu Bionic)
Importance: Undecided => Critical
** Changed in: systemd (Ubuntu Focal)
Importance: High => Critical
** Changed in: systemd (Ubuntu Bionic)
Status: New => In Progress
** Changed in: systemd (Ubuntu Focal)
Status: New => In Progress
** Tags added: regression-update
--
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/1937117
Title:
misconfigured networkd may break after networkd restart
Status in systemd package in Ubuntu:
Invalid
Status in systemd source package in Bionic:
In Progress
Status in systemd source package in Focal:
In Progress
Bug description:
[impact]
bug 1929560 fixed an error in setting/clearing an interface 'master'
during systemd-networkd startup if the interface was already up,
however for any users who have been relying on that bug to manually
set an interface 'master' for an interface that's otherwise controlled
by systemd-networkd, this will break their system by removing the
interface from the 'master' on a systemd-networkd restart.
For example, if a user has interface 'eth0' configured to be
controlled by systemd-networkd, but then manually does 'ip l set dev
eth0 master br0' to add it to the 'br0' bridge, previous behavior
would leave 'eth0' in the bridge after a systemd-networkd restart,
even though it should not be in the bridge based on the systemd-
networkd configuration. The new behavior matches systemd-networkd
behavior for all other aspects (i.e. networkd removes all addresses,
routes, and other settings it doesn't know about or that are different
from its configuration), however it breaks users expecting the
previous incorrect behavior.
[test case]
configure systemd-networkd to control an interface that isn't set with
any 'master', and start networkd. For example, an instance configured
for DHCP. After networkd has started, manually set the interface
'master' to an existing bridge. Restart networkd, and check if the
interface still has the bridge 'master' or not.
[regression potential]
the main potential is for problems for those with misconfigured
systems, relying on specific previous incorrect behavior, specifically
interfaces controlled by systemd-networkd in part, but also with
manual configuration performed outside of systemd-networkd
configuration.
[scope]
this is needed for bionic and focal to restore the previous incorrect
behavior; the correct behavior should remain in impish, and (arguably)
should remain in hirsute as well
[other info]
see bug 1929560 for details of the original bug
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1937117/+subscriptions
More information about the foundations-bugs
mailing list