]> git.ipfire.org Git - thirdparty/systemd.git/commit
test-network: retry networkctl status in wait_operstate()
authorLuca Boccassi <luca.boccassi@gmail.com>
Fri, 15 May 2026 17:19:41 +0000 (18:19 +0100)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 15 May 2026 20:08:35 +0000 (05:08 +0900)
commit446b0393ff06bf5065af48601eb28f6d56616c19
tree624ad43f8e72e87358aed8f02096110515f10af6
parent047036bf5431b3a42d073b86ef21046cab58a5d0
test-network: retry networkctl status in wait_operstate()

networkctl status may transiently fail right after start_networkd() because networkd has not yet picked up the freshly-created link from the kernel. The retry loop in wait_operstate() did not catch the resulting subprocess.CalledProcessError, so the test aborted on the first attempt instead of retrying for the configured timeout.

Observed in TEST-85-NETWORK-NetworkdBridgeTests, subtest test_bridge_configure_without_carrier[no-slave]:

  [   19.600156] systemd-networkd-tests.py[526]: Failed to issue io.systemd.Network.Link.Describe() varlink call: Invalid argument
  [   53.124982] systemd[1]: systemd-networkd.service: Changed start -> running
  [   53.336167] systemd-networkd-tests.py[526]: ERROR: test_bridge_configure_without_carrier (__main__.NetworkdBridgeTests.test_bridge_configure_without_carrier) (test='no-slave')
  [   53.336167] systemd-networkd-tests.py[526]:     self.wait_operstate('bridge99', operstate=r'(no-carrier|routable)', setup_state=None, setup_timeout=30)
  [   53.336167] systemd-networkd-tests.py[526]: subprocess.CalledProcessError: Command '['/usr/bin/networkctl', '-n', '0', 'status', 'bridge99']' returned non-zero exit status 1.

Co-developed-by: Claude Opus 4.7 <noreply@anthropic.com>
test/test-network/systemd-networkd-tests.py