From a4dfa9a10afce89e38f3ca6feea8d8049aaf9926 Mon Sep 17 00:00:00 2001 From: Doug Hellmann Date: Wed, 25 Oct 2017 12:07:58 -0400 Subject: [PATCH] add explicit release types for neutron and horizon plugins Be explicit about the projects that need special release jobs so we know they are configured correctly. See http://lists.openstack.org/pipermail/openstack-dev/2017-October/123926.html for more details. Change-Id: I73307fb3233c128c8f878da89c1e850831135bc3 Signed-off-by: Doug Hellmann --- README.rst | 10 ++++++++++ deliverables/queens/networking-midonet.yaml | 1 + deliverables/queens/networking-odl.yaml | 1 + deliverables/queens/networking-ovn.yaml | 1 + deliverables/queens/networking-sfc.yaml | 1 + deliverables/queens/neutron-fwaas.yaml | 1 + openstack_releases/project_config.py | 8 ++++++-- openstack_releases/schema.yaml | 2 +- openstack_releases/versionutils.py | 6 ++++-- 9 files changed, 26 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index da9ce1fafb..93c9dc5939 100644 --- a/README.rst +++ b/README.rst @@ -419,6 +419,16 @@ The top level of a deliverable file is a mapping with keys: specified and the validation job can determine that a module is a nodejs module, it assumes a release-type of ``nodejs``. + ``neutron`` + For projects using the PyPI publishing variant that installs + neutron in order to build the package. Typically used by neutron + plugins. + + ``horizon`` + For projects using the PyPI publishing variant that installs + horizon in order to build the package. Typically used by horizon + plugins. + ``releases`` A list of the releases for the deliverable. diff --git a/deliverables/queens/networking-midonet.yaml b/deliverables/queens/networking-midonet.yaml index 68b5cad6e1..589f035a92 100644 --- a/deliverables/queens/networking-midonet.yaml +++ b/deliverables/queens/networking-midonet.yaml @@ -3,6 +3,7 @@ launchpad: networking-midonet team: neutron type: other release-model: cycle-with-milestones +release-type: neutron include-pypi-link: yes releases: - projects: diff --git a/deliverables/queens/networking-odl.yaml b/deliverables/queens/networking-odl.yaml index bb3001858c..858c4031df 100644 --- a/deliverables/queens/networking-odl.yaml +++ b/deliverables/queens/networking-odl.yaml @@ -3,6 +3,7 @@ launchpad: networking-odl team: neutron type: other release-model: cycle-with-milestones +release-type: neutron include-pypi-link: yes releases: - projects: diff --git a/deliverables/queens/networking-ovn.yaml b/deliverables/queens/networking-ovn.yaml index bb7fdfa1a8..c72cf3af7e 100644 --- a/deliverables/queens/networking-ovn.yaml +++ b/deliverables/queens/networking-ovn.yaml @@ -3,6 +3,7 @@ launchpad: networking-ovn team: neutron type: other release-model: cycle-with-milestones +release-type: neutron include-pypi-link: yes releases: - projects: diff --git a/deliverables/queens/networking-sfc.yaml b/deliverables/queens/networking-sfc.yaml index f2f584bf4b..5661f5a383 100644 --- a/deliverables/queens/networking-sfc.yaml +++ b/deliverables/queens/networking-sfc.yaml @@ -3,6 +3,7 @@ launchpad: networking-sfc team: neutron type: other release-model: cycle-with-milestones +release-type: neutron include-pypi-link: yes releases: - projects: diff --git a/deliverables/queens/neutron-fwaas.yaml b/deliverables/queens/neutron-fwaas.yaml index 78cc1d5330..9cb48b75eb 100644 --- a/deliverables/queens/neutron-fwaas.yaml +++ b/deliverables/queens/neutron-fwaas.yaml @@ -3,6 +3,7 @@ launchpad: neutron team: neutron type: other release-model: cycle-with-milestones +release-type: neutron releases: - projects: - hash: 073622b9df508cfb54fade4073c5243001b61a51 diff --git a/openstack_releases/project_config.py b/openstack_releases/project_config.py index 1dcf7e8704..ccbe5f9daf 100644 --- a/openstack_releases/project_config.py +++ b/openstack_releases/project_config.py @@ -83,10 +83,14 @@ def get_zuul_project_data(url=ZUUL_PROJECTS_URL): _RELEASE_JOBS_FOR_TYPE = { 'std': [ 'publish-to-pypi', - 'publish-to-pypi-neutron', - 'publish-to-pypi-horizon', 'release-openstack-server', ], + 'neutron': [ + 'publish-to-pypi-neutron', + ], + 'horizon': [ + 'publish-to-pypi-horizon', + ], 'nodejs': [ 'nodejs4-publish-to-npm', 'nodejs6-publish-to-npm', diff --git a/openstack_releases/schema.yaml b/openstack_releases/schema.yaml index 50d5b7a66e..28c269eaca 100644 --- a/openstack_releases/schema.yaml +++ b/openstack_releases/schema.yaml @@ -35,7 +35,7 @@ properties: type: "object" release-type: type: "string" - enum: [ "std", "xstatic", "fuel", "nodejs", "puppet" ] + enum: [ "std", "xstatic", "fuel", "nodejs", "puppet", "neutron", "horizon" ] stable-branch-type: type: "string" enum: [ "std", "tagless", "upstream" ] diff --git a/openstack_releases/versionutils.py b/openstack_releases/versionutils.py index f9e0b2bbca..ce859a83ef 100644 --- a/openstack_releases/versionutils.py +++ b/openstack_releases/versionutils.py @@ -21,8 +21,8 @@ import pbr.version # The values are a three-tuple that contains: # 1. constructor: The function used to convert the version string in to a # *Verion object. -# 2. exception: The excpetion raised by the constructor iff version string is invalid -# in some way. +# 2. exception: The exception raised by the constructor iff version +# string is invalid in some way. # 3. canonicalise: The function used to canonicalise the *Version object. # Used to verify that the version string is already in the # canonical form @@ -37,6 +37,8 @@ _VALIDATORS['fuel'] = _VALIDATORS['std'] _VALIDATORS['openstack-manuals'] = _VALIDATORS['std'] _VALIDATORS['puppet'] = _VALIDATORS['std'] _VALIDATORS['nodejs'] = _VALIDATORS['std'] +_VALIDATORS['neutron'] = _VALIDATORS['std'] +_VALIDATORS['horizon'] = _VALIDATORS['std'] def validate_version(versionstr, release_type='std', pre_ok=True):