From 7fe63ce54d1cdd8c362589eb16170ba0077b6a05 Mon Sep 17 00:00:00 2001 From: Doug Hellmann Date: Wed, 13 Jan 2016 20:16:24 +0000 Subject: [PATCH] move extra-atcs into projects.yaml Having multiple file formats for data related to projects is resulting in duplicated tooling. Having the extra ATC members listed outside of projects.yaml is also allowing us to have different team names in the 2 files, which leads to other errors. Move the extra-atcs into projects.yaml and update the rendering code to use the data from the new location. Change-Id: I9857af4caf23c18ff7e39cdfbf27330f53f31135 --- doc/source/_exts/atcs.py | 36 +++--- reference/extra-atcs | 114 ------------------ reference/projects.yaml | 253 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 268 insertions(+), 135 deletions(-) delete mode 100644 reference/extra-atcs diff --git a/doc/source/_exts/atcs.py b/doc/source/_exts/atcs.py index 5a4eae915..34f84ca03 100644 --- a/doc/source/_exts/atcs.py +++ b/doc/source/_exts/atcs.py @@ -13,6 +13,7 @@ """Show information about extra ATCs managed in this repo. """ +import operator import os import re @@ -23,7 +24,7 @@ from docutils.parsers.rst.directives.tables import Table from docutils.statemachine import ViewList from sphinx.util.nodes import nested_parse_with_titles -_atcs_by_project = {} +import projects class ExtraATCsTable(Table): @@ -34,7 +35,7 @@ class ExtraATCsTable(Table): HEADER_MAP = { 'Full Name': 'name', 'Email': 'email', - 'Expires In': 'expires_in', + 'Expires In': 'expires-in', } option_spec = {'class': directives.class_option, @@ -68,12 +69,23 @@ class ExtraATCsTable(Table): ) return [error] - project_members = _atcs_by_project.get(project, []) + all_teams = projects.get_project_data() + try: + team_data = all_teams[project] + except KeyError: + raise ValueError('No project %r in projects.yaml' % (project,)) + project_members = team_data.get('extra-atcs', []) # If we have no extra ATCs, skip building the table. if not project_members: return [] + # Sort the project_members by name + project_members = sorted( + project_members, + key=operator.itemgetter('name'), + ) + table_node = self.build_table(project_members, col_widths) table_node['classes'] += self.options.get('class', []) self.add_name(table_node) @@ -129,24 +141,6 @@ class ExtraATCsTable(Table): _PATTERN = re.compile('(?P.+):\s+(?P.+)\s\((?P.+)\)\s\[(?P.*)\]') -def _build_atcs_by_project(app): - filename = os.path.abspath('reference/extra-atcs') - with open(filename, 'r') as f: - for linum, line in enumerate(f, 1): - line = line.strip() - if not line or line.startswith('#'): - continue - m = _PATTERN.match(line) - if not m: - app.warn('Could not parse line %d of %s: %r' % - (linum, filename, line)) - continue - info = m.groupdict() - project = info['project'] - _atcs_by_project.setdefault(project, []).append(info) - - def setup(app): app.info('loading atcs extension') app.add_directive('extraatcstable', ExtraATCsTable) - _build_atcs_by_project(app) diff --git a/reference/extra-atcs b/reference/extra-atcs deleted file mode 100644 index b2e78ef36..000000000 --- a/reference/extra-atcs +++ /dev/null @@ -1,114 +0,0 @@ -# Project: Full name (email) [expires in] -Horizon: Jaromir Coufal (jcoufal@redhat.com) [September 2015] -Horizon: Liz Blanchard (lsurette@redhat.com) [September 2015] -Horizon: Piet Kruithof (pieter.c.kruithof-jr@hp.com) [February 2016] -Keystone: David Chadwick (d.w.chadwick@kent.ac.uk) [December 2015] -Ceilometer: Edouard Thuleau (edouard.thuleau@cloudwatt.com) [September 2015] -Ceilometer: Jordan Pittier (jordan.pittier@cloudwatt.com) [September 2015] -Neutron: Cathy Hong Zhang (cathy.h.zhang@huawei.com) [February 2016] -OpenStack UX: Piet Kruithof (pkruithofjr@gmail.com) [September 2016] -OpenStack UX: Eric Peterson (eric.peterson1@twcable.com) [September 2016] -OpenStack UX: Ju Lim (julim@redhat.com) [September 2016] -OpenStack UX: Michael Hinnant (michael.hinnant@hp.com) [September 2016] - -# Entries below here automatically generated based on co-authored-by - -# Nova project -# (Repos for Nova are openstack/nova, openstack/python-novaclient) - -Nova: Bogdan Teleaga (bteleaga@cloudbasesolutions.com) [September 2015] -# Foundation profile: 20147 -Nova: Mouhammad-Nashwan Azhari (nmouhammad@cloudbasesolutions.com) [September 2015] -# Foundation profile: 20156 -Nova: Pablo Fernando Cargnelutti (pablo.fernando.cargnelutti@intel.com) [September 2015] -# Primary author in: openstack/ironic -Nova: Fengqian Gao (fengqian.gao@intel.com) [September 2015] -# Primary author in: openstack/sahara, openstack/ceilometer, openstack/horizon, openstack/ironic, openstack/nova, openstack/zaqar -Nova: Sushma Korati (sushma_korati@persistent.co.in) [September 2015] -# Foundation profile: 5964 -Nova: Dmitry Tantsur (dtantsur@redhat.com) [September 2015] -# Primary author in: openstack/horizon, openstack/ironic, openstack/python-ironicclient -Nova: Maithem (munshedm@vmware.com) [September 2015] -# Primary author in: openstack/python-glanceclient, openstack/nova -Nova: Ian Wells (iawells@cisco.com) [September 2015] -# Primary author in: openstack/nova -Nova: Shawn Hartsock (hartsocks@acm.org) [September 2015] -# Foundation profile: 10853 -Nova: Cyril Roelandt (cyril.roelandt@enovance.com) [September 2015] -# Primary author in: openstack/python-glanceclient, openstack/python-neutronclient, openstack/python-tuskarclient, openstack/python-saharaclient, openstack/api-site, openstack/ceilometer, openstack/python-ceilometerclient, openstack/python-keystoneclient, openstack/horizon, openstack/python-heatclient, openstack/nova, openstack/python-novaclient, openstack/trove, openstack/python-troveclient -Nova: Ionut Balutoiu (ibalutoiu@cloudbasesolutions.com) [September 2015] -# Foundation profile: 20081 -Nova: Ryan Moe (rmoe@mirantis.com) [September 2015] -# Foundation profile: 13294 -Nova: Lucas Alvares Gomes (lucasagomes@gmail.com) [September 2015] -# Primary author in: openstack/cinder, openstack/ironic, openstack/python-ironicclient, openstack/nova -Nova: Navneet Kumar (navneetk@thoughtworks.com) [September 2015] -# Primary author in: openstack/nova -Nova: Zsolt Dudas (zdudas@cloudbasesolutions.com) [September 2015] -# Foundation profile: 14692 or 16553 (both same employer referenced) -Nova: Anuj Mathur (anujm@thoughtworks.com) [September 2015] -# Foundation profile: 9221 -Nova: Chenchong Qin (qinchenchong@gmail.com) [September 2015] -# Primary author in: openstack/zaqar -Nova: Thomas Kaergel (kaergel@b1-systems.de) [September 2015] -# Foundation profile: 19424 -Nova: Ryo Kurahashi (kurahashi-rxa@necst.nec.co.jp) [September 2015] -# Primary author in: openstack/ironic -Nova: Adam Gandelman (adamg@ubuntu.com) [September 2015] -# Primary author in: openstack/ironic, openstack/python-ironicclient -Nova: Andres Buraschi (andres.buraschi@intel.com) [September 2015] -# Primary author in: openstack/python-neutronclient, openstack/horizon -Nova: Claxton Correya (claxton@gmail.com) [September 2015] -# Primary author in: openstack/nova - -Documentation: Beth Cohen (beth.cohen@verizon.com) [September 2015] -Documentation: Egle Sigler (ushnishtha@hotmail.com) [September 2015] -Documentation: Kevin Jackson (Kevin.Jackson@rackspace.co.uk) [September 2015] -Documentation: Scott Lowe (slowe@vmware.com) [September 2015] -Documentation: Sean Winn (sean.winn@cloudscaling.com) [September 2015] -Documentation: Vinny Valdez (vvaldez@redhat.com) [September 2015] - -Release Cycle Management: Chuck Short (chuck.short@canonical.com) [January 2016] - -Quality Assurance: Scott Moser (smoser@ubuntu.com) [May 2016] - -# OpenStack I18n Team -# Temporarily add I18n ATCs there -# Chinese(China) -I18n: Ying Chun Guo (guoyingc@cn.ibm.com) [January 2016] -I18n: Jian Sheng Li (lijiangsheng1@gmail.com) [January 2016] -I18n: Yan Ran Zhou (coffee.zyr@gmail.com) [January 2016] -I18n: Qiu Lin Chen (chenqioulin_1983@163.com) [January 2016] -I18n: Jun Peng Liu (liujunpeng@inspur.com) [January 2016] -I18n: Zhe Ma (blkart.org@gmail.com) [January 2016] -I18n: Hai Feng Yan (yanheven@qq.com) [January 2016] -# French -I18n: Maxime Coquerel (max.coquerel@gmail.com) [January 2016] -I18n: Francois Bureau (bureaufrancois@gmail.com) [January 2016] -I18n: Corinne Verheyde (bureaufrancois@gmail.com) [January 2016] -I18n: Jean-Francois Taltavull (jftalta@gmail.com) [January 2016] -I18n: Gael Rehault (gael01@gmail.com) [January 2016] -# Russian -I18n: Nikita Burtsev (nikita.burtsev@gmail.com) [January 2016] -I18n: Ilya Alekseyev (ilyaalekseyev@acm.org) [January 2016] -I18n: Ainur Shakirov (shakirov.aynur@cg.ru) [January 2016] -# Japanese -I18n: Tomoyuki Kato (kato.tomoyuki@jp.fujitsu.com) [January 2016] -I18n: Yuko Katabami (ykatabam@redhat.com ) [January 2016] -I18n: Shu Muto (shu-mutou@rf.jp.nec.com) [January 2016] -I18n: Kyohei Moriyama (flogofrein@gmail.com) [January 2016] -I18n: Mie Yamamoto (myamamot@redhat.com) [January 2016] -I18n: Akihiro Motoki (amotoki@gmail.com) [January 2016] -# Korean -I18n: Ian Y. Choi (ianyrchoi@gmail.com) [January 2016] -I18n: Sungjin Kang (gang.sungjin@gmail.com) [January 2016] -I18n: Kiseok Kim (kiseok7@gmail.com) [January 2016] -# Spanish -I18n: Heleno Jimenez (heleno.jimenez@gmail.com) [January 2016] -I18n: Pablo Iranzo (Pablo.Iranzo@gmail.com) [January 2016] -I18n: Marian Tort (marian.tort@gmail.com) [January 2016] -# German -I18n: Robert Simai (robert.simai@suse.com) [January 2016] -I18n: Frank Kloeker (f.kloeker@telekom.de) [January 2016] -# Hindi -I18n: Chandan Kumar (chkumar@redhat.com) [January 2016] diff --git a/reference/projects.yaml b/reference/projects.yaml index 27445354a..a1108a2f9 100644 --- a/reference/projects.yaml +++ b/reference/projects.yaml @@ -503,6 +503,25 @@ Documentation: - openstack/training-guides tags: - release:none + extra-atcs: + - name: Beth Cohen + email: beth.cohen@verizon.com + expires-in: September 2015 + - name: Egle Sigler + email: ushnishtha@hotmail.com + expires-in: September 2015 + - name: Kevin Jackson + email: Kevin.Jackson@rackspace.co.uk + expires-in: September 2015 + - name: Scott Lowe + email: slowe@vmware.com + expires-in: September 2015 + - name: Sean Winn + email: sean.winn@cloudscaling.com + expires-in: September 2015 + - name: Vinny Valdez + email: vvaldez@redhat.com + expires-in: September 2015 freezer: ptl: @@ -880,6 +899,16 @@ horizon: - openstack/xstatic-spin tags: - release:independent + extra-atcs: + - name: Jaromir Coufal + email: jcoufal@redhat.com + expires-in: September 2015 + - name: Liz Blanchard + email: lsurette@redhat.com + expires-in: September 2015 + - name: Piet Kruithof + email: pieter.c.kruithof-jr@hp.com + expires-in: February 2016 I18n: ptl: @@ -896,6 +925,127 @@ I18n: - openstack/i18n tags: - release:none + extra-atcs: + - name: Ying Chun Guo + email: guoyingc@cn.ibm.com + expires-in: January 2016 + comment: Chinese(China) + - name: Jian Sheng Li + email: lijiangsheng1@gmail.com + expires-in: January 2016 + comment: Chinese(China) + - name: Yan Ran Zhou + email: coffee.zyr@gmail.com + expires-in: January 2016 + comment: Chinese(China) + - name: Qiu Lin Chen + email: chenqioulin_1983@163.com + expires-in: January 2016 + comment: Chinese(China) + - name: Jun Peng Liu + email: liujunpeng@inspur.com + expires-in: January 2016 + comment: Chinese(China) + - name: Zhe Ma + email: blkart.org@gmail.com + expires-in: January 2016 + comment: Chinese(China) + - name: Hai Feng Yan + email: yanheven@qq.com + expires-in: January 2016 + comment: Chinese(China) + - name: Maxime Coquerel + email: max.coquerel@gmail.com + expires-in: January 2016 + comment: French + - name: Francois Bureau + email: bureaufrancois@gmail.com + expires-in: January 2016 + comment: French + - name: Corinne Verheyde + email: bureaufrancois@gmail.com + expires-in: January 2016 + comment: French + - name: Jean-Francois Taltavull + email: jftalta@gmail.com + expires-in: January 2016 + comment: French + - name: Gael Rehault + email: gael01@gmail.com + expires-in: January 2016 + comment: French + - name: Nikita Burtsev + email: nikita.burtsev@gmail.com + expires-in: January 2016 + comment: Russian + - name: Ilya Alekseyev + email: ilyaalekseyev@acm.org + expires-in: January 2016 + comment: Russian + - name: Ainur Shakirov + email: shakirov.aynur@cg.ru + expires-in: January 2016 + comment: Russian + - name: Tomoyuki Kato + email: kato.tomoyuki@jp.fujitsu.com + expires-in: January 2016 + comment: Japanese + - name: Yuko Katabami + email: ykatabam@redhat.com + expires-in: January 2016 + comment: Japanese + - name: Shu Muto + email: shu-mutou@rf.jp.nec.com + expires-in: January 2016 + comment: Japanese + - name: Kyohei Moriyama + email: flogofrein@gmail.com + expires-in: January 2016 + comment: Japanese + - name: Mie Yamamoto + email: myamamot@redhat.com + expires-in: January 2016 + comment: Japanese + - name: Akihiro Motoki + email: amotoki@gmail.com + expires-in: January 2016 + comment: Japanese + - name: Ian Y. Choi + email: ianyrchoi@gmail.com + expires-in: January 2016 + comment: Korean + - name: Sungjin Kang + email: gang.sungjin@gmail.com + expires-in: January 2016 + comment: Korean + - name: Kiseok Kim + email: kiseok7@gmail.com + expires-in: January 2016 + comment: Korean + - name: Heleno Jimenez + email: heleno.jimenez@gmail.com + expires-in: January 2016 + comment: Spanish + - name: Pablo Iranzo + email: Pablo.Iranzo@gmail.com + expires-in: January 2016 + comment: Spanish + - name: Marian Tort + email: marian.tort@gmail.com + expires-in: January 2016 + comment: Spanish + - name: Robert Simai + email: robert.simai@suse.com + expires-in: January 2016 + comment: German + - name: Frank Kloeker + email: f.kloeker@telekom.de + expires-in: January 2016 + comment: German + - name: Chandan Kumar + email: chkumar@redhat.com + expires-in: January 2016 + comment: Hindi Infrastructure: ptl: @@ -1757,6 +1907,10 @@ keystone: tags: - release:independent - type:library + extra-atcs: + - name: David Chadwick + email: d.w.chadwick@kent.ac.uk + expires-in: December 2015 kolla: ptl: @@ -2223,6 +2377,10 @@ neutron: tags: - release:cycle-with-milestones - release:has-stable-branches + extra-atcs: + - name: Cathy Hong Zhang + email: cathy.h.zhang@huawei.com + expires-in: February 2016 nova: ptl: @@ -2274,6 +2432,73 @@ nova: - release:cycle-with-intermediary - release:has-stable-branches - type:library + extra-atcs: + - name: Bogdan Teleaga + email: bteleaga@cloudbasesolutions.com + expires-in: September 2015 + - name: Mouhammad-Nashwan Azhari + email: nmouhammad@cloudbasesolutions.com + expires-in: September 2015 + - name: Pablo Fernando Cargnelutti + email: pablo.fernando.cargnelutti@intel.com + expires-in: September 2015 + - name: Fengqian Gao + email: fengqian.gao@intel.com + expires-in: September 2015 + - name: Sushma Korati + email: sushma_korati@persistent.co.in + expires-in: September 2015 + - name: Dmitry Tantsur + email: dtantsur@redhat.com + expires-in: September 2015 + - name: Maithem + email: munshedm@vmware.com + expires-in: September 2015 + - name: Ian Wells + email: iawells@cisco.com + expires-in: September 2015 + - name: Shawn Hartsock + email: hartsocks@acm.org + expires-in: September 2015 + - name: Cyril Roelandt + email: cyril.roelandt@enovance.com + expires-in: September 2015 + - name: Ionut Balutoiu + email: ibalutoiu@cloudbasesolutions.com + expires-in: September 2015 + - name: Ryan Moe + email: rmoe@mirantis.com + expires-in: September 2015 + - name: Lucas Alvares Gomes + email: lucasagomes@gmail.com + expires-in: September 2015 + - name: Navneet Kumar + email: navneetk@thoughtworks.com + expires-in: September 2015 + - name: Zsolt Dudas + email: zdudas@cloudbasesolutions.com + expires-in: September 2015 + - name: Anuj Mathur + email: anujm@thoughtworks.com + expires-in: September 2015 + - name: Chenchong Qin + email: qinchenchong@gmail.com + expires-in: September 2015 + - name: Thomas Kaergel + email: kaergel@b1-systems.de + expires-in: September 2015 + - name: Ryo Kurahashi + email: kurahashi-rxa@necst.nec.co.jp + expires-in: September 2015 + - name: Adam Gandelman + email: adamg@ubuntu.com + expires-in: September 2015 + - name: Andres Buraschi + email: andres.buraschi@intel.com + expires-in: September 2015 + - name: Claxton Correya + email: claxton@gmail.com + expires-in: September 2015 OpenStack client: ptl: @@ -2329,6 +2554,19 @@ OpenStack UX: - openstack/openstack-ux tags: - release:none + extra-atcs: + - name: Piet Kruithof + email: pkruithofjr@gmail.com + expires-in: September 2016 + - name: Eric Peterson + email: eric.peterson1@twcable.com + expires-in: September 2016 + - name: Ju Lim + email: julim@redhat.com + expires-in: September 2016 + - name: Michael Hinnant + email: michael.hinnant@hp.com + expires-in: September 2016 OpenStackAnsible: ptl: @@ -3159,6 +3397,10 @@ Quality Assurance: tags: - release:independent - type:library + extra-atcs: + - name: Scott Moser + email: smoser@ubuntu.com + expires-in: May 2016 rally: ptl: @@ -3248,6 +3490,10 @@ Release Management: - openstack-dev/specs-cookiecutter tags: - release:none + extra-atcs: + - name: Chuck Short + email: chuck.short@canonical.com + expires-in: January 2016 sahara: ptl: @@ -3561,6 +3807,13 @@ Telemetry: tags: - type:library - release:independent + extra-atcs: + - name: Edouard Thuleau + email: edouard.thuleau@cloudwatt.com + expires-in: September 2015 + - name: Jordan Pittier + email: jordan.pittier@cloudwatt.com + expires-in: September 2015 tripleo: ptl: