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

Ghanshyam Mann gmann at ghanshyammann.com
Thu Feb 15 01:01:50 UTC 2018


On Thu, Feb 15, 2018 at 1:43 AM, Andrea Frittoli
<andrea.frittoli at gmail.com> wrote:
>
>
> On Wed, Feb 14, 2018 at 4:05 PM James E. Blair <corvus at inaugust.com> wrote:
>>
>> Andrea Frittoli <andrea.frittoli at gmail.com> writes:
>>
>> >> That has no irrelevant-files matches, and so matches everything.  If
>> >> you
>> >> drop the use of that template, it will work as expected.  Or, if you
>> >> can
>> >> say with some certainty that nova's irrelevant-files set is not
>> >> over-broad, you could move the irrelevant-files from nova's invocation
>> >> into the template, or even the job, and drop nova's individual
>> >> invocation.
>> >>
>> > I don't think projects in the integrated gate should remove themselves
>> > from the
>> > template, it really helps keeping consistency.
>> >
>> > The pattern I've seen is that most projects repeat the same list of
>> > irrelevant files
>> > over and over again in all of their integration tests, It would be handy
>> > in
>> > future to
>> > be able to set irrelevant-files on a template when it's consumed.
>> > So we could have shared irrelevant files defined in the template, and
>> > custom ones
>> > added by each project when consuming the template. I don't this is is
>> > possible today.
>> > Does it sound like a reasonable feature request?
>>
>> A template may specify many jobs, so if we added something like that
>> feature, what would the project-pipeline template application's
>> irrelevant files apply to?  All of the jobs in the template?  We could
>> do that.
>
>
> That's what I was thinking about,
>
>>
>> But it only takes one exception for this approach to fall
>> short, and while a lot of irrelevant-files stanzas for a project are
>> similar, I don't think having exceptions will be unusual.  The only way
>> to handle exceptions like that is to specify them with jobs, and we're
>> back in the same situation.
>>
>> Also, combining irrelevant-files is very difficult to think about.
>> Because it's two inverse matches, combining them ends up being the
>> intersection, not the union.  So if we implemented this, I don't think
>> we should have any irrelevant-files in the template, only on template
>> application.
>>
>> I still tend to think that irrelevant-files are almost invariably
>> project-specific, so we should avoid using them in templates and job
>> definitions (unless absolutely certain they are universally applicable),
>> and we should only define them in one place -- in the project-pipeline
>> definition for individual jobs.
>
>
> I agree with your concerns, but the problem is that the current
> implementation
> renders job templates rather useless. Each project has to re-add each job in
> a
> template in its pipeline content definition to be able to apply irrelevant
> files, and
> that will turn stale if a template is modified.
>
> With the migration to zuulv3 native jobs there is a lot of job renaming and
> adding/
> removing jobs going on, so for instance if a job is removed what used to be
> a setting
> irrelevant files may become running an extra job.
>
> I don't really have a solution for this, but perhaps someone has an idea?

I am in favor of idea of not defining the irrelevant_files in base job
definition or template and have them defined by project in
project-pipeline only. This solve most of the issue even that can ask
each project to define the common irrelevant_files.

With that, should we keep the Template limited to system one only
which are mentioned here [1] ? i mean no 'integrate-gate' etc
template.

..1 https://docs.openstack.org/infra/manual/zuulv3.html#what-to-convert

-gmann

>
> Andrea Frittoli (andreaf)
>
>>
>> -Jim
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>



More information about the OpenStack-dev mailing list