[dpdk-moving] proposal for DPDK CI improvement

Thomas Monjalon thomas.monjalon at 6wind.com
Mon Nov 7 11:17:34 CET 2016


Hi Qian,

2016-11-07 07:55, Xu, Qian Q:
> I think the discussion about CI is a good start. I agreed on the general ideas: 
> 1. It's good to have more contributors for CI and it's a community effort. 
> 2. Building a distributed CI system is good and necessary. 
> 3. "When and Where" is the very basic and important questions. 
> 
> Add my 2 cents here. 
> 1.  Distributed test vs Centralized lab
> We can put the build and functional tests on our distributed lab. As to the performance, as we all know, performance is key to DPDK. 
> So I suggested we can have the centralized lab for the performance testing, and some comments as below: 
> a). Do we want to publish the performance report on different platforms with different HW/NICs? Anyone against on publishing performance numbers? 
> b). If the answer to the first question is "Yes", so how to ensure others trust the performance and how to reproduce the performance if we don't have the platforms/HWs? 
> As Marvin said, transparency and independence is the advantage for open centralized lab. Besides, we can demonstrate to all audience about DPDK performance with the 
> Lab. Of course, we need the control of the system, not allow others to access it randomly. It's another topic of access control. I even think that if the lab can be used as 
> the training lab or demo lab when we have the community training or performance demo days(I just named the events). 
> 
> 2. Besides "When and Where", then "What" and "How"
> When:
> 	- regularly on a git tree ---what tests need to be done here? Propose to have the daily build, daily functional regression, daily performance regression
> 	- after each patch submission -> report available via patchwork----what tests need to be done? Build test as the first one, maybe we can add functional or performance in future. 
>                                                                                                                                        
> How to collect and display the results? 
> Thanks Thomas for the hard work on patchwork upgrade. And it's good to see the CheckPatch display here. 
> IMHO, to build the complete distributed system needs very big effort. Thomas, any effort estimation and the schedule for it?

It must be a collective effort.
I plan to publish a new git repository really soon to help building a test lab.
The first version will allow to send some test reports correctly formatted.
The next step will be to help applying patches (on right branch with series support).

> a). Currently, there is only " S/W/F for Success/Warning/Fail counters" in tests, so does it refer to build test or functional test or performance test? 

It can be any test, including performance ones. A major performance regression
must be seen as a failed test.

> If it only referred to build test, then you may need change the title to Build S/W/F. Then how many architecture or platforms for the builds? For example, we support Intel IA build, 
> ARM build, IBM power build. Then we may need collect build results from INTEL/IBM/ARM and etc to show the total S/W/F. For example, if the build is passed on IA but failed on IBM, then we 
> Need record it as 1S/0W/1F. I don't know if we need collect the warning information here.

The difference between warnings and failures is a matter of severity.
The checkpatch errors are reported as warnings.

> b). How about performance result display on website? No matter distributed or centralized lab, we need a place to show the performance number or the performance trend to 
> ensure no performance regression? Do you have any plan to implement it? 

No I have no plan but I expect it to be solved by ones working on
performance tests, maybe you? :)
If a private lab can publish some web graphs of performance evolutions, it is great.
If we can do it in a centralized lab, it is also great.
If we can have a web interface to gather every performance numbers and graphs,
it is really really great!

> 3.  Proposal to have a CI mailing list for people working on CI to have the regular meetings only discussing about CI? Maybe we can have more frequent meetings at first to have an alignment. Then
> We can reduce the frequency if the solution is settle down. Current call is covering many other topics. What do you think? 

The mailing list is now created: ci at dpdk.org.
About meetings, I feel we can start working through ci at dpdk.org and see
how efficient it is. Though if you need a meeting, feel free to propose.


More information about the moving mailing list