[Bug 1833671] Re: bond interfaces stop working after restart of systemd-networkd
Ćukasz Zemczak
1833671 at bugs.launchpad.net
Thu Jul 25 21:25:21 UTC 2019
Hello Tom, or anyone else affected,
Accepted systemd into bionic-proposed. The package will build now and be
available at
https://launchpad.net/ubuntu/+source/systemd/237-3ubuntu10.25 in a few
hours, and then in the -proposed repository.
Please help us by testing this new package. See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed. Your feedback will aid us getting this
update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested and change the tag from
verification-needed-bionic to verification-done-bionic. If it does not
fix the bug for you, please add a comment stating that, and change the
tag to verification-failed-bionic. In either case, without details of
your testing we will not be able to proceed.
Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in
advance for helping!
N.B. The updated package will be released to -updates after the bug(s)
fixed by this package have been verified and the package has been in
-proposed for a minimum of 7 days.
** Changed in: systemd (Ubuntu Bionic)
Status: In Progress => Fix Committed
** Tags added: verification-needed verification-needed-bionic
--
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/1833671
Title:
bond interfaces stop working after restart of systemd-networkd
Status in systemd:
Unknown
Status in systemd package in Ubuntu:
Fix Released
Status in systemd source package in Bionic:
Fix Committed
Bug description:
[impact]
restarting systemd-networkd drops carrier on all bond slaves,
temporarily interrupting networking over the bond.
[test case]
on a bionic system with 2 interfaces that can be put into a bond,
create config files such as:
root at lp1833671:~# cat /etc/systemd/network/10-bond0.netdev
[NetDev]
Name=bond0
Kind=bond
root at lp1833671:~# cat /etc/systemd/network/20-ens8.network
[Match]
Name=ens8
[Network]
Bond=bond0
root at lp1833671:~# cat /etc/systemd/network/20-ens9.network
[Match]
Name=ens9
[Network]
Bond=bond0
root at lp1833671:~# cat /etc/systemd/network/30-bond0.network
[Match]
Name=bond0
[Network]
Address=1.2.3.4/32
restart networkd, or reboot, and verify the bond is up:
root at lp1833671:~# ip a
3: ens8: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
link/ether 42:30:62:cc:36:2b brd ff:ff:ff:ff:ff:ff
4: ens9: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000
link/ether 42:30:62:cc:36:2b brd ff:ff:ff:ff:ff:ff
5: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 42:30:62:cc:36:2b brd ff:ff:ff:ff:ff:ff
inet 1.2.3.4/32 scope global bond0
valid_lft forever preferred_lft forever
inet6 fe80::4030:62ff:fecc:362b/64 scope link
valid_lft forever preferred_lft forever
restart networkd and check /var/log/syslog:
root at lp1833671:~# systemctl restart systemd-networkd
root at lp1833671:~# cat /var/log/syslog
...
Jul 23 21:08:07 lp1833671 systemd-networkd[1805]: ens9: Lost carrier
Jul 23 21:08:07 lp1833671 systemd-networkd[1805]: ens8: Lost carrier
Jul 23 21:08:07 lp1833671 systemd-networkd[1805]: ens9: Gained carrier
Jul 23 21:08:07 lp1833671 systemd-networkd[1805]: ens8: Gained carrier
[regression potential]
this changes how bond slaves are managed, so regressions could affect
any configurations using bonding.
[other info]
the patch is already included in d, and ifupdown manages networking in
x, so this is needed only for b.
[original description]
Running systemd-networkd from systemd 237-3ubuntu10.23 on Ubuntu
18.04.2 I have one machine where, every time systemd-networkd restarts
(ie every time there is an update to systemd) the bond0 interface
stops working.
I see both physical interfaces go soft down and then come back again:
Jun 21 07:28:24 odin.openstreetmap.org systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SEC
Jun 21 07:28:24 odin.openstreetmap.org systemd[1]: Detected architecture x86-64.
Jun 21 07:28:24 odin.openstreetmap.org kernel: bond0: link status down for backup interface eno2, disabling it in 200 ms
Jun 21 07:28:24 odin.openstreetmap.org kernel: bond0: link status down for active interface eno1, disabling it in 200 ms
Jun 21 07:28:24 odin.openstreetmap.org kernel: 8021q: adding VLAN 0 to HW filter on device eno2
Jun 21 07:28:25 odin.openstreetmap.org kernel: 8021q: adding VLAN 0 to HW filter on device eno1
Jun 21 07:28:25 odin.openstreetmap.org kernel: bond0: link status up again after 200 ms for interface eno2
Jun 21 07:28:25 odin.openstreetmap.org kernel: bond0: link status up again after 100 ms for interface eno1
and after that nothing until I stop systemd-networkd, delete the bond
interface, and then start systemd-networkd again.
On most machines the cycle seems to take a bit longer and the
interfaces reach a hard down start before coming back and in that case
there seems to be no problem.
I think this is likely an instance of this upstream bug:
https://github.com/systemd/systemd/issues/10118
which has a fix here:
https://github.com/systemd/systemd/pull/10465
To manage notifications about this bug go to:
https://bugs.launchpad.net/systemd/+bug/1833671/+subscriptions
More information about the foundations-bugs
mailing list