On Wed, Nov 21, 2018, 17:46 Milan Zamazal <mzamazal(a)redhat.com
wrote:
> Hi, test_no_match fails on CI most of the time (but not always) in
>
https://gerrit.ovirt.org/95518:
>
> _____________________________ test_no_match[qcow2]
> _____________________________
> 11:30:16
> 11:30:16 tmpdir = local('/var/tmp/vdsm/test_no_match_qcow2_0'),
> image_format = 'qcow2'
> 11:30:16
> 11:30:16 def test_no_match(tmpdir, image_format):
> 11:30:16 path = str(tmpdir.join('test.' + image_format))
> 11:30:16 op = qemuimg.create(path, '1m', image_format)
> 11:30:16 op.run()
> 11:30:16 qemuio.write_pattern(path, image_format, pattern=2)
> 11:30:16 with pytest.raises(qemuio.VerificationError):
> 11:30:16 > qemuio.verify_pattern(path, image_format, pattern=4)
> 11:30:16
> 11:30:16 storage/qemuio_test.py:59:
> 11:30:16 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _ _ _ _ _ _ _ _
> 11:30:16
> 11:30:16 path = '/var/tmp/vdsm/test_no_match_qcow2_0/test.qcow2', format
> = 'qcow2'
> 11:30:16 offset = 512, len = 1024, pattern = 4
> 11:30:16
> 11:30:16 def verify_pattern(path, format, offset=512, len=1024,
> pattern=5):
> 11:30:16 read_cmd = 'read -P %d -s 0 -l %d %d %d' % (pattern,
> len, offset, len)
> 11:30:16 cmd = ['qemu-io', '-f', format, '-c',
read_cmd, path]
> 11:30:16 rc, out, err = commands.execCmd(cmd, raw=True)
> 11:30:16 if rc != 0 or err != b"":
> 11:30:16 > raise cmdutils.Error(cmd, rc, out, err)
> 11:30:16 E Error: Command ['qemu-io', '-f',
'qcow2', '-c',
> 'read -P 4 -s 0 -l 1024 512 1024',
> '/var/tmp/vdsm/test_no_match_qcow2_0/test.qcow2'] failed with rc=1
> out='Pattern verification failed at offset 512, 1024 bytes\nread 1024/1024
> bytes at offset 512\n1 KiB, 1 ops; 0.0002 sec (3.756 MiB/sec and 3846.1538
> ops/sec)\n' err=''
> 11:30:16
> 11:30:16 storage/qemuio.py:50: Error
>
> (Similarly for raw.)
>
> You can see the complete test run log here (or in other CI runs of the
> patch):
>
>
https://jenkins.ovirt.org/job/vdsm_master_check-patch-fc28-x86_64/2040/co...
>
> It fails on both Fedora and CentOS. It may or may not be related to the
> fact that QEMU 2.11 is used in the failed runs.
>
> Any idea what could be wrong?
Yes. Qemu-io was fixed lately to fail when pattern does not match, but our
wrapper still expects the old behaviour (return 0, log warning).
Actually not. Looking into the CI log once more, I can see it reports
initially installed QEMU version before additional repos are added.
There are no reports on QEMU versions or upgrades afterwards but that
may be just silence of some automation script. Since new QEMU version
would be expected with the added repos and it would explain the test
failure, let's assume it's indeed a newer QEMU.
We will fix this soon.
OK, thank you. We can disable the test temporarily in our patches
updating repos & requirements and re-enable it before merge or later,
depending on availability of your fix.