ci: run xfstests quick group in a nested VM#1622
Conversation
Github hosted "ubuntu-latest" x86-64 runners have enough resources (KVM, 4 cores, 16G RAM, 14 GB SSD) to build and run mainline kernel + xfstests in a nested VM. This script uses rapido rapido-linux/rapido#258 as a minimal initramfs generator and thin wrapper around QEMU. For simplicity it'd likely make sense to branch it under the btrfs namespace. The test VM currently uses btrfs-progs from the ubuntu-24.04 host system. This could also be changed to a source-compiled version. TEST and SCRATCH devices are backed by 8G zstd compressed qcow2 images. Signed-off-by: David Disseldorp <ddiss@suse.de>
|
Raising this as a draft in case there's interest in having the GH hosted VMs perform fstests quick group runs on PR here. I discussed it briefly with @kdave and he mentioned that it may be worth having alongside the self-hosted runners. It doesn't belong in |
|
cc'ing @morbidrsa - you may still be familiar with the rapido fstests runners (although in this case it's no longer using Dracut) |
|
Btw, is there a possibility to trigger a 2nd test VM as well? If yes it would be awesome to have a 2nd test VM with 2 emulated zoned block devices, i.e. via Qemu's NVMe ZNS model: |
https://docs.github.com/en/actions/reference/limits indicates that GH hosted CI jobs timeout after 6 hours, which should give us plenty of time to run both standard and zoned fstests runs. It should just be a matter of reworking your old dracut-based script to use the new rapido-cut manifest format. Still, I think it makes sense to start simple and use what we have here first, if considered worthwhile. |
|
#1623 with base branch |
|
We can add the emulated zoned devices too, I'll add it to ci-kvm. |
|
The zoned devices do not show up in the VM, I don't know why, qemu does not complain but /proc/partitions is empty. https://github.com/btrfs/linux/actions/runs/22697918965/job/65808369986#step:13:62 the line after lscpu should print it but there's 'free' and then the device mkfs fails. |
Not sure this: |
|
The |
|
Lack of zoned devices is probably caused by missing CONFIG_BLK_DEV_ZONED. |
Github hosted "ubuntu-latest" x86-64 runners have enough resources (KVM, 4 cores, 16G RAM, 14 GB SSD) to build and run mainline kernel + xfstests in a nested VM.
This script uses rapido rapido-linux/rapido#258 as a minimal initramfs generator and thin wrapper around QEMU. For simplicity it'd likely make sense to branch it under the btrfs namespace.
The test VM currently uses btrfs-progs from the ubuntu-24.04 host system. This could also be changed to a source-compiled version. TEST and SCRATCH devices are backed by 8G zstd compressed qcow2 images.