[ironic] [qa] ironic-tempest-plugin CI bloat

Ghanshyam Mann gmann at ghanshyammann.com
Thu Jan 10 06:48:47 UTC 2019

 ---- On Wed, 02 Jan 2019 20:18:40 +0900 Dmitry Tantsur <dtantsur at redhat.com> wrote ---- 
 > Hi all and happy new year :) 
 > As you know, tempest plugins are branchless, so the CI of ironic-tempest-plugin  
 > has to run tests on all supported branches. Currently it amounts to 16 (!)  
 > voting devstack jobs. With each of them have some small probability of a random  
 > failure, it is impossible to land anything without at least one recheck, usually  
 > more. 
 > The bad news is, we only run master API tests job, and these tests are changed  
 > more often that the other. We already had a minor stable branch breakage because  
 > of it [1]. We need to run 3 more jobs: for Pike, Queens and Rocky. And I've just  
 > spotted a missing master multinode job, which is defined but does not run for  
 > some reason :( 
 > Here is my proposal to deal with gate bloat on ironic-tempest-plugin: 
 > 1. Do not run CI jobs at all for unsupported branches and branches in extended  
 > maintenance. For Ocata this has already been done in [2]. 

+1. We have the same policy in Tempest also[1].
You mean not to run CI for unsupported/EM branches on the master testing right? 
CI on Unsupported/EM branch can be run until they all are passing or EM maintainers want to
run them. 

 > 2. Make jobs running with N-3 (currently Pike) and older non-voting (and thus  
 > remove them from the gate queue). I have a gut feeling that a change that breaks  
 > N-3 is very likely to break N-2 (currently Queens) as well, so it's enough to  
 > have N-2 voting. 

IMO, running all supported stable branches as voting make sense than running oldest
one(N-3 as you mentioned) as n-v. That way, tempest-plugins will be successfully maintained
to run on N-3  otherwise it is likely to be broken for that branch especially in case of
feature discovery based tests. 

 > 3. Make the discovery and the multinode jobs from all stable branches  
 > non-voting. These jobs cover the tests that get changed very infrequently (if  
 > ever). These are also the jobs with the highest random failure rate. 
 > 4. Add the API tests, voting for Queens to master, non-voting for Pike (as  
 > proposed above). 
 > This should leave us with 20 jobs, but with only 11 of them voting. Which is  
 > still a lot, but probably manageable. 
 > The corresponding change is [3], please comment here or there. 
 > Dmitry 
 > [1] https://review.openstack.org/622177 
 > [2] https://review.openstack.org/621537 
 > [3] https://review.openstack.org/627955 

[1]  https://docs.openstack.org/tempest/latest/stable_branch_support_policy.html 


More information about the openstack-discuss mailing list