[openstack-dev] [nova][neutron][infra] zuul job definitions overrides and the irrelevant-file attribute

Bal√°zs Gibizer balazs.gibizer at ericsson.com
Fri Jan 26 14:05:04 UTC 2018


I'm getting more and more confused how the zuul job hierarchy works or 
is supposed to work.

First there was a bug in nova that some functional tests are not 
triggered although the job (re-)definition in the nova part of the 
project-config should not prevent it to run [1].

There we figured out that irrelevant-files parameter of the jobs are 
not something that can be overriden during re-definition or through 
parent-child relationship. The base job openstack-tox-functional has an 
irrelevant-files attribute that lists '^doc/.*$' as a path to be 
ignored [2]. In the other hand the nova part of the project-config 
tries to make this ignore less broad by adding only '^doc/source/.*$' . 
This does not work as we expected and the job did not run on changes 
that only affected ./doc/notification_samples path. We are fixing it by 
defining our own functional job in nova tree [4].

[1] https://bugs.launchpad.net/nova/+bug/1742962
[4] https://review.openstack.org/#/c/533210/

Then I started looking into other jobs to see if we made similar 
mistakes. I found two other examples in the nova related jobs where 
redefining the irrelevant-files of a job caused problems. In these 
examples nova tried to ignore more paths during the override than what 
was originally ignored in the job definition but that did not work 

[5] https://bugs.launchpad.net/nova/+bug/1745405 (temptest-full)
[6] https://bugs.launchpad.net/nova/+bug/1745431 (neutron-grenade)

So far the problem seemed to be consistent (i.e. override does not 
work). But then I looked into neutron-grenade-multinode. That job is 
defined in neutron tree (like neutron-grenade) but nova also refers to 
it in nova section of the project-config with different 
irrelevant-files than their original definition. So I assumed that this 
will lead to similar problem than in case of neutron-grenade, but it 

The neutron-grenade-multinode original definition [1] does not try to 
ignore the 'nova/tests' path but the nova side of the definition in the 
project config does try to ignore that path [8]. Interestingly a patch 
in nova that only changes under the path: nova/tests/ does not trigger 
the job [9]. So in this case overriding the irrelevant-files of a job 
works. (It seems that overriding neutron-tempest-linuxbridge 
irrelevant-files works too).

[9] https://review.openstack.org/#/c/537936/

I don't see what is the difference between neutron-grenade and 
neutron-grenade-multinode jobs definitions from this perspective but it 
seems that the irrelevent-files attribute behaves  inconsistently in 
these two jobs. Could you please help me undestand how irrelevant-files 
in overriden jobs supposed to work?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20180126/aa340d88/attachment.html>

More information about the OpenStack-dev mailing list