ping: is there any more feedback on series ? I'd really like to get the block driver CI coverage improved to prevent further regressions in currently untested drivers.
On Fri, Apr 24, 2026 at 04:41:48PM +0100, Daniel P. Berrangé wrote: > v1: https://lists.nongnu.org/archive/html/qemu-devel/2025-10/msg01650.html > v2: https://lists.nongnu.org/archive/html/qemu-devel/2026-01/msg02083.html > v3: https://lists.nongnu.org/archive/html/qemu-devel/2026-01/msg02939.html > v4: https://lists.nongnu.org/archive/html/qemu-devel/2026-02/msg03245.html > v5: https://lists.nongnu.org/archive/html/qemu-devel/2026-03/msg01252.html > > The recent (at the time of v1) set of regressions identified in the LUKS > block driver re-inforced that despite having a hugely useful set of I/O > tests, our CI coverage is still letting through too many bugs. > > The core goals of this series were/are: > > * Add LUKS and NBD to the tested formats/protocols > integrated into "make check-block SPEED=thorough" > > * Ensure that all qcow2 tests can be run with "SPEED=slow", > not staying limited to only the 'auto' group used by the > 'make check-block' target in its default 'quick' mode > > * Add 'make check-block-$FORMAT' to expose a standalone > target for running all tests for a given format (or > equivalently a protocol) > > * Add GitLab CI jobs for exercising tests for all formats > > A sample pipeline for this is > > https://gitlab.com/berrange/qemu/-/pipelines/2258731804/ > > Showing the 'block-FORMAT' jobs which test the 10 block formats/protocols > currently enabled. > > This series fixes a couple of bugs > > * Test 128 check for device mapper usage doesn't work > sufficiently well to detect gitlab's containe env > can't do dynamic devfs > > * Test 185 is reliably failing on gitlab > > * Two tests fail when run on CentOS 9 because they trigger > python deprecation warnings. This will be fixed when the > python-qemu-qmp module is next released. > > Testing of pipelines throughout development of v1-v5 postings does not > exhibit any non-deterministic failures with the shared runners. Hopefully > that will apply to QEMU's private runners used forthe staging tree too. > > At this point it is a chicken & egg problem though. > > If we don't bite the bullet and enable block I/O tests in GitLab CI for > everyone, we'll never find out if they're truely stable enough to rely > on. > > As a mitigation against instability a patch in this series adds a new > QEMU_TEST_IO_SKIP env variable that we are able to set as a GitLab CI > env variable. This lets us skip broken tests dynamically without waiting > for a git commit to disable them in the buildtest.yml config that we > use for disabling the 3 known broken tests currently. > > Changed in v6: > > - Drop redundant change from gitlab yml config > - Pull in rebase for qemu.qmp to 0.6.0 to fix two tests > by avoiding deprecation warnings > > Changed in v5: > > - Adapt for python-qemu-qmp being spun off, by temp disabling > tests that are broken by it, that we formerly fixed in-tree. > > Changed in v4: > > - Remove tests from build-tcg-disabled job > > Changed in v3: > > - Test whether dmsetup create device appeared or not, instead > of unconditionally skipping test 128 in GitLab > - Use 'driver' term instead of 'format' or 'protocol' > - Fix misc typos & rephrasing > > Daniel P. Berrangé (15): > gitlab: ensure all meson jobs capture build/meson-logs by default > tests: print reason when I/O test is skipped in TAP mode > tests: remove redundant meson suite for iotests > tests: ensure all qcow2 I/O tests are able to be run via make > scripts/mtest2make: ensure output has stable sorting > scripts/mtest2make: support optional tests grouping > tests: add a meson suite / make target per block I/O tests format > docs/devel/testing: expand documentation for 'make check-block' > tests: add nbd and luks to the I/O test suites > tests: use 'driver' as collective term for either format or protocol > tests: validate dmsetup result in test 128 > tests: fix check for sudo access in LUKS I/O test > tests: add QEMU_TEST_IO_SKIP for skipping I/O tests > gitlab: add jobs for thorough block tests > gitlab: remove I/O tests from build-tcg-disabled job > > John Snow (1): > python: bump qemu.qmp to v0.0.6 > > .gitlab-ci.d/buildtest-template.yml | 30 +++-- > .gitlab-ci.d/buildtest.yml | 107 ++++++++++++++++-- > docs/devel/testing/main.rst | 33 +++++- > python/scripts/vendor.py | 4 +- > ...ny.whl => qemu_qmp-0.0.6-py3-none-any.whl} | Bin 72263 -> 72379 bytes > pythondeps.toml | 2 +- > scripts/mtest2make.py | 30 +++-- > tests/Makefile.include | 3 +- > tests/qemu-iotests/128 | 6 + > tests/qemu-iotests/149 | 13 ++- > tests/qemu-iotests/meson.build | 59 ++++++++-- > tests/qemu-iotests/testrunner.py | 18 ++- > 12 files changed, 254 insertions(+), 51 deletions(-) > rename python/wheels/{qemu_qmp-0.0.5-py3-none-any.whl => > qemu_qmp-0.0.6-py3-none-any.whl} (64%) > > -- > 2.53.0 > With regards, Daniel -- |: https://berrange.com ~~ https://hachyderm.io/@berrange :| |: https://libvirt.org ~~ https://entangle-photo.org :| |: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
