systemd autopkgtest 'storage' fails adding/rmmoding scsi_debug
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd (Debian) |
Fix Released
|
Unknown
|
|||
systemd (Ubuntu) |
Won't Fix
|
Medium
|
Unassigned | ||
Bionic |
Won't Fix
|
Medium
|
Unassigned | ||
Cosmic |
Won't Fix
|
Medium
|
Unassigned | ||
Disco |
Won't Fix
|
Medium
|
Unassigned | ||
Eoan |
Won't Fix
|
Medium
|
Unassigned |
Bug Description
[impact]
systemd autopkgtest fails
[test case]
run systemd autopkgtest, check for output like:
LUKS device with "tmp" option ... rmmod: ERROR: Module scsi_debug is in use
FAIL
=======
FAIL: test_luks_tmp (__main_
LUKS device with "tmp" option
-------
Traceback (most recent call last):
File "/tmp/autopkgte
self.fail('%s exists already' % self.plaintext_dev)
AssertionError: /dev/mapper/
or for older releases something like:
autopkgtest [19:27:26]: test storage: [------
modprobe: FATAL: Module scsi_debug not found in directory /lib/modules/
ERROR
=======
ERROR: setUpClass (__main_
-------
Traceback (most recent call last):
File "/tmp/autopkgte
subprocess.
File "/usr/lib/
raise CalledProcessEr
subprocess.
this has attempted to be fixed in disco/eoan so the output is a bit different across different releases, but all of them have the common point of failing to modprobe or rmmod the scsi_debug module, which by itself doesn't indicate a failure.
[regression potential]
low; this is fixing a testcase only.
[other info]
fixing test case that generally causes the failed rmmod in bug 1831459
Changed in systemd (Ubuntu Eoan): | |
assignee: | nobody → Dan Streetman (ddstreet) |
Changed in systemd (Ubuntu Disco): | |
assignee: | nobody → Dan Streetman (ddstreet) |
Changed in systemd (Ubuntu Cosmic): | |
assignee: | nobody → Dan Streetman (ddstreet) |
Changed in systemd (Ubuntu Bionic): | |
assignee: | nobody → Dan Streetman (ddstreet) |
Changed in systemd (Ubuntu Eoan): | |
status: | New → In Progress |
Changed in systemd (Ubuntu Disco): | |
status: | New → In Progress |
Changed in systemd (Ubuntu Cosmic): | |
status: | New → In Progress |
Changed in systemd (Ubuntu Bionic): | |
status: | New → In Progress |
Changed in systemd (Ubuntu Eoan): | |
importance: | Undecided → Medium |
Changed in systemd (Ubuntu Disco): | |
importance: | Undecided → Medium |
Changed in systemd (Ubuntu Cosmic): | |
importance: | Undecided → Medium |
Changed in systemd (Ubuntu Bionic): | |
importance: | Undecided → Medium |
description: | updated |
tags: | added: ddstreet-next |
tags: | added: id-5ccb0d8d44da805739b5de37 |
Changed in systemd (Ubuntu Eoan): | |
status: | In Progress → Won't Fix |
Changed in systemd (Ubuntu Eoan): | |
assignee: | Dan Streetman (ddstreet) → nobody |
Changed in systemd (Ubuntu Disco): | |
assignee: | Dan Streetman (ddstreet) → nobody |
Changed in systemd (Ubuntu Cosmic): | |
assignee: | Dan Streetman (ddstreet) → nobody |
Changed in systemd (Ubuntu Bionic): | |
assignee: | Dan Streetman (ddstreet) → nobody |
Changed in systemd (Ubuntu): | |
assignee: | Dan Streetman (ddstreet) → nobody |
status: | In Progress → New |
Changed in systemd (Ubuntu Bionic): | |
status: | In Progress → New |
Changed in systemd (Ubuntu Cosmic): | |
status: | In Progress → New |
Changed in systemd (Ubuntu Disco): | |
status: | In Progress → New |
tags: | removed: ddstreet-next |
Changed in systemd (Ubuntu Disco): | |
status: | New → Incomplete |
Changed in systemd (Ubuntu Cosmic): | |
status: | New → Incomplete |
Changed in systemd (Ubuntu Bionic): | |
status: | New → Incomplete |
description: | updated |
Changed in systemd (Debian): | |
status: | Unknown → New |
Changed in systemd (Ubuntu Disco): | |
status: | Incomplete → Won't Fix |
Changed in systemd (Ubuntu Cosmic): | |
status: | Incomplete → Won't Fix |
Changed in systemd (Ubuntu Bionic): | |
status: | Incomplete → Won't Fix |
Changed in systemd (Ubuntu): | |
status: | New → Won't Fix |
Changed in systemd (Debian): | |
status: | New → Fix Released |
Failing to remove the module, means the testcase / systemd has failed.
Which has been diagnosed and narrowed down to a bug in systemd.
Whilst the proposed improvements to the test case are ok, they make it skip a lot more without making it more fool proof.
Ideally, I'd like to make the testcase more resilient and enforce more. Thus failing to remove the module should still be a hard failure.
And upon starting the test case we do need to re-insert the module, as otherwise LUKS2 header creation would fail (that affects disco+ only).
I do like the add_host usage, but I wonder if it's best be used with udevadm settle calls, rather than manual tight loops.