<div id="geary-body"><div>Hi, </div><div><br></div><div>I'm getting more and more confused how the zuul job hierarchy works or is supposed to work.</div><div><br></div><div>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].</div><div><br></div><div>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].</div><div><br></div><div>[1] <a href="https://bugs.launchpad.net/nova/+bug/1742962">https://bugs.launchpad.net/nova/+bug/1742962</a></div><div>[2] <a href="https://github.com/openstack-infra/openstack-zuul-jobs/blob/1823e3ea20e6dfaf37786a6ff79c56cb786bf12c/zuul.d/jobs.yaml#L380">https://github.com/openstack-infra/openstack-zuul-jobs/blob/1823e3ea20e6dfaf37786a6ff79c56cb786bf12c/zuul.d/jobs.yaml#L380</a></div><div>[3] <a href="https://github.com/openstack-infra/project-config/blob/1145ab1293f5fa4d34c026856403c22b091e673c/zuul.d/projects.yaml#L10509">https://github.com/openstack-infra/project-config/blob/1145ab1293f5fa4d34c026856403c22b091e673c/zuul.d/projects.yaml#L10509</a></div><div>[4] <a href="https://review.openstack.org/#/c/533210/">https://review.openstack.org/#/c/533210/</a></div><div><br></div><div>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][6]. </div><div><br></div><div>[5] <a href="https://bugs.launchpad.net/nova/+bug/1745405">https://bugs.launchpad.net/nova/+bug/1745405</a> (temptest-full)</div><div>[6] <a href="https://bugs.launchpad.net/nova/+bug/1745431">https://bugs.launchpad.net/nova/+bug/1745431</a> (neutron-grenade)</div><div><br></div><div>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 doesn't. </div><div><br></div><div><div>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). </div><div><br></div><div>[7] <a href="https://github.com/openstack/neutron/blob/7e3d6a18fb928bcd303a44c1736d0d6ca9c7f0ab/.zuul.yaml#L140-L159">https://github.com/openstack/neutron/blob/7e3d6a18fb928bcd303a44c1736d0d6ca9c7f0ab/.zuul.yaml#L140-L159</a></div><div>[8] <a href="https://github.com/openstack-infra/project-config/blob/5ddbd62a46e17dd2fdee07bec32aa65e3b637ff3/zuul.d/projects.yaml#L10516-L10530">https://github.com/openstack-infra/project-config/blob/5ddbd62a46e17dd2fdee07bec32aa65e3b637ff3/zuul.d/projects.yaml#L10516-L10530</a></div></div><div>[9] <a href="https://review.openstack.org/#/c/537936/">https://review.openstack.org/#/c/537936/</a> </div><div><br></div><div>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?</div><div><br></div><div>cheers,</div><div>gibi</div><div><br></div><div><br></div><div><br></div></div>