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:
parent
d21ff30932
commit
c68c20e2e6
|
@ -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():
|
||||
|
|
|
@ -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),
|
||||
)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue