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).
Are you sure you run 2.11 and not 2.12?
We will fix this soon.
Nir