[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1059765: linux: isolation-machine autopkgtest fails for multiple reasons



Source: linux
Version: 6.6.8-1
Severity: normal

Dear linux maintainers,

Recently I added some isolation-machine support to ci.debian.net and one of the first packages I tried to run the test for is src:linux. Unfortunately, the isolation-machine based test (selftests) fails (the reboot that autopgtest schedules just hangs until it times out). I haven't used kexec before in my life, so I'm not totally sure what to expect from $(kexec -l ...) but I *suspect* (after reading the autopkgtest spec [1]) that the call after kexec in selftests is wrong:
"""
In some cases your test needs to do the reboot by itself, e. g. through
kexec, or a reboot command that is hardcoded in the piece of software
that you want to test. To support those, you need to call
/tmp/autopkgtest-reboot-prepare my_mark at a point as close as
possible to the reboot instead; this will merely save the state but not
issue the actual reboot by itself
"""
(so /tmp/autopkgtest-reboot-prepare instead of /tmp/autopkgtest-reboot, and maybe it should be *before* the kexec call) On the other hand, when I run $(uname -a) after a $(manual kexec -l ..) call, it looks like I'm still running the "old" kernel, so I'm not sure if that line does what I would hope it to do either (it's extremely quick too).

When I play a bit and finally can get the test to run for the current kernel (manually passing the right step number in ADT_REBOOT_MARK for the current kernel and an appropriate AUTOPKGTEST_TMP [2]) I also notice that $(make headers_install) ends with:
"""
/bin/sh: 1: rsync: not found
"""
so that's a missing test dependency.

After all that, the test (for the rt kernel) runs nice although it seems to hang on (maybe just a very long running test with no output, I waited several minutes, is that timeout referenced in seconds or minutes?):
"""
ok 7 selftests: cgroup: test_cpuset
# timeout set to 45
# selftests: cgroup: test_zswap
"""
Second time I ran this was for the regular kernel used by autopkgtest-build-qemu and that passed that stage with ease and seemed to run to the end (with failures, but those you can iron out once we get decent logs).

Also, I suspect the total test will timeout (after 2:47) if we test all desired kernel flavors in one test. So instead of squeezing everything in one autopkgtest (stanza) it's probably smarter to generate a stanza per kernel you want to run (because then you're only limited by the overall timeout of 8.5 hours).

Paul

[1] https://salsa.debian.org/ci-team/autopkgtest/-/blob/master/doc/README.package-tests.rst

[2] # emacs debian/tests/selftests # to disable kexec and /tmp/autopkgtest-reboot call and to set -x
chmod a+x debian/tests/selftests
# export ADT_REBOOT_MARK=step0
# export root@host:/tmp/autopkgtest.Y35OYd/build.rih/src# export AUTOPKGTEST_TMP=$(mktemp -d)
# debian/tests/selftests # testing the default installed kernel

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature


Reply to: