Ophir Munk <[email protected]> writes:

>> -----Original Message-----
>> From: Aaron Conole [mailto:[email protected]]
>> Sent: Thursday, September 06, 2018 11:56 AM
>> To: Ian Stokes <[email protected]>; Kevin Traynor
>> <[email protected]>; Ophir Munk <[email protected]>; Ferruh
>> Yigit <[email protected]>; Luca Boccassi <[email protected]>; Jeremy
>> Plsek <[email protected]>; Sugesh Chandran
>> <[email protected]>; Jean-Tsung Hsiao <[email protected]>;
>> Christian Trautman <[email protected]>; Ben Pfaff <[email protected]>;
>> Bala Sankaran <[email protected]>
>> Cc: [email protected]
>> Subject: [RFC] Federating the 0-day robot, and improving the testing
>> 
>> As of June, the 0-day robot has tested over 450 patch series.
>> Occasionally it spams the list (apologies for that), but for the majority of 
>> the
>> time it has caught issues before they made it to the tree - so it's
>> accomplishing the initial goal just fine.
>> 
>> I see lots of ways it can improve.  Currently, the bot runs on a light 
>> system.  It
>> takes ~20 minutes to complete a set of tests, including all the checkpatch
>> and rebuild runs.  That's not a big issue.  BUT, it does mean that the 
>> machine
>> isn't able to perform all the kinds of regression tests that we would want.  
>> I
>> want to improve this in a way that various contributors can bring their own
>> hardware and regression tests to the party.  In that way, various projects 
>> can
>> detect potential issues before they would ever land on the tree and it could
>> flag functional changes earlier in the process.
>> 
>
> First of all - lots of thanks for this great work. 
> A few questions/comments:
> 1. Are the tests mentioned above considered core/sanity tests to make
> sure the basic functionality is not broken?

Yes - actually, I haven't re-enabled reporting the make check, so it's
basically:

1. git am

2. checkpatch

3. make

If any of those fails, they get reported.  Future work, we'll re-enable
reporting the other checks.

> 2. Is there a link to the tests which are executed? How can they be reviewed?

Documentation/topics/testing.rst covers the high level overview
(including the testsuites run by doing make
 check{-dpdk,-kernel,-kmod,-system-userspace,-ryu,-oftest,-valgrind,-lcov,})

The various tests are primarily wired up through m4, although they can
be written in any language provided there's a binary to execute.

> 3. Is there a link to the tests results? How can they be viewed?

For the bot, right now, there isn't a link.  I think a dashboard
functionality is probably worthwhile to write.

> 4. Is the test environment documented? I think it would be beneficial
> if in parallel to the 0-day robot each vendor would be able to build
> the same environment locally in order to test his patches before
> sending them.

Yes and no.  For example, the exact steps the bot takes are all
documented at:

https://github.com/orgcandman/pw-ci/blob/master/3rd-party/openvswitch/config.xml

But, as I wrote above, we just report failures from the steps above.

> 5. I am interested in having Mellanox NICs taking part of these
> tests. We will have some internal discussions regarding this, then I
> will be more specific.

Awesome!  Look forward to hearing more.

>> I'm not sure the best way to do that.  One thing I'll be doing is updating 
>> the
>> bot to push a series that successfully builds and passes checkpatch to a
>> special branch on a github repository to kick off travis builds.  That will 
>> give
>> us a more complete regression coverage, and we could be confident that a
>> series won't break something major.  
>
> I suggest to tag the daily regression series and to have public access to it.
> In case anything is broken we should get an email notifying on this
> and be able to bisect the tree (based on tag) to find which commit is
> causing issues. It is even better to have the bot doing the bisect.

Not sure what it means.  I don't think there should be anything to
bisect yet - but that's probably because I'm focused on the submission
side of testing.  Of course, a future effort would be some kind of full
regression.  I guess that's what you're referring to here.

>> After that, I'm not sure how to notify
>> various alternate test infrastructures how to kick off their own tests using
>> the patched sources.
>> 
>> My goal is to get really early feedback on patch series.  I've sent this out 
>> to
>> the folks I know are involved in testing and test discussions in the hopes 
>> that
>> we can talk about how best to get more CI happening.  The open questions:
>> 
>> 1. How can we notify various downstream consumers of OvS of these
>>    0-day builds?  Should we just rely on people rolling their own?
>>    Should there be a more formalized framework?  How will these other
>>    test frameworks report any kind of failures?
>> 
>> 2. What kinds of additional testing do we want to see the robot include?
>>    Should the test results be made available in general on some kind of
>>    public facing site?  Should it just stay as a "bleep bloop -
>>    failure!" marker?
>> 
>> 3. What other concerns should be addressed?
>
> I am looking forward to start running even with just basic tests to
> see how this whole framework works, then improving along the way. Can
> you please make sure to add the dpdk-latest and dpdk-hwol branches to
> the bot tests in addition to the master branch?

Great news - see the test suite documentation for the checks that we
run.

We'll make sure that the dpdk branches are properly covered.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to