add teams for SIGs and Board

Update the governance data with information about the SIGs and board
working groups.

Change-Id: I00b7d9eb42c859e9e465f67f250f24e15298e6f0
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
Doug Hellmann 2018-08-30 17:13:25 -04:00
parent d21ff30932
commit c68c20e2e6
2 changed files with 63 additions and 3 deletions

View File

@ -21,13 +21,19 @@ from goal_tools import apis
PROJECTS_LIST = "http://git.openstack.org/cgit/openstack/governance/plain/reference/projects.yaml" # noqa
TC_LIST = "http://git.openstack.org/cgit/openstack/governance/plain/reference/technical-committee-repos.yaml" # noqa
SIGS_LIST = "http://git.openstack.org/cgit/openstack/governance/plain/reference/sigs-repos.yaml" # noqa
class Governance:
def __init__(self, team_data=None, url=PROJECTS_LIST, tc_url=TC_LIST):
def __init__(self,
team_data=None,
url=PROJECTS_LIST,
tc_url=TC_LIST,
sigs_url=SIGS_LIST):
self._url = url
self._tc_url = tc_url
self._sigs_url = sigs_url
if team_data is None:
team_data = self._get_team_data()
self._team_data = team_data
@ -38,10 +44,12 @@ class Governance:
team_data = yaml.load(raw.text)
tc = apis.requester(self._tc_url)
tc_data = yaml.load(tc.text)
return self._organize_team_data(team_data, tc_data)
sigs = apis.requester(self._sigs_url)
sigs_data = yaml.load(sigs.text)
return self._organize_team_data(team_data, tc_data, sigs_data)
@staticmethod
def _organize_team_data(team_data, tc_data):
def _organize_team_data(team_data, tc_data, sigs_data):
team_data['Technical Committee'] = {
'deliverables': {
repo['repo'].partition('/')[-1]: {'repos': [repo['repo']]}
@ -49,6 +57,37 @@ class Governance:
}
}
# Treat all SIGs as one team for simplicity.
team_data['SIGs'] = {
'deliverables': {
name: {
'repos': [r['repo'] for r in data],
}
for name, data in sigs_data.items()
},
}
# Board working groups. Inline the data because there isn't a
# lot and we don't want to wait for
# https://review.openstack.org/598350
team_data['Board'] = {
'deliverables': {
'interop': {
'repos': [
'openstack/interop',
'openstack/refstack-client',
'openstack/refstack',
'openstack/python-tempestconf',
],
},
'transparency': {
'repos': [
'openstack/transparency-policy',
],
},
},
}
by_repos = {}
for team, info in team_data.items():
for dname, dinfo in info.get('deliverables', {}).items():

View File

@ -59,9 +59,30 @@ Release Management:
- openstack-dev/specs-cookiecutter
"""
_sigs_data_yaml = """
---
# List of repositories owned by SIGs
meta:
- repo: openstack/governance-sigs
security:
- repo: openstack/anchor
- repo: openstack/ossa
- repo: openstack/security-analysis
- repo: openstack/security-doc
- repo: openstack/security-specs
- repo: openstack/syntribos
- repo: openstack/syntribos-openstack-templates
- repo: openstack/syntribos-payloads
self-healing:
- repo: openstack/self-healing-sig
operations-docs:
- repo: openstack/operations-guide
"""
TEAM_DATA = governance.Governance._organize_team_data(
yaml.load(_team_data_yaml),
{'Technical Committee': [{'repo': 'openstack/governance'}]},
yaml.load(_sigs_data_yaml),
)