On Mon, Nov 26, 2018 at 12:27 PM Milan Zamazal <mzamazal@redhat.com> wrote:
Nir Soffer <nsoffer@redhat.com> writes:

> On Thu, Nov 22, 2018 at 2:08 PM Milan Zamazal <mzamazal@redhat.com> wrote:
>
>> Nir Soffer <nsoffer@redhat.com> writes:
>>
>> > On Wed, Nov 21, 2018, 17:46 Milan Zamazal <mzamazal@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/consoleFull
>> >>
>> >> 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 https://fedoraproject.org/wiki/Virtualization_Preview_Repository and
https://copr.fedorainfracloud.org/coprs/g/virtmaint-sig/virt-preview/,
which should be up-to-date and contain QEMU 3.1.

I'm using the virt-preview repos enabled by this:
http://resources.ovirt.org/pub/yum-repo/ovirt-release-master.rpm

If the repo was changed, updates to this rpm should have modified
my system to include the new repo.

Sandro, do we need to change ovirt-release-master.rpm?

> but I hope this change will fix your setup.

Which change?

Looks like you found it, but anyway: 
https://gerrit.ovirt.org/c/95718/ 

Nir