Merge "Implement distributed leadership in tools and schema"
This commit is contained in:
@@ -71,8 +71,9 @@ class TCLiaisonsTable(tables.Table):
|
|||||||
data_iter = projects.load_project_file(filename)
|
data_iter = projects.load_project_file(filename)
|
||||||
liaisons = {}
|
liaisons = {}
|
||||||
for project_name, project in data_iter.items():
|
for project_name, project in data_iter.items():
|
||||||
|
proj_liaisons = project.get('liaisons', {})
|
||||||
|
|
||||||
for liaison in project.get('liaisons', []):
|
for liaison in proj_liaisons.get('tc_members', []):
|
||||||
try:
|
try:
|
||||||
liaisons[liaison].extend([project_name])
|
liaisons[liaison].extend([project_name])
|
||||||
except KeyError:
|
except KeyError:
|
||||||
|
|||||||
@@ -43,6 +43,10 @@ def _team_to_rst(name, info):
|
|||||||
yield ''
|
yield ''
|
||||||
yield ':Home Page: ' + info.get('url', '')
|
yield ':Home Page: ' + info.get('url', '')
|
||||||
ptl = info.get('ptl', {'name': '', 'irc': '', 'email': ''})
|
ptl = info.get('ptl', {'name': '', 'irc': '', 'email': ''})
|
||||||
|
leadership_type = info.get('leadership_type')
|
||||||
|
if leadership_type:
|
||||||
|
yield ':Leadership Type: ' + leadership_type
|
||||||
|
else:
|
||||||
yield ':PTL: %(name)s (``%(irc)s``) <%(email)s>' % ptl
|
yield ':PTL: %(name)s (``%(irc)s``) <%(email)s>' % ptl
|
||||||
irc_channel = info.get('irc-channel')
|
irc_channel = info.get('irc-channel')
|
||||||
if irc_channel:
|
if irc_channel:
|
||||||
@@ -53,7 +57,50 @@ def _team_to_rst(name, info):
|
|||||||
yield ':Service: ' + service
|
yield ':Service: ' + service
|
||||||
liaisons = info.get('liaisons')
|
liaisons = info.get('liaisons')
|
||||||
if liaisons:
|
if liaisons:
|
||||||
yield ':TC Liaisons: ' + ", ".join(liaisons)
|
contact_format = {'name': '', 'irc': '', 'email': ''}
|
||||||
|
tc_members = liaisons.get('tc_members')
|
||||||
|
if tc_members:
|
||||||
|
yield ':TC Members Liaisons: ' + ", ".join(tc_members)
|
||||||
|
release = liaisons.get('release', contact_format)
|
||||||
|
if release != contact_format:
|
||||||
|
yield ':Release Liaisons: ' + ', '.join(
|
||||||
|
'%(name)s (``%(irc)s``) <%(email)s>' % rl
|
||||||
|
for rl in release)
|
||||||
|
tact_sig = liaisons.get('tact-sig', contact_format)
|
||||||
|
if tact_sig != contact_format:
|
||||||
|
yield ':TACT SIG Liaisons: ' + ', '.join(
|
||||||
|
'%(name)s (``%(irc)s``) <%(email)s>' % tl
|
||||||
|
for tl in tact_sig)
|
||||||
|
security = liaisons.get('security', contact_format)
|
||||||
|
if security != contact_format:
|
||||||
|
yield ':Security Liaisons: ' + ', '.join(
|
||||||
|
'%(name)s (``%(irc)s``) <%(email)s>' % sl
|
||||||
|
for sl in security)
|
||||||
|
events = liaisons.get('events', contact_format)
|
||||||
|
if events != contact_format:
|
||||||
|
yield ':Events Liaisons: ' + ', '.join(
|
||||||
|
'%(name)s (``%(irc)s``) <%(email)s>' % el
|
||||||
|
for el in events)
|
||||||
|
project_update_onboarding = liaisons.get('project_update_onboarding', contact_format)
|
||||||
|
if project_update_onboarding != contact_format:
|
||||||
|
yield ':Project Update Onboarding Liaisons: ' + ', '.join(
|
||||||
|
'%(name)s (``%(irc)s``) <%(email)s>' % pl
|
||||||
|
for pl in project_update_onboarding)
|
||||||
|
meeting_facilitator = liaisons.get('meeting_facilitator', contact_format)
|
||||||
|
if meeting_facilitator != contact_format:
|
||||||
|
yield ':Meeting Facilitator Liaisons: ' + ', '.join(
|
||||||
|
'%(name)s (``%(irc)s``) <%(email)s>' % ml
|
||||||
|
for ml in meeting_facilitator)
|
||||||
|
bug_deputy = liaisons.get('bug_deputy', contact_format)
|
||||||
|
if bug_deputy != contact_format:
|
||||||
|
yield ':Bug Deputy Liaisons: ' + ', '.join(
|
||||||
|
'%(name)s (``%(irc)s``) <%(email)s>' % bl
|
||||||
|
for bl in bug_deputy)
|
||||||
|
rfe_coordinator = liaisons.get('rfe_coordinator', contact_format)
|
||||||
|
if rfe_coordinator != contact_format:
|
||||||
|
yield ':RFE Coordinator Liaisons: ' + ', '.join(
|
||||||
|
'%(name)s (``%(irc)s``) <%(email)s>' % rcl
|
||||||
|
for rcl in rfe_coordinator)
|
||||||
yield ''
|
yield ''
|
||||||
mission = info.get('mission', '').rstrip()
|
mission = info.get('mission', '').rstrip()
|
||||||
if mission:
|
if mission:
|
||||||
|
|||||||
@@ -3,15 +3,41 @@ $schema: "http://json-schema.org/schema#"
|
|||||||
$id: "https://opendev.org/openstack/releases/src/branch/master/README.rst"
|
$id: "https://opendev.org/openstack/releases/src/branch/master/README.rst"
|
||||||
|
|
||||||
|
|
||||||
|
contact_schema: &contact_schema
|
||||||
|
type: "array"
|
||||||
|
items:
|
||||||
|
type: "object"
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
- email
|
||||||
|
additionalProperties: false
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: "string"
|
||||||
|
irc:
|
||||||
|
type: "string"
|
||||||
|
email:
|
||||||
|
type: "string"
|
||||||
|
format: "email"
|
||||||
|
minItems: 1
|
||||||
|
uniqueItems: true
|
||||||
|
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
# Do not allow any properties not defined here. This lets us catch
|
# Do not allow any properties not defined here. This lets us catch
|
||||||
# typos.
|
# typos.
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
required:
|
oneOf:
|
||||||
|
- required:
|
||||||
- ptl
|
- ptl
|
||||||
- deliverables
|
- deliverables
|
||||||
- url
|
- url
|
||||||
- mission
|
- mission
|
||||||
|
- required:
|
||||||
|
- leadership_type
|
||||||
|
- liaisons
|
||||||
|
- deliverables
|
||||||
|
- url
|
||||||
|
- mission
|
||||||
properties:
|
properties:
|
||||||
ptl:
|
ptl:
|
||||||
type: "object"
|
type: "object"
|
||||||
@@ -27,6 +53,10 @@ additionalProperties:
|
|||||||
email:
|
email:
|
||||||
type: "string"
|
type: "string"
|
||||||
format: "email"
|
format: "email"
|
||||||
|
leadership_type:
|
||||||
|
type: "string"
|
||||||
|
enum:
|
||||||
|
- distributed
|
||||||
appointed:
|
appointed:
|
||||||
type: "array"
|
type: "array"
|
||||||
items:
|
items:
|
||||||
@@ -38,10 +68,25 @@ additionalProperties:
|
|||||||
url:
|
url:
|
||||||
type: "string"
|
type: "string"
|
||||||
liaisons:
|
liaisons:
|
||||||
|
type: "object"
|
||||||
|
properties:
|
||||||
|
tc_members:
|
||||||
type: "array"
|
type: "array"
|
||||||
uniqueItems: true
|
|
||||||
items:
|
items:
|
||||||
type: "string"
|
type: "string"
|
||||||
|
uniqueItems: true
|
||||||
|
# TODO(gmann): Make release, tact-sig,
|
||||||
|
# and, security liaison as required for
|
||||||
|
# distributed leadership type.
|
||||||
|
release: *contact_schema
|
||||||
|
tact-sig: *contact_schema
|
||||||
|
security: *contact_schema
|
||||||
|
events: *contact_schema
|
||||||
|
project_update_onboarding: *contact_schema
|
||||||
|
meeting_facilitator: *contact_schema
|
||||||
|
bug_deputy: *contact_schema
|
||||||
|
rfp_coordinator: *contact_schema
|
||||||
|
additionalProperties: false
|
||||||
mission:
|
mission:
|
||||||
type: "string"
|
type: "string"
|
||||||
deliverables:
|
deliverables:
|
||||||
|
|||||||
@@ -32,8 +32,24 @@ Release Management:
|
|||||||
their own releases.
|
their own releases.
|
||||||
url: https://wiki.openstack.org/wiki/Release_Management
|
url: https://wiki.openstack.org/wiki/Release_Management
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- zaneb
|
- zaneb
|
||||||
- ttx
|
- ttx
|
||||||
|
release:
|
||||||
|
- name: Hervé Beraud
|
||||||
|
irc: hberaud
|
||||||
|
email: hberaud@redhat.com
|
||||||
|
tact-sig:
|
||||||
|
- name: Hervé Beraud
|
||||||
|
irc: hberaud
|
||||||
|
email: hberaud@redhat.com
|
||||||
|
- name: Daniel Bengtsson
|
||||||
|
irc: damani
|
||||||
|
email: dbengt@redhat.com
|
||||||
|
security:
|
||||||
|
- name: Daniel Bengtsson
|
||||||
|
irc: damani
|
||||||
|
email: dbengt@redhat.com
|
||||||
tags:
|
tags:
|
||||||
- team:diverse-affiliation
|
- team:diverse-affiliation
|
||||||
deliverables:
|
deliverables:
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ adjutant:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/python-adjutantclient
|
- openstack/python-adjutantclient
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- knikolla
|
- knikolla
|
||||||
- mnaser
|
- mnaser
|
||||||
barbican:
|
barbican:
|
||||||
@@ -74,6 +75,7 @@ barbican:
|
|||||||
tags:
|
tags:
|
||||||
- vulnerability:managed
|
- vulnerability:managed
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- knikolla
|
- knikolla
|
||||||
- cloudnull
|
- cloudnull
|
||||||
blazar:
|
blazar:
|
||||||
@@ -110,6 +112,7 @@ blazar:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/python-blazarclient
|
- openstack/python-blazarclient
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- mugsie
|
- mugsie
|
||||||
- belmoreira
|
- belmoreira
|
||||||
cinder:
|
cinder:
|
||||||
@@ -164,6 +167,7 @@ cinder:
|
|||||||
- vulnerability:managed
|
- vulnerability:managed
|
||||||
- stable:follows-policy
|
- stable:follows-policy
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- cloudnull
|
- cloudnull
|
||||||
- mugsie
|
- mugsie
|
||||||
cloudkitty:
|
cloudkitty:
|
||||||
@@ -199,6 +203,7 @@ cloudkitty:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/cloudkitty-tempest-plugin
|
- openstack/cloudkitty-tempest-plugin
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- evrardjp
|
- evrardjp
|
||||||
- knikolla
|
- knikolla
|
||||||
cyborg:
|
cyborg:
|
||||||
@@ -229,6 +234,7 @@ cyborg:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/cyborg-tempest-plugin
|
- openstack/cyborg-tempest-plugin
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- njohnston
|
- njohnston
|
||||||
- cloudnull
|
- cloudnull
|
||||||
designate:
|
designate:
|
||||||
@@ -272,6 +278,7 @@ designate:
|
|||||||
tags:
|
tags:
|
||||||
- stable:follows-policy
|
- stable:follows-policy
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- evrardjp
|
- evrardjp
|
||||||
- jungleboyj
|
- jungleboyj
|
||||||
ec2-api:
|
ec2-api:
|
||||||
@@ -292,6 +299,7 @@ ec2-api:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/ec2api-tempest-plugin
|
- openstack/ec2api-tempest-plugin
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- jungleboyj
|
- jungleboyj
|
||||||
- mnaser
|
- mnaser
|
||||||
freezer:
|
freezer:
|
||||||
@@ -328,6 +336,7 @@ freezer:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/python-freezerclient
|
- openstack/python-freezerclient
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- ricolin
|
- ricolin
|
||||||
- jungleboyj
|
- jungleboyj
|
||||||
glance:
|
glance:
|
||||||
@@ -370,6 +379,7 @@ glance:
|
|||||||
- vulnerability:managed
|
- vulnerability:managed
|
||||||
- stable:follows-policy
|
- stable:follows-policy
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- mnaser
|
- mnaser
|
||||||
- njohnston
|
- njohnston
|
||||||
heat:
|
heat:
|
||||||
@@ -429,7 +439,8 @@ heat:
|
|||||||
tosca-parser:
|
tosca-parser:
|
||||||
repos:
|
repos:
|
||||||
- openstack/tosca-parser
|
- openstack/tosca-parser
|
||||||
liaisons: [ricolin, jungleboyj]
|
liaisons:
|
||||||
|
tc_members: [ricolin, jungleboyj]
|
||||||
horizon:
|
horizon:
|
||||||
ptl:
|
ptl:
|
||||||
name: Ivan Kolodyazhny
|
name: Ivan Kolodyazhny
|
||||||
@@ -549,6 +560,7 @@ horizon:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/xstatic-spin
|
- openstack/xstatic-spin
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- mnaser
|
- mnaser
|
||||||
- mugsie
|
- mugsie
|
||||||
ironic:
|
ironic:
|
||||||
@@ -656,6 +668,7 @@ ironic:
|
|||||||
email: jay@jvf.cc
|
email: jay@jvf.cc
|
||||||
expires-in: July 2019
|
expires-in: July 2019
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- mnaser
|
- mnaser
|
||||||
- knikolla
|
- knikolla
|
||||||
karbor:
|
karbor:
|
||||||
@@ -680,6 +693,7 @@ karbor:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/python-karborclient
|
- openstack/python-karborclient
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- mugsie
|
- mugsie
|
||||||
- belmoreira
|
- belmoreira
|
||||||
keystone:
|
keystone:
|
||||||
@@ -737,6 +751,7 @@ keystone:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/ldappool
|
- openstack/ldappool
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- mnaser
|
- mnaser
|
||||||
- knikolla
|
- knikolla
|
||||||
kolla:
|
kolla:
|
||||||
@@ -768,6 +783,7 @@ kolla:
|
|||||||
- openstack/kayobe-config
|
- openstack/kayobe-config
|
||||||
- openstack/kayobe-config-dev
|
- openstack/kayobe-config-dev
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- evrardjp
|
- evrardjp
|
||||||
- mugsie
|
- mugsie
|
||||||
kuryr:
|
kuryr:
|
||||||
@@ -797,6 +813,7 @@ kuryr:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/kuryr-tempest-plugin
|
- openstack/kuryr-tempest-plugin
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- belmoreira
|
- belmoreira
|
||||||
- njohnston
|
- njohnston
|
||||||
magnum:
|
magnum:
|
||||||
@@ -827,7 +844,8 @@ magnum:
|
|||||||
python-magnumclient:
|
python-magnumclient:
|
||||||
repos:
|
repos:
|
||||||
- openstack/python-magnumclient
|
- openstack/python-magnumclient
|
||||||
liaisons: [ricolin, belmoreira]
|
liaisons:
|
||||||
|
tc_members: [ricolin, belmoreira]
|
||||||
manila:
|
manila:
|
||||||
ptl:
|
ptl:
|
||||||
name: Goutham Pacha Ravi
|
name: Goutham Pacha Ravi
|
||||||
@@ -870,7 +888,8 @@ manila:
|
|||||||
python-manilaclient:
|
python-manilaclient:
|
||||||
repos:
|
repos:
|
||||||
- openstack/python-manilaclient
|
- openstack/python-manilaclient
|
||||||
liaisons: [gmann, cloudnull]
|
liaisons:
|
||||||
|
tc_members: [gmann, cloudnull]
|
||||||
masakari:
|
masakari:
|
||||||
ptl:
|
ptl:
|
||||||
name: Radosław Piliszek
|
name: Radosław Piliszek
|
||||||
@@ -902,6 +921,7 @@ masakari:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/masakari-dashboard
|
- openstack/masakari-dashboard
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- evrardjp
|
- evrardjp
|
||||||
- cloudnull
|
- cloudnull
|
||||||
mistral:
|
mistral:
|
||||||
@@ -940,7 +960,8 @@ mistral:
|
|||||||
mistral-extra:
|
mistral-extra:
|
||||||
repos:
|
repos:
|
||||||
- openstack/mistral-extra
|
- openstack/mistral-extra
|
||||||
liaisons: [ricolin, jungleboyj]
|
liaisons:
|
||||||
|
tc_members: [ricolin, jungleboyj]
|
||||||
monasca:
|
monasca:
|
||||||
ptl:
|
ptl:
|
||||||
name: Martin Chacon Piza
|
name: Martin Chacon Piza
|
||||||
@@ -1012,6 +1033,7 @@ monasca:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/monasca-kibana-plugin
|
- openstack/monasca-kibana-plugin
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- ricolin
|
- ricolin
|
||||||
- belmoreira
|
- belmoreira
|
||||||
murano:
|
murano:
|
||||||
@@ -1065,6 +1087,7 @@ murano:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/murano-tempest-plugin
|
- openstack/murano-tempest-plugin
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- cloudnull
|
- cloudnull
|
||||||
- njohnston
|
- njohnston
|
||||||
neutron:
|
neutron:
|
||||||
@@ -1164,7 +1187,8 @@ neutron:
|
|||||||
os-ken:
|
os-ken:
|
||||||
repos:
|
repos:
|
||||||
- openstack/os-ken
|
- openstack/os-ken
|
||||||
liaisons: [njohnston, mnaser]
|
liaisons:
|
||||||
|
tc_members: [njohnston, mnaser]
|
||||||
nova:
|
nova:
|
||||||
ptl:
|
ptl:
|
||||||
name: Balazs Gibizer
|
name: Balazs Gibizer
|
||||||
@@ -1204,7 +1228,8 @@ nova:
|
|||||||
os-vif:
|
os-vif:
|
||||||
repos:
|
repos:
|
||||||
- openstack/os-vif
|
- openstack/os-vif
|
||||||
liaisons: [gmann, cloudnull]
|
liaisons:
|
||||||
|
tc_members: [gmann, cloudnull]
|
||||||
octavia:
|
octavia:
|
||||||
ptl:
|
ptl:
|
||||||
name: APPOINTMENT NEEDED
|
name: APPOINTMENT NEEDED
|
||||||
@@ -1259,6 +1284,7 @@ octavia:
|
|||||||
tags:
|
tags:
|
||||||
- stable:follows-policy
|
- stable:follows-policy
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- cloudnull
|
- cloudnull
|
||||||
- mugsie
|
- mugsie
|
||||||
OpenStack Charms:
|
OpenStack Charms:
|
||||||
@@ -1786,6 +1812,7 @@ OpenStack Charms:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/charm-watcher-dashboard
|
- openstack/charm-watcher-dashboard
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- evrardjp
|
- evrardjp
|
||||||
- gmann
|
- gmann
|
||||||
openstack-chef:
|
openstack-chef:
|
||||||
@@ -1881,6 +1908,7 @@ openstack-chef:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/openstack-chef-specs
|
- openstack/openstack-chef-specs
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- njohnston
|
- njohnston
|
||||||
- ricolin
|
- ricolin
|
||||||
OpenStack-Helm:
|
OpenStack-Helm:
|
||||||
@@ -1926,6 +1954,7 @@ OpenStack-Helm:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/loci
|
- openstack/loci
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- evrardjp
|
- evrardjp
|
||||||
- njohnston
|
- njohnston
|
||||||
OpenStackAnsible:
|
OpenStackAnsible:
|
||||||
@@ -2020,6 +2049,7 @@ OpenStackAnsible:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/openstack-ansible-specs
|
- openstack/openstack-ansible-specs
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- evrardjp
|
- evrardjp
|
||||||
- knikolla
|
- knikolla
|
||||||
OpenStackSDK:
|
OpenStackSDK:
|
||||||
@@ -2075,7 +2105,8 @@ OpenStackSDK:
|
|||||||
- openstack/shade
|
- openstack/shade
|
||||||
tags:
|
tags:
|
||||||
- assert:follows-standard-deprecation
|
- assert:follows-standard-deprecation
|
||||||
liaisons: [diablo_rojo, cloudnull]
|
liaisons:
|
||||||
|
tc_members: [diablo_rojo, cloudnull]
|
||||||
oslo:
|
oslo:
|
||||||
ptl:
|
ptl:
|
||||||
name: APPOINTMENT NEEDED
|
name: APPOINTMENT NEEDED
|
||||||
@@ -2292,7 +2323,8 @@ oslo:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/whereto
|
- openstack/whereto
|
||||||
|
|
||||||
liaisons: [ricolin, belmoreira]
|
liaisons:
|
||||||
|
tc_members: [ricolin, belmoreira]
|
||||||
placement:
|
placement:
|
||||||
ptl:
|
ptl:
|
||||||
name: APPOINTMENT NEEDED
|
name: APPOINTMENT NEEDED
|
||||||
@@ -2324,6 +2356,7 @@ placement:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/os-resource-classes
|
- openstack/os-resource-classes
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- gmann
|
- gmann
|
||||||
- njohnston
|
- njohnston
|
||||||
Puppet OpenStack:
|
Puppet OpenStack:
|
||||||
@@ -2483,6 +2516,7 @@ Puppet OpenStack:
|
|||||||
- openstack/puppet-zaqar
|
- openstack/puppet-zaqar
|
||||||
|
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- evrardjp
|
- evrardjp
|
||||||
- ricolin
|
- ricolin
|
||||||
qinling:
|
qinling:
|
||||||
@@ -2508,6 +2542,7 @@ qinling:
|
|||||||
- openstack/qinling-dashboard
|
- openstack/qinling-dashboard
|
||||||
|
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- mugsie
|
- mugsie
|
||||||
- jungleboyj
|
- jungleboyj
|
||||||
Quality Assurance:
|
Quality Assurance:
|
||||||
@@ -2612,7 +2647,8 @@ Quality Assurance:
|
|||||||
release-management: none
|
release-management: none
|
||||||
repos:
|
repos:
|
||||||
- openstack/whitebox-tempest-plugin
|
- openstack/whitebox-tempest-plugin
|
||||||
liaisons: [gmann, jungleboyj]
|
liaisons:
|
||||||
|
tc_members: [gmann, jungleboyj]
|
||||||
rally:
|
rally:
|
||||||
ptl:
|
ptl:
|
||||||
name: Andrey Kurilin
|
name: Andrey Kurilin
|
||||||
@@ -2640,6 +2676,7 @@ rally:
|
|||||||
- openstack/performance-docs
|
- openstack/performance-docs
|
||||||
|
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- knikolla
|
- knikolla
|
||||||
- diablo_rojo
|
- diablo_rojo
|
||||||
Release Management:
|
Release Management:
|
||||||
@@ -2670,6 +2707,7 @@ Release Management:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/specs-cookiecutter
|
- openstack/specs-cookiecutter
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- diablo_rojo
|
- diablo_rojo
|
||||||
- evrardjp
|
- evrardjp
|
||||||
requirements:
|
requirements:
|
||||||
@@ -2689,6 +2727,7 @@ requirements:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/requirements
|
- openstack/requirements
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- diablo_rojo
|
- diablo_rojo
|
||||||
- belmoreira
|
- belmoreira
|
||||||
sahara:
|
sahara:
|
||||||
@@ -2792,6 +2831,7 @@ sahara:
|
|||||||
- openstack/sahara-specs
|
- openstack/sahara-specs
|
||||||
|
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- gmann
|
- gmann
|
||||||
- njohnston
|
- njohnston
|
||||||
searchlight:
|
searchlight:
|
||||||
@@ -2825,6 +2865,7 @@ searchlight:
|
|||||||
- openstack/searchlight-ui
|
- openstack/searchlight-ui
|
||||||
|
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- mugsie
|
- mugsie
|
||||||
- belmoreira
|
- belmoreira
|
||||||
senlin:
|
senlin:
|
||||||
@@ -2852,7 +2893,8 @@ senlin:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/senlin-tempest-plugin
|
- openstack/senlin-tempest-plugin
|
||||||
|
|
||||||
liaisons: [ricolin, mnaser]
|
liaisons:
|
||||||
|
tc_members: [ricolin, mnaser]
|
||||||
solum:
|
solum:
|
||||||
ptl:
|
ptl:
|
||||||
name: Rong Zhu
|
name: Rong Zhu
|
||||||
@@ -2884,6 +2926,7 @@ solum:
|
|||||||
- openstack/solum-tempest-plugin
|
- openstack/solum-tempest-plugin
|
||||||
|
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- jungleboyj
|
- jungleboyj
|
||||||
- belmoreira
|
- belmoreira
|
||||||
storlets:
|
storlets:
|
||||||
@@ -2904,6 +2947,7 @@ storlets:
|
|||||||
- openstack/storlets
|
- openstack/storlets
|
||||||
|
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- jungleboyj
|
- jungleboyj
|
||||||
- knikolla
|
- knikolla
|
||||||
swift:
|
swift:
|
||||||
@@ -2949,6 +2993,7 @@ swift:
|
|||||||
- openstack/swift-bench
|
- openstack/swift-bench
|
||||||
|
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- cloudnull
|
- cloudnull
|
||||||
- diablo_rojo
|
- diablo_rojo
|
||||||
tacker:
|
tacker:
|
||||||
@@ -2980,7 +3025,8 @@ tacker:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/tacker-specs
|
- openstack/tacker-specs
|
||||||
|
|
||||||
liaisons: [gmann, knikolla]
|
liaisons:
|
||||||
|
tc_members: [gmann, knikolla]
|
||||||
Telemetry:
|
Telemetry:
|
||||||
ptl:
|
ptl:
|
||||||
name: Matthias Runge
|
name: Matthias Runge
|
||||||
@@ -3031,6 +3077,7 @@ Telemetry:
|
|||||||
- openstack/telemetry-tempest-plugin
|
- openstack/telemetry-tempest-plugin
|
||||||
|
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- cloudnull
|
- cloudnull
|
||||||
- gmann
|
- gmann
|
||||||
|
|
||||||
@@ -3169,6 +3216,7 @@ tripleo:
|
|||||||
- openstack/tripleo-ha-utils
|
- openstack/tripleo-ha-utils
|
||||||
|
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- diablo_rojo
|
- diablo_rojo
|
||||||
- jungleboyj
|
- jungleboyj
|
||||||
trove:
|
trove:
|
||||||
@@ -3212,6 +3260,7 @@ trove:
|
|||||||
- openstack/trove-tempest-plugin
|
- openstack/trove-tempest-plugin
|
||||||
|
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- gmann
|
- gmann
|
||||||
- diablo_rojo
|
- diablo_rojo
|
||||||
vitrage:
|
vitrage:
|
||||||
@@ -3263,6 +3312,7 @@ vitrage:
|
|||||||
- openstack/xstatic-moment-timezone
|
- openstack/xstatic-moment-timezone
|
||||||
|
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- belmoreira
|
- belmoreira
|
||||||
- mugsie
|
- mugsie
|
||||||
watcher:
|
watcher:
|
||||||
@@ -3297,6 +3347,7 @@ watcher:
|
|||||||
- openstack/watcher-dashboard
|
- openstack/watcher-dashboard
|
||||||
|
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- mugsie
|
- mugsie
|
||||||
- mnaser
|
- mnaser
|
||||||
winstackers:
|
winstackers:
|
||||||
@@ -3329,6 +3380,7 @@ winstackers:
|
|||||||
- openstack/compute-hyperv
|
- openstack/compute-hyperv
|
||||||
|
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- mnaser
|
- mnaser
|
||||||
- jungleboyj
|
- jungleboyj
|
||||||
zaqar:
|
zaqar:
|
||||||
@@ -3368,7 +3420,8 @@ zaqar:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/zaqar-ui
|
- openstack/zaqar-ui
|
||||||
|
|
||||||
liaisons: [njohnston, evrardjp]
|
liaisons:
|
||||||
|
tc_members: [njohnston, evrardjp]
|
||||||
zun:
|
zun:
|
||||||
ptl:
|
ptl:
|
||||||
name: Feng Shengqin
|
name: Feng Shengqin
|
||||||
@@ -3394,5 +3447,6 @@ zun:
|
|||||||
repos:
|
repos:
|
||||||
- openstack/zun-ui
|
- openstack/zun-ui
|
||||||
liaisons:
|
liaisons:
|
||||||
|
tc_members:
|
||||||
- mugsie
|
- mugsie
|
||||||
- diablo_rojo
|
- diablo_rojo
|
||||||
|
|||||||
@@ -61,7 +61,8 @@ def main():
|
|||||||
|
|
||||||
if not args.replace_all:
|
if not args.replace_all:
|
||||||
for _, team in project_data.items():
|
for _, team in project_data.items():
|
||||||
for member in team.get('liaisons', []):
|
proj_liaisons = team.get('liaisons', {})
|
||||||
|
for member in proj_liaisons.get('tc_members', []):
|
||||||
member_counts.update({member: 1})
|
member_counts.update({member: 1})
|
||||||
|
|
||||||
choices = []
|
choices = []
|
||||||
@@ -71,9 +72,10 @@ def main():
|
|||||||
# person to a team twice.
|
# person to a team twice.
|
||||||
|
|
||||||
for name, team in project_data.items():
|
for name, team in project_data.items():
|
||||||
liaisons = team.get('liaisons', [])
|
proj_liaisons = team.get('liaisons', {})
|
||||||
|
liaisons = proj_liaisons.get('tc_members', [])
|
||||||
if args.remove_all:
|
if args.remove_all:
|
||||||
team['liaisons'] = []
|
team['liaisons']['tc_members'] = []
|
||||||
continue
|
continue
|
||||||
if args.replace_all:
|
if args.replace_all:
|
||||||
liaisons = []
|
liaisons = []
|
||||||
@@ -84,7 +86,7 @@ def main():
|
|||||||
choices.insert(0, next_choice)
|
choices.insert(0, next_choice)
|
||||||
next_choice = choices.pop()
|
next_choice = choices.pop()
|
||||||
liaisons.append(next_choice)
|
liaisons.append(next_choice)
|
||||||
team['liaisons'] = liaisons
|
team['liaisons']['tc_members'] = liaisons
|
||||||
|
|
||||||
projects.write_project_file(project_data, args.projects_file)
|
projects.write_project_file(project_data, args.projects_file)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user