[placement][nova][infra] best way to add to required-projects on several zuul jobs

Chris Dent cdent+os at anticdent.org
Mon Apr 1 15:50:23 UTC 2019

The extraction of placement led to the development of os-traits and
os-resource-classes [1,2] which are python modules which contain
symbols that represent "blessed" strings used as traits and resource
classes in at least nova, placement and neutron, but plenty of
others soon.

These symbols are actively used when developing new features, so
being able to access the python modules via tox-siblings [3] in both
unit and functional tests, from multiple projects, would be grand:
developers could depends-on changes in modules as they are being
developed, or rely on symbols in master of the modules before there
is a release to pypi.

What is the best way to do this? Many projects are using templates
like "openstack-python-jobs" but as far as I can tell there's no
easy way to override just a part of a template in a local .zuul.yaml
and the usual thing is to create another template such as
"openstack-python-jobs-neutron" which re-lists all the jobs within,
and adds a custom required-projects to each job.

Is this (creating another template) the right/best way to add to
required-projects for this kind of thing? If not, what's the best
way? Presumably it is better to create a centralized job or template
when >1 projects will need the additional libraries?

Ideas? Thanks.

[1] https://docs.openstack.org/os-traits/latest/
[2] https://docs.openstack.org/os-resource-classes/latest/
[3] https://docs.openstack.org/infra/manual/zuulv3.html#installation-of-sibling-requirements

Chris Dent                       ٩◔̯◔۶           https://anticdent.org/
freenode: cdent                                         tw: @anticdent

More information about the openstack-discuss mailing list