Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression caused by wait-online backport f4831559171 ff. #335

Open
Whissi opened this issue Oct 12, 2023 · 2 comments
Open

Regression caused by wait-online backport f4831559171 ff. #335

Whissi opened this issue Oct 12, 2023 · 2 comments
Labels

Comments

@Whissi
Copy link

Whissi commented Oct 12, 2023

systemd version the issue has been seen with

252.17-1~deb12u1

Used distribution

Debian 12.2

Linux kernel version used

6.1.0-13-amd64

CPU architectures issue was seen on

x86_64

Component

systemd-networkd-wait-online

Expected behaviour you didn't see

systemd-networkd-wait-online should exit with success (zero exit code) when neither '--any' nor '--interface' options specified and
at least one of the interfaces must be in configured state.

Unexpected behaviour you saw

$ /lib/systemd/systemd-networkd-wait-online
Timeout occurred while waiting for network connectivity.
$ networkctl
IDX LINK TYPE     OPERATIONAL SETUP
  1 lo   loopback carrier     unmanaged
  2 eth0 ether    routable    configured
  3 eth1 ether    carrier     configured
  4 eth2 ether    off         unmanaged
  5 eth3 ether    off         unmanaged

5 links listed.

Steps to reproduce the problem

Configure one interface with a static IP address using systemd-networkd.
Maybe you need multiple interfaces and at least one unmanaged interface to hit this.

Additional program output to the terminal or log subsystem illustrating the issue

$ SYSTEMD_LOG_LEVEL=debug /lib/systemd/systemd-networkd-wait-online
Found link 5
Found link 4
Found link 3
Found link 2
Found link 1
eth0: link is configured by networkd and online.
eth2: link is not managed by networkd.
eth1: Operational state 'carrier' is not in range ['degraded':'routable']
Timeout occurred while waiting for network connectivity.
@Whissi
Copy link
Author

Whissi commented Oct 12, 2023

I upraded from Debian 12.1 to Debian 12.2 using apt-get dist-upgrade which upgraded systemd from 252.12-1~deb12u1 to 252.17-1~deb12u1.

After reboot I noticed that systemd-networkd-wait-online.service failed.

Calling /lib/systemd/systemd-networkd-wait-online manually showed the same problem.

/lib/systemd/systemd-networkd-wait-online --any or /lib/systemd/systemd-networkd-wait-online -i eth0 worked.

I went to v252.12...v252.17 and noticed few commits touching wait-online, for example f483155

It still mentions that when you call wait-online with neither --any nor --interface option (which is the default in Debian) that the program should still exit with success. But as shown, it doesn't.

I restored systemd-networkd-wait-online from my backup (252.12-1~deb12u1) and it still works as expected:

$ SYSTEMD_LOG_LEVEL=debug ./systemd-networkd-wait-online
Found link 5
Found link 4
Found link 3
Found link 2
Found link 1
eth3: link is not managed by networkd (yet?).
eth2: link is not managed by networkd (yet?).
eth0: link is configured by networkd and online.
eth1: Operational state 'carrier' is not in range ['degraded':'routable']
lo: link is ignored

So I believe that the mentioned change is causing a regression.

@Whissi
Copy link
Author

Whissi commented Nov 9, 2023

@yuwata Can you help here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

1 participant