On Thu, Nov 22, 2018 at 2:08 PM Milan Zamazal
<mzamazal(a)redhat.com> wrote:
> Nir Soffer <nsoffer(a)redhat.com> writes:
>
> > 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).
>
> I see, thank you for explanation.
>
> > Are you sure you run 2.11 and not 2.12?
>
> 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.
>
I cannot reproduce the error on Fedora 28
(qemu-img-2.12.0-0.5.rc1.fc28.x86_64)
^^^^^^^^^^^^^^
This looks suspicious. Where do you get it from? Perhaps from the old
virt-preview repo? Please note there is a copr virt-preview repo now,
see
but I hope this change will fix your setup.