On Wed, Feb 14, 2018 at 6:45 AM, Andreas Jaeger <[email protected]> wrote:
On 2018-02-14 01:28, Ghanshyam Mann wrote:
On Wed, Feb 14, 2018 at 12:06 AM, Paul Belanger
<[email protected]> wrote:
On Tue, Feb 13, 2018 at 11:05:34PM +0900, gmann wrote:
Hi Infra Team,
I have 1 quick question on zuulv3 jobs and their migration part.
From
zuulv3 doc [1], it is clear about migrating the job definition
and use
those among cross repo pipeline etc.
But I did not find clear recommendation that whether project's
pipeline definition should stay in project-config or we should
move
that to project side.
IMO,
'template' part(which has system level jobs) can stay in
project-config. For example below part-
https://github.com/openstack-infra/project-config/blob/e2b82623a4ab60261b37a91e311118301927b9b6/zuul.d/projects.yaml#L10507-L10523
Other pipeline definition- 'check', 'gate', 'experimental' etc
should
be move to project repo, mainly this list-
https://github.com/openstack-infra/project-config/blob/master/zuul.d/projects.yaml#L10524-L11019
If we move those past as mentioned above then, we can have a
consolidated place to control the project pipeline for
'irrelevant-files', specific branch etc
..1 https://docs.openstack.org/infra/manual/zuulv3.html
As it works today, pipeline stanza needs to be in a config
project[1]
(project-config) repo. So what you are suggestion will not work.
This was done
to allow zuul admins to control which pipelines are setup /
configured.
I am mostly curious why a project would need to modify a pipeline
configuration
or duplicate it into all projects, over having it central located
in
project-config.
pipeline stanza and configuration stay in project-config. I mean
list
of jobs defined in each pipeline for specific project for example
here[2]. Now we have list of jobs for each pipeline in 2 places, one
in project-config [2] and second in project repo[3].
Issue in having it in 2 places:
- No single place to check what all jobs project will run with what
conditions
- If we need to modify the list of jobs in pipeline or change other
bits like irrelevant-files etc then it has to be done in
project-config. So no full control by project side.
For me it is even more than two places as the project templates like
'integarted-gate'[4] defines jobs to be executed on a project that
includes the template in the project-config. Which leads to problems
like [5]. This shows that tracking down why some job runs on a change
is fairly non-trivial from a developer perspective. Therefore I support
to define which jobs run on a given project as close to the project as
possible and as small number of different places as possible. I even
volunteer to help with the moving from nova perspective.
This should be explained in:
https://docs.openstack.org/infra/manual/zuulv3.html#what-to-convert
So, the standard templates/jobs - incl. PTI mandated ones - should
stay
in project-config, you can move everything else in-tree,
As far as I understand this list allows us to solve [5] by simply
moving every jobs from 'integrated-gate' to the respective project in
tree as the jobs in that template are not part of the PTI.
[4]
https://github.com/openstack-infra/openstack-zuul-jobs/blob/df8a8e8ee41c1ceb4da458a8681e39de39eafded/zuul.d/zuul-legacy-project-templates.yaml#L93
[5] https://review.openstack.org/#/c/538908
Cheers,
gibi
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev