Comment 0 for bug 2009859

Revision history for this message
Nick Rosbrook (enr0n) wrote : systemd: test-networkd.py fails with newer kinetic kernels

systemd autopkgtests are failing in kinetic, and they are not considered regressions. The failing test is one within networkd-test.py:

======================================================================
ERROR: test_resolved_domain_restricted_dns (__main__.DnsmasqClientTest)
resolved: domain-restricted DNS servers
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/autopkgtest.wTrLDQ/build.Oa5/src/test/networkd-test.py", line 680, in test_resolved_domain_restricted_dns
    out = subprocess.check_output(['resolvectl', 'query', 'math.lab'])
  File "/usr/lib/python3.10/subprocess.py", line 420, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.10/subprocess.py", line 524, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['resolvectl', 'query', 'math.lab']' returned non-zero exit status 1.

----------------------------------------------------------------------
Ran 35 tests in 161.770s

FAILED (errors=1, skipped=2)

The failures started without any changes to the systemd package, i.e. it was caused by another package upload. In particular, the failures started around 2022-11-17 with linux 5.19.0-24.25. The tests pass fine with linux 5.19.0-21.21, i.e. the version in kinetic-release.

This can be demonstrated locally with autopkgtest:

$ autopkgtest --shell-fail systemd --test-name networkd-test.py --pin-packages=kinetic=src:linux --setup-commands 'apt update' -- qemu /home/nr/ubuntu/autopkgtest-testbeds/autopkgtest-kinetic-amd64.img

Note in the above command I did not pass -U, so no packages in the test bed are upgraded. But, with:

$ autopkgtest --shell-fail systemd --test-name networkd-test.py -U -- qemu /home/nr/ubuntu/autopkgtest-testbeds/autopkgtest-kinetic-amd64.img

the kernel is upgraded, and the test fails.

This can also be done manually by grabbing the systemd source on a kinetic machine (e.g. pull-lp-source systemd kinetic), and running:

$ sudo python3 test/networkd-test.py DnsmasqClientTest.test_resolved_domain_restricted_dns

The attached journal.txt shows systemd-resolved logs from when the test is run. The failure is caused by the EHOSTUNREACH when trying to resolve math.lab.