canonical-ubuntu-qa team mailing list archive
-
canonical-ubuntu-qa team
-
Mailing list archive
-
Message #00145
[Bug 1998943] Re: wait_booted() times out on systems with broken sysvinit compat
Hi, thanks for reporting this bug. A couple of comments:
1. I am not sure I agree we should skip over a test that breaks very
basic sysv compatibility, specifically by making the system never reach
a valid (= numeric) runlevel. That's what wait_booted() checks before
checking systemd stuff, if systemd is available (see the await-boot.sh
script). In other words I think that a package that prevents runlevel
from returning a runlevel should be considered to be compromising boot,
so a test failure looks correct to me.
2. The aim for the autopkgtest package is to not diverge from Debian.
Ubuntu delta in the devel release in temporary. This means that that
changes you're proposed should land upstream [1]. I strongly doubt
Debian will switch away from using runlevel there. The autopkgtest
tooling has some "if Ubuntu ..." specific code, but I think we should
the very basic parts like wait_booted() in common with Debian.
[1] https://salsa.debian.org/ci-team/autopkgtest/
--
You received this bug notification because you are a member of
Canonical's Ubuntu QA, which is subscribed to autopkgtest in Ubuntu.
https://bugs.launchpad.net/bugs/1998943
Title:
wait_booted() times out on systems with broken sysvinit compat
Status in autopkgtest package in Ubuntu:
New
Bug description:
The wait_booted() function in lib/VirtSubproc.py uses `runlevel` to
get the current SysV runlevel, and only considers the test bed booted
if `runlevel` returns a valid number. This is fine in most cases, but
causes the test bed to timeout if this SysVinit compatibility is
broken for some reason. Since Ubuntu runs systemd, it would be better
to also check e.g. if multi-user.target is active, since SysVinit
programs/interfaces are only left around in systemd for compatibility.
I came across this in a PPA autopkgtest where privileged LXD
containers broke systemd-tmpfiles-setup.service, which is responsible
for creating /var/run/utmp, which is needed for utmpx functions (i.e.
how runlevel is stored on the system). Even though the container was
booted and running "OK", autopkgtest timed out waiting for the test
bed to boot: https://autopkgtest.ubuntu.com/results/autopkgtest-lunar-
enr0n-systemd/lunar/amd64/s/systemd/20221130_112430_66c56@/log.gz(look
for the line '<VirtSubproc>: failure: timed out waiting for testbed to
start; last runlevel "unknown').
I plan on providing a patch for this.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/autopkgtest/+bug/1998943/+subscriptions
References