This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--JWv6SKN48HC4bWmJvJSBXV2crBPp428RU
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
On Thu 12 Jun 2014 09:11:07 PM CEST, Nir Soffer wrote:
----- Original Message -----
> From: "David Caro" <dcaroest(a)redhat.com>
> To: "Nir Soffer" <nsoffer(a)redhat.com>
> Cc: "Piotr Kliczewski" <piotr.kliczewski(a)gmail.com>,
fsimonce(a)redhat.c=
om, dcaro(a)redhat.com, devel(a)ovirt.org, "Dan
> Kenigsberg" <danken(a)redhat.com>
> Sent: Thursday, June 12, 2014 9:48:54 PM
> Subject: Re: [ovirt-devel] local vdsm build fails
>
> On Thu 12 Jun 2014 12:47:11 PM CEST, Nir Soffer wrote:
>> ----- Original Message -----
>>> From: "David Caro" <dcaroest(a)redhat.com>
>>> To: "Nir Soffer" <nsoffer(a)redhat.com>
>>> Cc: "Piotr Kliczewski" <piotr.kliczewski(a)gmail.com>,
fsimonce@redhat=
=2Ecom,
>>> dcaro(a)redhat.com, devel(a)ovirt.org, "Dan
>>> Kenigsberg" <danken(a)redhat.com>
>>> Sent: Thursday, June 12, 2014 1:24:39 PM
>>> Subject: Re: [ovirt-devel] local vdsm build fails
>>>
>>> On Sun 08 Jun 2014 12:57:24 PM CEST, Nir Soffer wrote:
>>>> ----- Original Message -----
>>>>> From: "David Caro" <dcaroest(a)redhat.com>
>>>>> To: "Nir Soffer" <nsoffer(a)redhat.com>
>>>>> Cc: "Piotr Kliczewski" <piotr.kliczewski(a)gmail.com>,
>>>>> fsimonce(a)redhat.com,
>>>>> dcaro(a)redhat.com, devel(a)ovirt.org, "Dan
>>>>> Kenigsberg" <danken(a)redhat.com>
>>>>> Sent: Friday, June 6, 2014 5:16:52 PM
>>>>> Subject: Re: [ovirt-devel] local vdsm build fails
>>>>>
>>>>> On Fri 06 Jun 2014 03:53:41 PM CEST, Nir Soffer wrote:
>>>>>> ----- Original Message -----
>>>>>>> From: "Dan Kenigsberg" <danken(a)redhat.com>
>>>>>>> To: "Piotr Kliczewski"
<piotr.kliczewski(a)gmail.com>,
>>>>>>> fsimonce(a)redhat.com,
>>>>>>> nsoffer(a)redhat.com, dcaro(a)redhat.com
>>>>>>> Cc: devel(a)ovirt.org
>>>>>>> Sent: Friday, June 6, 2014 12:15:18 PM
>>>>>>> Subject: Re: [ovirt-devel] local vdsm build fails
>>>>>>>
>>>>>>> On Fri, Jun 06, 2014 at 09:19:11AM +0200, Piotr Kliczewski
wrote=
:
>>>>>>>> All,
>>>>>>>>
>>>>>>>> I pulled the latest vdsm from master and noticed that
build is
>>>>>>>> failing.
>>>>>>>>
>>>>>>>> Here is the patch that causes the failuer:
>>>>>>>>
>>>>>>>>
http://gerrit.ovirt.org/#/c/28226
>>>>>>>>
>>>>>>>> and looking at jenkins comments I can see that jenkins
was fail=
ing
ts_localfs_gerrit/1064/console
>>>>>>
>>>>>> Nir has already fix that as well. The storage tests were just
fin=
e, but
>>>>>> a post build script was running cp
incorrectly.
>>>>>>
>>>>>> David pointed that we need a way to distinguish between test
erro=
rs and
>>>>>> failures.
>>>>>> He suggested looking up strings in the test output - we should
no=
t go
>>>>>> there, unless
>>>>>> we want to "fix" this many more times in the future.
>>>>>>
>>>>>> I suggest to use the these rules:
>>>>>>
>>>>>> - SUCCESS - make check returns 0
>>>>>> - FAILURE - make check returns 1
>>>>>> - ERROR - anything else returned by make check or any other
scrip=
t.
>>>>>>
>>>>>> I think that make check does work like this, but it should be
eas=
y to
>>>>>> change.
>>>>>>
>>>>>> What do you think?
>>>>>>
>>>>>>>
>>>>>>> Thanks for your report. Nir has already fixed this in
>>>>>>>
http://gerrit.ovirt.org/28426.
>>>>>>>
>>>>>>> It was introduced in
http://gerrit.ovirt.org/#/c/28226/ but
miss=
ed
>>>>>>> also
>>>>>>> because we have turned PYFLAKES off in unit test jobs. We
must t=
urn it
>>>>>>> on
>>>>>>> in
>>>>>>> at least one of the tests (or initiate a new jenkins job for
`ma=
ke
>>>>>>> check-local`).
>>>>>>>
>>>>>>> As a quick fix, David has re-enabled PYFLAKES in
>>>>>>>
http://jenkins.ovirt.org/view/By%20Project/view/vdsm/job/vdsm_ma=
ster_unit_tests/configure
>>>>>>>
>>>>>>> Regards,
>>>>>>> Dan.
>>>>>>>
>>>>>
>>>>> Perfect for me, but you should know that it will fail also when st=
range
>>>>> things occur, for example, out of memory, of disk
space, slave
>>>>> disconnected, network error, etc.
>>>>>
>>>>> If you are willing to treat those (the most common infra failures)=
as
>>>>> devel failures, then no problem on my side,
>>>>
>>>> I'm not - this is why we should separate test failures from test er=
rors.
>>>>
>>>>> but I don't want you to
>>>>> start ignoring test errors because it's most probably an infra
err=
or
>>>>> (don't get me wrong, it's totally normal
to start ignoring an alar=
m
>>>>> that is not a real problem, as infra members we
will try to minimi=
ze
>>>>> the infra issues, but it's not yet as stable
as we'd like it to be=
).
>>>>
>>>> This is too late now, people are already ignoring jenkins reports b=
ecause
>>>> of the many false negatives :-)
>>>
>>> So the return code is not a good solution then, we have to see if it=
>>> failed, and if it was due to an infra error or a devel
error. I thin=
k
>>> that it's easier to filter for:
>>>
>>> * A string that means the tests did ran, probably at the end of the =
log
>>> so if there's a connection failure it will be
detected as infra issu=
e.
>>> * A string that identified if the test failed or passed
>>>
>>> And if none of those were found, then an infra failure is supposed.
>>
>> Ok, how about:
>>
>> 1. make check will write a file with test results - no other output
>> can go into that file so we don't have to use heuristics when
>> parsing the file.
>>
>> 2. If the file is found and parse successfully, tests either succeede=
d
or
>> failed.
> What does 'parse successfully' mean?
That I can open and understand the contents of this file. For example i=
f I
expect the file to contain "PASS" or "FAILED" but
it contains "BLAH" th=
is
is not a test failure, this is a test error.
So then you have passed from checking jenkins log output to check the=20
contents of a file, I see no clear advantage. Nothing against though=20
(it cleans up the jenkins log, and let's you compress the logs).
I'll need then the format of the file to check it.
>>
>> 3. Any other failure is a test error - failure is *never* assumed
> You mean an infra issue?
To make it clear:
- test success - all tests completed and passed
- test failure - all tests completed and some of them failed
- test error - anything else, meaning, I don't know if tests passed or =
failed.
This can be caused by bad tests, infra issue, anything. Practically
t=
his means
that the test author and infra should understand the error and fix
it=
, otherwise
the developer does not know if her code is good or bad.
Nir
--
David Caro
Red Hat S.L.
Continuous Integration Engineer - EMEA ENG Virtualization R&D
Email: dcaro(a)redhat.com
Web:
www.redhat.com
RHT Global #: 82-62605
--JWv6SKN48HC4bWmJvJSBXV2crBPp428RU
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAEBAgAGBQJTmxoPAAoJEEBxx+HSYmnDcN4H/RSD2ggcjH4sc6ui8aiqrP3/
x/paZZQqHa+ekyjKw2tIQR3qIyzMVzoSvhDnCz8hLzxdpFl0+ko+7YBHa31i+8DV
7Ar+0YpzxN5LaMf2mbgcfIBtahC1kTqm+GDHE0bVvWjMNu630PwUcB1D6i3IgbWb
a0Mscaq8KSlFmEpr0z9AOScLaSWHimKAjok/6Gc06eOQmAGuecVPJaDSto4mBWw1
CKmZ95t/WF0CgH9yubvLhU7NNjjJl8h2FDNnxNnXLpqoCd53krAz6uxP6E9jY0Tm
rAl2ptCFs2gnVKLGm2/fPi/IQuxYQnhVZ3j9R7m6iMx2ArCZtYi7DFr/Pp0Kkk4=
=MmCo
-----END PGP SIGNATURE-----
--JWv6SKN48HC4bWmJvJSBXV2crBPp428RU--