Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: Avoid scsi-debug drives for partitions #20527

Conversation

mvollmer
Copy link
Member

@mvollmer mvollmer commented May 28, 2024

Something is causing partitions on drives backed by scsi-debug to be
permanently busy with kernel 6.9.0-64 in Testing Farm runs. Let's just
avoid them.

@mvollmer mvollmer added the no-test For doc/workflow changes, or experiments which don't need a full CI run, label May 28, 2024
@mvollmer mvollmer force-pushed the test-avoid-scsi-debug-for-partitions branch from 10ac8fa to c0ffc4f Compare May 28, 2024 15:49
@mvollmer mvollmer force-pushed the test-avoid-scsi-debug-for-partitions branch 2 times, most recently from 32254f2 to 9e3f99d Compare May 28, 2024 16:16
@mvollmer mvollmer force-pushed the test-avoid-scsi-debug-for-partitions branch from 9e3f99d to df6c338 Compare May 28, 2024 16:56
Something is causing partitions on drives backed by scsi-debug to be
permanently busy with kernel 6.9.0-64 in Testing Farm runs. Let's just
avoid them.
@mvollmer mvollmer force-pushed the test-avoid-scsi-debug-for-partitions branch from df6c338 to e2ae96e Compare May 28, 2024 17:26
@mvollmer
Copy link
Member Author

Oh, no, targetd seems to be affected as well. Is it all of SCSI?

@martinpitt
Copy link
Member

@mvollmer For some history: I chose scsi_debug over loop where possible (i.e. just one device) as loop devices are very "special" in the kernel -- wildly different code paths, they don't support partitions very well (you need userspace hacks like kpartx), they can't be hot-(un)plugged (sysfs /remove), often produce different uevents, and so on. I. e. I think scsi_debug is more representative of "real" devices.

However, I realize that all of this is way "below" the API level that Cockpit is concerned about. I guess it's a trade-off between "test the whole stack" and "only test the upper levels", i. e. how much "full stack" gating we want to do. However, I'll defer to your better storage stack judgement for if we should actually land this PR.

I have a feeling this is an actual kernel (or possibly) udisks regression. I'll try to at least reproduce it with local tmt or tmt reserve to get some information. I'll collect info in #20520.

@mvollmer
Copy link
Member Author

I have a feeling this is an actual kernel (or possibly) udisks regression. I'll try to at least reproduce it with local tmt or tmt reserve to get some information. I'll collect info in #20520.

Yes, thanks for doing the right thing!

As it turns out, the TF rawhide instanced do indeed break /dev/sda in general (via bogus symlinks in /dev, see #20520), and avoiding scsi_debug is not necessary.

@mvollmer mvollmer closed this May 29, 2024
@mvollmer
Copy link
Member Author

mvollmer commented May 30, 2024

I. e. I think scsi_debug is more representative of "real" devices.

However, scsi_debug doesn't really promise to store your data, and we had to use "target" devices for some tests. Would you be interested in using more of "add_targetd_loopback_disk" and less of "add_ram_disk"? (With a nicer name for add_targetd_loopback_device, of course.)

"Target" devices are real scsi drives and can also be removed. They are not as portable however, unfortunately, and that might have already killed this idea...

@martinpitt
Copy link
Member

@mvollmer I'm fine with that, yes. I'd also be happy with "hiding" loop devices behind mdraid or LVM, or anything else.

@martinpitt
Copy link
Member

However, "target" devices are iSCSI, no? I don't know how "special" they look from userspace, i.e. if they are more or less special than loop.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-test For doc/workflow changes, or experiments which don't need a full CI run,
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants