Peter Maydell <[email protected]> writes:

> On Wed, 21 Oct 2026 at 03:41, Brian Cain <[email protected]> wrote:
>>
>>
>> On 10/20/2026 6:16 PM, Pierrick Bouvier wrote:
>> > When merging PR on the project, it's possible to observe failures on CI
>> > that can be related to sporadic test failures or infrastructure issues
>> > (pod eviction with Kubernetes). As a result, it adds latency on the
>> > process and workload for our top maintainers.
>> >
>> > This patch sets an automatic retry (supported by gitlab out of the box),
>> > so failing jobs are automatically retriggered.
>> >
>> > It's important to note that in case there is a real test or build
>> > failure, concerned jobs will run a second time, and fail again. That
>> > said, it happens seldomly since sub maintainers are supposed to test for
>> > this before sending it. Also, the retry is limited to the job that
>> > failed, so it should be cheap in terms of CI minutes.
>>
>> Will this effectively mask those flaky failures so that no one hears
>> about them?  Is there a way to find out about them with something like a
>> weekly/monthly digest of failures?
>
> Broadly speaking, it's already the case that flaky failures are masked.
> Random infra-type failures / random timeouts /etc are common enough
> that when I'm doing a merge CI run I will just hit the retry button
> without much deep investigation.
>
> In an ideal world we'd pull down the gitlab job history and look
> through it for cases of "job X failed running against commit hash Y,
> but we also saw job X succeed on commit hash Y" (i.e. the retry
> worked second time) and then check the failure logs for what
> kinds of things are intermittent like that. But that requires
> somebody to put in the work to do that analysis. Gitlab's own
> CI job history web UI is very bad and doesn't let you do even
> basic things like "show me just the history for job X".

The gitlab-failure-analysis script was an attempt to start doing this,
so the last 10 failing staging pipelines where:

  $ ./scripts/ci/gitlab-failure-analysis --count 10
  failed pipeline 2949515618, total jobs 120, skipped 5, failed 8,  45059 
tests, 1112 skipped tests, 8 failed tests
    Failed job 17194356901, block: [luks], 
https://gitlab.com/qemu-project/qemu/-/jobs/17194356901
    Failed job 17192659533, block: [vmdk], 
https://gitlab.com/qemu-project/qemu/-/jobs/17192659533
    Failed job 17192659440, block: [vhdx], 
https://gitlab.com/qemu-project/qemu/-/jobs/17192659440
    Failed job 17192659398, block: [vdi], 
https://gitlab.com/qemu-project/qemu/-/jobs/17192659398
    Failed job 17192659309, block: [qed], 
https://gitlab.com/qemu-project/qemu/-/jobs/17192659309
    Failed job 17192659287, block: [qcow2], 
https://gitlab.com/qemu-project/qemu/-/jobs/17192659287
    Failed job 17192659245, block: [parallels], 
https://gitlab.com/qemu-project/qemu/-/jobs/17192659245
    Failed job 17192659237, block: [nbd], 
https://gitlab.com/qemu-project/qemu/-/jobs/17192659237
    Failed test qemu.block-nbd-optional+block-thorough - 
qemu:io-nbd-nbd-stale-connection, block: [nbd], 1 raw nbd-stale-connection
    Failed test qemu.block-parallels-optional+block-thorough - 
qemu:io-parallels-nbd-stale-connection, block: [parallels], 1 parallels 
nbd-stale-connection
    Failed test qemu.block-qcow2-optional+block-slow - 
qemu:io-qcow2-nbd-stale-connection, block: [qcow2], 1 qcow2 nbd-stale-connection
    Failed test qemu.block-qed-optional+block-thorough - 
qemu:io-qed-nbd-stale-connection, block: [qed], 1 qed nbd-stale-connection
    Failed test qemu.block-vdi-optional+block-thorough - 
qemu:io-vdi-nbd-stale-connection, block: [vdi], 1 vdi nbd-stale-connection
    Failed test qemu.block-vhdx-optional+block-thorough - 
qemu:io-vhdx-nbd-stale-connection, block: [vhdx], 1 vhdx nbd-stale-connection
    Failed test qemu.block-vmdk-optional+block-thorough - 
qemu:io-vmdk-nbd-stale-connection, block: [vmdk], 1 vmdk nbd-stale-connection
    Failed test qemu.block-luks-optional+block-thorough - 
qemu:io-luks-nbd-stale-connection, block: [luks], 1 luks nbd-stale-connection
  failed pipeline 2945631627, total jobs 120, skipped 5, failed 13,  0 tests, 0 
skipped tests, 0 failed tests
    Failed job 17162982778, check-python-minreqs, 
https://gitlab.com/qemu-project/qemu/-/jobs/17162982778
    Failed job 17162982652, block: [vpc], 
https://gitlab.com/qemu-project/qemu/-/jobs/17162982652
    Failed job 17162982622, block: [vmdk], 
https://gitlab.com/qemu-project/qemu/-/jobs/17162982622
    Failed job 17162982605, block: [vhdx], 
https://gitlab.com/qemu-project/qemu/-/jobs/17162982605
    Failed job 17162982484, block: [vdi], 
https://gitlab.com/qemu-project/qemu/-/jobs/17162982484
    Failed job 17162982417, block: [raw], 
https://gitlab.com/qemu-project/qemu/-/jobs/17162982417
    Failed job 17162982413, block: [qed], 
https://gitlab.com/qemu-project/qemu/-/jobs/17162982413
    Failed job 17162982411, block: [qcow2], 
https://gitlab.com/qemu-project/qemu/-/jobs/17162982411
    Failed job 17162982380, block: [parallels], 
https://gitlab.com/qemu-project/qemu/-/jobs/17162982380
    Failed job 17162982361, block: [nbd], 
https://gitlab.com/qemu-project/qemu/-/jobs/17162982361
    Failed job 17162982339, block: [luks], 
https://gitlab.com/qemu-project/qemu/-/jobs/17162982339
    Failed job 17162261239, check-cfi-x86_64, 
https://gitlab.com/qemu-project/qemu/-/jobs/17162261239
    Failed job 17162261192, ubuntu-24.04-s390x-all-system, 
https://gitlab.com/qemu-project/qemu/-/jobs/17162261192
  failed pipeline 2929887766, total jobs 120, skipped 7, failed 18,  0 tests, 0 
skipped tests, 0 failed tests
    Failed job 17055360127, check-python-minreqs, 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360127
    Failed job 17055360119, functional-system-opensuse, 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360119
    Failed job 17055360117, functional-system-centos, 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360117
    Failed job 17055360116, check-system-centos, 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360116
    Failed job 17055360113, block: [vpc], 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360113
    Failed job 17055360112, block: [vmdk], 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360112
    Failed job 17055360111, block: [vhdx], 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360111
    Failed job 17055360110, block: [vdi], 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360110
    Failed job 17055360109, block: [raw], 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360109
    Failed job 17055360108, block: [qed], 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360108
    Failed job 17055360107, block: [qcow2], 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360107
    Failed job 17055360106, block: [parallels], 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360106
    Failed job 17055360105, block: [nbd], 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360105
    Failed job 17055360104, block: [luks], 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360104
    Failed job 17055360078, ubuntu-24.04-s390x-all-system, 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360078
    Failed job 17055360066, tsan-build, 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360066
    Failed job 17055360065, build-cfi-x86_64, 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360065
    Failed job 17055360061, clang-system, 
https://gitlab.com/qemu-project/qemu/-/jobs/17055360061
  failed pipeline 2908947622, total jobs 119, skipped 5, failed 5,  0 tests, 0 
skipped tests, 0 failed tests
    Failed job 16911683051, functional-system-debian, 
https://gitlab.com/qemu-project/qemu/-/jobs/16911683051
    Failed job 16911681150, functional-cfi-x86_64, 
https://gitlab.com/qemu-project/qemu/-/jobs/16911681150
    Failed job 16911679766, functional-system-opensuse, 
https://gitlab.com/qemu-project/qemu/-/jobs/16911679766
    Failed job 16911678710, functional-system-centos, 
https://gitlab.com/qemu-project/qemu/-/jobs/16911678710
    Failed job 16911433872, ubuntu-24.04-s390x-all-system, 
https://gitlab.com/qemu-project/qemu/-/jobs/16911433872
  failed pipeline 2906503036, total jobs 119, skipped 5, failed 4,  0 tests, 0 
skipped tests, 0 failed tests
    Failed job 16896095104, functional-system-centos, 
https://gitlab.com/qemu-project/qemu/-/jobs/16896095104
    Failed job 16896090260, functional-system-opensuse, 
https://gitlab.com/qemu-project/qemu/-/jobs/16896090260
    Failed job 16896083592, functional-cfi-x86_64, 
https://gitlab.com/qemu-project/qemu/-/jobs/16896083592
    Failed job 16895432496, functional-system-debian, 
https://gitlab.com/qemu-project/qemu/-/jobs/16895432496
  failed pipeline 2876539219, total jobs 119, skipped 5, failed 6,  0 tests, 0 
skipped tests, 0 failed tests
    Failed job 16692899473, functional-system-fedora, 
https://gitlab.com/qemu-project/qemu/-/jobs/16692899473
    Failed job 16692899464, aarch64-macos-26-build, 
https://gitlab.com/qemu-project/qemu/-/jobs/16692899464
    Failed job 16692899463, aarch64-macos-15-build, 
https://gitlab.com/qemu-project/qemu/-/jobs/16692899463
    Failed job 16692899432, clang-system, 
https://gitlab.com/qemu-project/qemu/-/jobs/16692899432
    Failed job 16692899429, build-some-softmmu, 
https://gitlab.com/qemu-project/qemu/-/jobs/16692899429
    Failed job 16692899413, cross-win64-system, 
https://gitlab.com/qemu-project/qemu/-/jobs/16692899413
  failed pipeline 2840522620, total jobs 119, skipped 5, failed 7,  0 tests, 0 
skipped tests, 0 failed tests
    Failed job 16454091776, functional-system-opensuse, 
https://gitlab.com/qemu-project/qemu/-/jobs/16454091776
    Failed job 16454091774, functional-cfi-x86_64, 
https://gitlab.com/qemu-project/qemu/-/jobs/16454091774
    Failed job 16454091761, check-cfi-x86_64, 
https://gitlab.com/qemu-project/qemu/-/jobs/16454091761
    Failed job 16454091760, check-system-opensuse, 
https://gitlab.com/qemu-project/qemu/-/jobs/16454091760
    Failed job 16454091758, functional-system-centos, 
https://gitlab.com/qemu-project/qemu/-/jobs/16454091758
    Failed job 16454091740, check-system-centos, 
https://gitlab.com/qemu-project/qemu/-/jobs/16454091740
    Failed job 16454091730, ubuntu-24.04-s390x-all-system, 
https://gitlab.com/qemu-project/qemu/-/jobs/16454091730
  failed pipeline 2839257817, total jobs 119, skipped 5, failed 2,  0 tests, 0 
skipped tests, 0 failed tests
    Failed job 16436167533, ubuntu-24.04-s390x-all-system, 
https://gitlab.com/qemu-project/qemu/-/jobs/16436167533
    Failed job 16436167532, ubuntu-24.04-s390x-all-linux, 
https://gitlab.com/qemu-project/qemu/-/jobs/16436167532
  failed pipeline 2830538304, total jobs 119, skipped 5, failed 3,  0 tests, 0 
skipped tests, 0 failed tests
    Failed job 16377263801, check-rust-tools-nightly, 
https://gitlab.com/qemu-project/qemu/-/jobs/16377263801
    Failed job 16377263686, ubuntu-24.04-s390x-all-system, 
https://gitlab.com/qemu-project/qemu/-/jobs/16377263686
    Failed job 16377263684, ubuntu-24.04-s390x-all-linux, 
https://gitlab.com/qemu-project/qemu/-/jobs/16377263684
  failed pipeline 2820341086, total jobs 119, skipped 5, failed 2,  0 tests, 0 
skipped tests, 0 failed tests
    Failed job 16307778927, check-rust-tools-nightly, 
https://gitlab.com/qemu-project/qemu/-/jobs/16307778927
    Failed job 16307778897, functional-system-debian, 
https://gitlab.com/qemu-project/qemu/-/jobs/16307778897

It has rudimentary access to the tests but I think the deep dive would
require better retention of the job artefacts. The second pipeline in
the above list lists the "job artefacts" as removed 3hrs ago which is I
guess why we don't get the test breakdown for the earlier jobs.

Anyway perhaps we can expand this to be more useful?

>
> thanks
> -- PMM

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro

Reply via email to