Stop hard coding core team member lists
All of the project json files had lists of the core review team members. Since this was originally written, gerrit has added a REST API and this information is available through that API. Get the info from there instead when we can. There are a few project files I didn't convert because the equivalent gerrit team wasn't immediately obvious. Change-Id: Ie7ae19d9a58a5148002676604fd6962ea1438786 Signed-off-by: Russell Bryant <rbryant@redhat.com>
This commit is contained in:
parent
8f5484e317
commit
dd0211ab85
@ -16,6 +16,10 @@ if [ -n "${GERRIT_USER}" ] ; then
|
|||||||
EXTRA_ARGS="-u ${GERRIT_USER}"
|
EXTRA_ARGS="-u ${GERRIT_USER}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -n "${GERRIT_PASS}" ] ; then
|
||||||
|
EXTRA_ARGS="-P ${GERRIT_PASS}"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -n "${GERRIT_KEY}" ] ; then
|
if [ -n "${GERRIT_KEY}" ] ; then
|
||||||
EXTRA_ARGS="${EXTRA_ARGS} -k ${GERRIT_KEY}"
|
EXTRA_ARGS="${EXTRA_ARGS} -k ${GERRIT_KEY}"
|
||||||
fi
|
fi
|
||||||
|
@ -4,10 +4,5 @@
|
|||||||
"subprojects": [
|
"subprojects": [
|
||||||
"stackforge/barbican"
|
"stackforge/barbican"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "barbican-core"
|
||||||
"dougmendizabal",
|
|
||||||
"woodster",
|
|
||||||
"reaperhulk",
|
|
||||||
"john.vrbanac"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -1 +1,8 @@
|
|||||||
{"name": "ceilometer", "subprojects": ["openstack/ceilometer", "openstack/python-ceilometerclient"], "core-team": ["jdanjou", "doug-hellmann", "chungg", "lianhao-lu", "asalkeld", "eglynn", "nijaba", "corvus", "ildikov", "nprivalova"]}
|
{
|
||||||
|
"name": "ceilometer",
|
||||||
|
"subprojects": [
|
||||||
|
"openstack/ceilometer",
|
||||||
|
"openstack/python-ceilometerclient"
|
||||||
|
],
|
||||||
|
"core-team-gerrit-group": "ceilometer-core"
|
||||||
|
}
|
||||||
|
@ -1 +1,9 @@
|
|||||||
{"name": "cinder", "subprojects": ["openstack/cinder", "openstack/python-cinderclient", "openstack/volume-api"], "core-team": ["john-griffith", "avishay-il", "zhiteng-huang", "eharney", "duncan-thomas", "thingee", "walter-boring", "jdurgin", "jsbryant"]}
|
{
|
||||||
|
"name": "cinder",
|
||||||
|
"subprojects": [
|
||||||
|
"openstack/cinder",
|
||||||
|
"openstack/python-cinderclient",
|
||||||
|
"openstack/volume-api"
|
||||||
|
],
|
||||||
|
"core-team-gerrit-group": "cinder-core"
|
||||||
|
}
|
||||||
|
@ -1,15 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "devstack",
|
"name": "devstack",
|
||||||
"subprojects": ["openstack-dev/devstack"],
|
"subprojects": ["openstack-dev/devstack"],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "devstack-core"
|
||||||
"sdague",
|
|
||||||
"dtroyer",
|
|
||||||
"garyk",
|
|
||||||
"danwent",
|
|
||||||
"anotherjesse",
|
|
||||||
"vishvananda",
|
|
||||||
"corvus",
|
|
||||||
"bcwaldon",
|
|
||||||
"termie"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -3,10 +3,5 @@
|
|||||||
"subprojects": [
|
"subprojects": [
|
||||||
"openstack/docs-specs"
|
"openstack/docs-specs"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "openstack-doc-specs-core"
|
||||||
"annegentle",
|
|
||||||
"bdpayne",
|
|
||||||
"jaegerandi",
|
|
||||||
"sroberts"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -7,21 +7,5 @@
|
|||||||
"openstack/openstack-doc-tools",
|
"openstack/openstack-doc-tools",
|
||||||
"openstack/openstackdocstheme"
|
"openstack/openstackdocstheme"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "openstack-doc-core"
|
||||||
"Alexander",
|
|
||||||
"annegentle",
|
|
||||||
"bdpayne",
|
|
||||||
"berendt",
|
|
||||||
"diane-fleming",
|
|
||||||
"fifieldt",
|
|
||||||
"gpocentek",
|
|
||||||
"ionosphere80",
|
|
||||||
"jaegerandi",
|
|
||||||
"loquacity",
|
|
||||||
"mzlatkova",
|
|
||||||
"Olga",
|
|
||||||
"sgordon",
|
|
||||||
"shillasaebi",
|
|
||||||
"slong"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -11,16 +11,5 @@
|
|||||||
"stackforge/fuel-ostf",
|
"stackforge/fuel-ostf",
|
||||||
"stackforge/fuel-provision"
|
"stackforge/fuel-provision"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "fuel-core"
|
||||||
"mihgen",
|
|
||||||
"NastyaUrlapova",
|
|
||||||
"evgeniyl",
|
|
||||||
"aleksey",
|
|
||||||
"r0mikiam",
|
|
||||||
"vkramskikh",
|
|
||||||
"aglarendil",
|
|
||||||
"dpyzhov",
|
|
||||||
"tatyana-leontovich",
|
|
||||||
"angdraug"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -1 +1,9 @@
|
|||||||
{"name": "glance", "subprojects": ["openstack/glance", "openstack/python-glanceclient", "openstack/image-api"], "core-team": ["markwash", "bcwaldon", "eglynn", "dan-prince", "flaper87", "alex-meade", "jbresnah", "iccha-sethi", "flwang", "lzy-dev"]}
|
{
|
||||||
|
"name": "glance",
|
||||||
|
"subprojects": [
|
||||||
|
"openstack/glance",
|
||||||
|
"openstack/python-glanceclient",
|
||||||
|
"openstack/image-api"
|
||||||
|
],
|
||||||
|
"core-team-gerrit-group": "glance-core"
|
||||||
|
}
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "grenade",
|
"name": "grenade",
|
||||||
"subprojects": ["openstack-dev/grenade"],
|
"subprojects": ["openstack-dev/grenade"],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "grenade-core"
|
||||||
"sdague",
|
|
||||||
"dtroyer"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -6,18 +6,5 @@
|
|||||||
"openstack/heat-cfntools",
|
"openstack/heat-cfntools",
|
||||||
"openstack/python-heatclient"
|
"openstack/python-heatclient"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "heat-core"
|
||||||
"asalkeld",
|
|
||||||
"huangtianhua",
|
|
||||||
"jbd",
|
|
||||||
"pshchelo",
|
|
||||||
"randall-burt",
|
|
||||||
"steve-stevebaker",
|
|
||||||
"shardy",
|
|
||||||
"skraynev",
|
|
||||||
"tengqm",
|
|
||||||
"therve",
|
|
||||||
"thomasspatzier",
|
|
||||||
"zaneb"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -4,18 +4,5 @@
|
|||||||
"openstack/horizon",
|
"openstack/horizon",
|
||||||
"openstack/tripleo-ui"
|
"openstack/tripleo-ui"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "horizon-core"
|
||||||
"akrivoka",
|
|
||||||
"amotoki",
|
|
||||||
"clu-m",
|
|
||||||
"david-lyle",
|
|
||||||
"jpichon",
|
|
||||||
"lin-hua-cheng",
|
|
||||||
"mrunge",
|
|
||||||
"niu-zglinux",
|
|
||||||
"thesheep",
|
|
||||||
"tmazur",
|
|
||||||
"tqtran",
|
|
||||||
"ttrifonov"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -115,12 +115,6 @@
|
|||||||
"openstack-infra/zuul",
|
"openstack-infra/zuul",
|
||||||
"openstack-infra/zuul-packaging",
|
"openstack-infra/zuul-packaging",
|
||||||
"openstack/openstack-planet"
|
"openstack/openstack-planet"
|
||||||
], "core-team": [
|
],
|
||||||
"cboylan",
|
"core-team-gerrit-group": "infra-core"
|
||||||
"corvus",
|
}
|
||||||
"fungi",
|
|
||||||
"jhesketh",
|
|
||||||
"lyz",
|
|
||||||
"mordred",
|
|
||||||
"slukjanov"
|
|
||||||
]}
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{"name": "ironic-discoverd", "subprojects": [
|
{
|
||||||
"stackforge/ironic-discoverd"
|
"name": "ironic-discoverd",
|
||||||
], "core-team": [
|
"subprojects": [
|
||||||
"lucasagomes",
|
"stackforge/ironic-discoverd"
|
||||||
"ifarkas",
|
],
|
||||||
"dtantsur"
|
"core-team-gerrit-group": "ironic-discoverd-core"
|
||||||
]}
|
}
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
{"name": "ironic-specs", "subprojects": [
|
{
|
||||||
"openstack/ironic-specs"
|
"name": "ironic-specs",
|
||||||
], "core-team": [
|
"subprojects": [
|
||||||
"devananda",
|
"openstack/ironic-specs"
|
||||||
"nobodycam",
|
],
|
||||||
"lucasagomes",
|
"core-team-gerrit-group": "ironic-specs-core"
|
||||||
"dtantsur",
|
}
|
||||||
"JayF",
|
|
||||||
"jimrollenhagen"
|
|
||||||
]}
|
|
||||||
|
@ -1,17 +1,9 @@
|
|||||||
{"name": "ironic", "subprojects": [
|
{
|
||||||
"openstack/ironic",
|
"name": "ironic",
|
||||||
"openstack/python-ironicclient",
|
"subprojects": [
|
||||||
"openstack/ironic-python-agent"
|
"openstack/ironic",
|
||||||
], "core-team": [
|
"openstack/python-ironicclient",
|
||||||
"devananda",
|
"openstack/ironic-python-agent"
|
||||||
"lucasagomes",
|
],
|
||||||
"nobodycam",
|
"core-team-gerrit-group": "ironic-core"
|
||||||
"JayF",
|
}
|
||||||
"jimrollenhagen",
|
|
||||||
"rloo",
|
|
||||||
"yuriyz",
|
|
||||||
"whaom",
|
|
||||||
"dtantsur",
|
|
||||||
"dshrews",
|
|
||||||
"JoshNang"
|
|
||||||
]}
|
|
||||||
|
@ -1,12 +1,7 @@
|
|||||||
{"name": "jjb", "subprojects": [
|
{
|
||||||
"openstack-infra/jenkins-job-builder"
|
"name": "jjb",
|
||||||
], "core-team": [
|
"subprojects": [
|
||||||
"arnaud.fabre",
|
"openstack-infra/jenkins-job-builder"
|
||||||
"cboylan",
|
],
|
||||||
"corvus",
|
"core-team-gerrit-group": "jenkins-job-builder-core"
|
||||||
"fungi",
|
}
|
||||||
"hashar",
|
|
||||||
"mgagne",
|
|
||||||
"mordred",
|
|
||||||
"zaro0508"
|
|
||||||
]}
|
|
||||||
|
@ -9,18 +9,6 @@
|
|||||||
"openstack/python-keystoneclient-kerberos",
|
"openstack/python-keystoneclient-kerberos",
|
||||||
"openstack/identity-api"
|
"openstack/identity-api"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "keystone-core"
|
||||||
"ayoung",
|
|
||||||
"blk-u",
|
|
||||||
"dolph",
|
|
||||||
"dstanek",
|
|
||||||
"guang-yee",
|
|
||||||
"henry-nash",
|
|
||||||
"jamielennox",
|
|
||||||
"ldbragst",
|
|
||||||
"marek-denis",
|
|
||||||
"mdrnstm",
|
|
||||||
"stevemar"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,9 +4,5 @@
|
|||||||
"subprojects": [
|
"subprojects": [
|
||||||
"stackforge/magnetodb"
|
"stackforge/magnetodb"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "magnetodb-core"
|
||||||
"isviridov",
|
|
||||||
"dukhlov",
|
|
||||||
"ikhudoshyn"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,5 @@
|
|||||||
"stackforge/mistral-extra",
|
"stackforge/mistral-extra",
|
||||||
"stackforge/python-mistralclient"
|
"stackforge/python-mistralclient"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "mistral-core"
|
||||||
"rakhmerov"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -9,11 +9,5 @@
|
|||||||
"stackforge/murano-docs",
|
"stackforge/murano-docs",
|
||||||
"stackforge/python-muranoclient"
|
"stackforge/python-muranoclient"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "murano-core"
|
||||||
"ativelkov",
|
|
||||||
"dteselkin",
|
|
||||||
"tsufiev",
|
|
||||||
"istalker2",
|
|
||||||
"ruhe"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -9,20 +9,5 @@
|
|||||||
"openstack/netconn-api",
|
"openstack/netconn-api",
|
||||||
"openstack/neutron-specs"
|
"openstack/neutron-specs"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "neutron-core"
|
||||||
"arosen",
|
|
||||||
"amotoki",
|
|
||||||
"armando-migliaccio",
|
|
||||||
"carl-baldwin",
|
|
||||||
"dougw",
|
|
||||||
"emagana",
|
|
||||||
"garyk",
|
|
||||||
"HenryG",
|
|
||||||
"kevinbenton",
|
|
||||||
"markmcclain",
|
|
||||||
"maru",
|
|
||||||
"mestery",
|
|
||||||
"obondarev",
|
|
||||||
"salvatore-orlando"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -3,12 +3,5 @@
|
|||||||
"subprojects": [
|
"subprojects": [
|
||||||
"openstack/nova-specs"
|
"openstack/nova-specs"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "nova-specs-core"
|
||||||
"alaski",
|
|
||||||
"berrange",
|
|
||||||
"danms",
|
|
||||||
"jogo",
|
|
||||||
"johngarbutt",
|
|
||||||
"mikalstill"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -6,21 +6,6 @@
|
|||||||
"openstack/python-novaclient",
|
"openstack/python-novaclient",
|
||||||
"openstack/compute-api"
|
"openstack/compute-api"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "nova-core",
|
||||||
"alaski",
|
|
||||||
"berrange",
|
|
||||||
"cerberus",
|
|
||||||
"danms",
|
|
||||||
"jaypipes",
|
|
||||||
"jogo",
|
|
||||||
"johngarbutt",
|
|
||||||
"klmitch",
|
|
||||||
"mikalstill",
|
|
||||||
"melwitt",
|
|
||||||
"mriedem",
|
|
||||||
"ndipanov",
|
|
||||||
"oomichi",
|
|
||||||
"sdague"
|
|
||||||
],
|
|
||||||
"lp_projects": ["nova", "python-novaclient"]
|
"lp_projects": ["nova", "python-novaclient"]
|
||||||
}
|
}
|
||||||
|
@ -22,16 +22,5 @@
|
|||||||
"openstack/taskflow",
|
"openstack/taskflow",
|
||||||
"openstack/requirements"
|
"openstack/requirements"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "oslo-core"
|
||||||
"bnemec",
|
|
||||||
"dims-v",
|
|
||||||
"doug-hellmann",
|
|
||||||
"flaper87",
|
|
||||||
"haypo",
|
|
||||||
"jdanjou",
|
|
||||||
"markmc",
|
|
||||||
"mikalstill",
|
|
||||||
"russellb",
|
|
||||||
"zyluo"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -3,15 +3,5 @@
|
|||||||
"subprojects": [
|
"subprojects": [
|
||||||
"openstack/oslo.messaging"
|
"openstack/oslo.messaging"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "oslo-messaging-core"
|
||||||
"bnemec",
|
|
||||||
"dims-v",
|
|
||||||
"doug-hellmann",
|
|
||||||
"flaper87",
|
|
||||||
"jdanjou",
|
|
||||||
"markmc",
|
|
||||||
"mikalstill",
|
|
||||||
"russellb",
|
|
||||||
"zyluo"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "qa-specs",
|
"name": "qa-specs",
|
||||||
"subprojects": ["openstack/qa-specs"],
|
"subprojects": ["openstack/qa-specs"],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "qa-specs-core"
|
||||||
"afazekas",
|
|
||||||
"cyeoh-0",
|
|
||||||
"andrea-frittoli",
|
|
||||||
"david-kranz",
|
|
||||||
"igawa",
|
|
||||||
"mkoderer",
|
|
||||||
"oomichi",
|
|
||||||
"treinish",
|
|
||||||
"sdague"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,8 @@
|
|||||||
{"name": "requirements", "subprojects": [
|
{
|
||||||
"openstack/requirements"
|
"name": "requirements",
|
||||||
], "core-team": [
|
"subprojects": [
|
||||||
"alex_gaynor",
|
"openstack/requirements"
|
||||||
"cboylan",
|
],
|
||||||
"corvus",
|
"core-team-gerrit-group": "requirements-core"
|
||||||
"dan-prince",
|
}
|
||||||
"davewalker",
|
|
||||||
"doug-hellmann",
|
|
||||||
"ewindisch",
|
|
||||||
"fungi",
|
|
||||||
"gabriel-hurley",
|
|
||||||
"ghe.rivero",
|
|
||||||
"heckj",
|
|
||||||
"jdanjou",
|
|
||||||
"markmc",
|
|
||||||
"markmcclain",
|
|
||||||
"mordred",
|
|
||||||
"sdague",
|
|
||||||
"slukjanov",
|
|
||||||
"ttx",
|
|
||||||
"zulcss"
|
|
||||||
]}
|
|
||||||
|
|
||||||
|
@ -4,8 +4,5 @@
|
|||||||
"subprojects": [
|
"subprojects": [
|
||||||
"stackforge/rubick"
|
"stackforge/rubick"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "rubick-core"
|
||||||
"mkulkin",
|
|
||||||
"gelbuhos"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -8,14 +8,5 @@
|
|||||||
"openstack/sahara-image-elements",
|
"openstack/sahara-image-elements",
|
||||||
"stackforge/puppet-sahara"
|
"stackforge/puppet-sahara"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "sahara-core"
|
||||||
"slukjanov",
|
|
||||||
"aignatov",
|
|
||||||
"farrellee",
|
|
||||||
"jspeidel",
|
|
||||||
"alazarev",
|
|
||||||
"tmckay",
|
|
||||||
"mimccune",
|
|
||||||
"sreshetniak"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -3,13 +3,5 @@
|
|||||||
"subprojects": [
|
"subprojects": [
|
||||||
"openstack/security-doc"
|
"openstack/security-doc"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "security-doc-core"
|
||||||
"annegentle",
|
|
||||||
"bdpayne",
|
|
||||||
"berendt",
|
|
||||||
"hyakuhei",
|
|
||||||
"jaegerandi",
|
|
||||||
"sicarie",
|
|
||||||
"nkinder"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -5,13 +5,5 @@
|
|||||||
"stackforge/solum",
|
"stackforge/solum",
|
||||||
"stackforge/python-solumclient"
|
"stackforge/python-solumclient"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "solum-core"
|
||||||
"aotto",
|
|
||||||
"lifeless",
|
|
||||||
"noorul",
|
|
||||||
"asalkeld",
|
|
||||||
"devdatta-kulkarni",
|
|
||||||
"gokrokve",
|
|
||||||
"julienvey"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -12,31 +12,5 @@
|
|||||||
"openstack/neutron",
|
"openstack/neutron",
|
||||||
"openstack/horizon"
|
"openstack/horizon"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "stable-maint-core"
|
||||||
"arosen",
|
|
||||||
"gandelman-a",
|
|
||||||
"apevec",
|
|
||||||
"zulcss",
|
|
||||||
"danms",
|
|
||||||
"davewalker",
|
|
||||||
"david-lyle",
|
|
||||||
"dolph",
|
|
||||||
"doug-hellmann",
|
|
||||||
"eglynn",
|
|
||||||
"flaper87",
|
|
||||||
"gabriel-hurley",
|
|
||||||
"john-griffith",
|
|
||||||
"jdanjou",
|
|
||||||
"markmc",
|
|
||||||
"markwash",
|
|
||||||
"treinish",
|
|
||||||
"mrunge",
|
|
||||||
"russellb",
|
|
||||||
"stevebaker",
|
|
||||||
"shardy",
|
|
||||||
"vishvananda",
|
|
||||||
"garyk",
|
|
||||||
"markmcclain",
|
|
||||||
"p-draigbrady"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -4,12 +4,5 @@
|
|||||||
"openstack-infra/storyboard",
|
"openstack-infra/storyboard",
|
||||||
"openstack-infra/storyboard-webclient"
|
"openstack-infra/storyboard-webclient"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "storyboard-core"
|
||||||
"ttx",
|
|
||||||
"cboylan",
|
|
||||||
"fungi",
|
|
||||||
"corvus",
|
|
||||||
"mordred",
|
|
||||||
"krotscheck"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -1 +1,9 @@
|
|||||||
{"name": "swift", "subprojects": ["openstack/swift", "openstack/python-swiftclient", "openstack/swift-bench"], "core-team": ["darrellb", "torgomatic", "notmyname", "clay-gerrard", "david-goetz", "redbo", "greglange", "zaitcev", "acoles", "peluse", "mattoliverau", "cschwede"]}
|
{
|
||||||
|
"name": "swift",
|
||||||
|
"subprojects": [
|
||||||
|
"openstack/swift",
|
||||||
|
"openstack/python-swiftclient",
|
||||||
|
"openstack/swift-bench"
|
||||||
|
],
|
||||||
|
"core-team-gerrit-group": "swift-core"
|
||||||
|
}
|
||||||
|
@ -3,12 +3,5 @@
|
|||||||
"subprojects": [
|
"subprojects": [
|
||||||
"openstack/taskflow"
|
"openstack/taskflow"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "taskflow-core"
|
||||||
"doug-hellmann",
|
|
||||||
"changbl",
|
|
||||||
"imelnikov",
|
|
||||||
"harlowja",
|
|
||||||
"pran1990",
|
|
||||||
"dankrause"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "tempest",
|
"name": "tempest",
|
||||||
"subprojects": ["openstack/tempest"],
|
"subprojects": ["openstack/tempest"],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "tempest-core"
|
||||||
"afazekas",
|
|
||||||
"cyeoh-0",
|
|
||||||
"andrea-frittoli",
|
|
||||||
"david-kranz",
|
|
||||||
"igawa",
|
|
||||||
"mkoderer",
|
|
||||||
"oomichi",
|
|
||||||
"treinish",
|
|
||||||
"sdague"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,5 @@
|
|||||||
"subprojects": [
|
"subprojects": [
|
||||||
"openstack/training-guides"
|
"openstack/training-guides"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "openstack-training-guides-core"
|
||||||
"colinmcnamara",
|
|
||||||
"dguitarbite",
|
|
||||||
"rluethi",
|
|
||||||
"matjazp",
|
|
||||||
"seanrob"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -15,29 +15,9 @@
|
|||||||
"openstack/tripleo-incubator",
|
"openstack/tripleo-incubator",
|
||||||
"openstack/tripleo-specs",
|
"openstack/tripleo-specs",
|
||||||
"openstack/tuskar"
|
"openstack/tuskar"
|
||||||
], "core-team": [
|
],
|
||||||
"bnemec",
|
"core-team-gerrit-group": "tripleo-core",
|
||||||
"clint-fewbar",
|
"lp_projects": [
|
||||||
"cmsj",
|
|
||||||
"derekh",
|
|
||||||
"dan-prince",
|
|
||||||
"ghe.rivero",
|
|
||||||
"greghaynes",
|
|
||||||
"jdob",
|
|
||||||
"jistr",
|
|
||||||
"jonpaul-sullivan",
|
|
||||||
"jprovazn",
|
|
||||||
"lsmola",
|
|
||||||
"lxsli",
|
|
||||||
"marios",
|
|
||||||
"mtaylor",
|
|
||||||
"pblaho",
|
|
||||||
"rdopieralski",
|
|
||||||
"slagle",
|
|
||||||
"stevenk",
|
|
||||||
"tchaypo",
|
|
||||||
"tomas-8c8"
|
|
||||||
], "lp_projects": [
|
|
||||||
"diskimage-builder",
|
"diskimage-builder",
|
||||||
"os-apply-config",
|
"os-apply-config",
|
||||||
"os-cloud-config",
|
"os-cloud-config",
|
||||||
|
@ -6,15 +6,5 @@
|
|||||||
"openstack/trove-specs",
|
"openstack/trove-specs",
|
||||||
"openstack/python-troveclient"
|
"openstack/python-troveclient"
|
||||||
],
|
],
|
||||||
"core-team": [
|
"core-team-gerrit-group": "trove-core"
|
||||||
"amcreynolds",
|
|
||||||
"amrith",
|
|
||||||
"cp16net",
|
|
||||||
"ekotowski",
|
|
||||||
"iccha-sethi",
|
|
||||||
"peterstac",
|
|
||||||
"slicknik",
|
|
||||||
"vipuls",
|
|
||||||
"vkmc"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -4,4 +4,5 @@ pbr>=0.5.21,<1.0
|
|||||||
prettytable
|
prettytable
|
||||||
Babel>=1.3
|
Babel>=1.3
|
||||||
pytz>=2010h
|
pytz>=2010h
|
||||||
|
requests>=2.2.0,!=2.4.0
|
||||||
six>=1.7.0
|
six>=1.7.0
|
||||||
|
@ -47,7 +47,7 @@ def set_defaults(reviewer, reviewers):
|
|||||||
reviewers[reviewer].setdefault('received', 0)
|
reviewers[reviewer].setdefault('received', 0)
|
||||||
|
|
||||||
|
|
||||||
def process_patchset(project, patchset, reviewers, ts):
|
def process_patchset(project, patchset, reviewers, ts, options):
|
||||||
latest_core_neg_vote = 0
|
latest_core_neg_vote = 0
|
||||||
latest_core_pos_vote = 0
|
latest_core_pos_vote = 0
|
||||||
|
|
||||||
@ -58,7 +58,8 @@ def process_patchset(project, patchset, reviewers, ts):
|
|||||||
# Only count code reviews. Don't add another for Approved, which
|
# Only count code reviews. Don't add another for Approved, which
|
||||||
# is type 'Approved' or 'Workflow'
|
# is type 'Approved' or 'Workflow'
|
||||||
continue
|
continue
|
||||||
core_team = utils.get_core_team(project)
|
core_team = utils.get_core_team(project, options.server, options.user,
|
||||||
|
options.password)
|
||||||
if review['by'].get('username', 'unknown') not in core_team:
|
if review['by'].get('username', 'unknown') not in core_team:
|
||||||
# Only checking for disagreements from core team members
|
# Only checking for disagreements from core team members
|
||||||
continue
|
continue
|
||||||
@ -170,7 +171,8 @@ def write_pretty(reviewer_data, file_obj, options, reviewers, projects,
|
|||||||
if num_reviewers else 0))
|
if num_reviewers else 0))
|
||||||
file_obj.write('Total reviews by core team: %d (%.1f/day)\n' % (
|
file_obj.write('Total reviews by core team: %d (%.1f/day)\n' % (
|
||||||
totals['core'], float(totals['core']) / options.days))
|
totals['core'], float(totals['core']) / options.days))
|
||||||
core_team_size = sum([len(utils.get_core_team(project))
|
core_team_size = sum([len(utils.get_core_team(project, options.server,
|
||||||
|
options.user, options.password))
|
||||||
for project in projects])
|
for project in projects])
|
||||||
file_obj.write('Core team size: %d (avg %.1f reviews/day)\n' % (
|
file_obj.write('Core team size: %d (avg %.1f reviews/day)\n' % (
|
||||||
core_team_size,
|
core_team_size,
|
||||||
@ -253,6 +255,9 @@ def main(argv=None):
|
|||||||
help='Number of days to consider')
|
help='Number of days to consider')
|
||||||
optparser.add_option(
|
optparser.add_option(
|
||||||
'-u', '--user', default=getpass.getuser(), help='gerrit user')
|
'-u', '--user', default=getpass.getuser(), help='gerrit user')
|
||||||
|
optparser.add_option(
|
||||||
|
'-P', '--password', default=getpass.getuser(),
|
||||||
|
help='gerrit HTTP password')
|
||||||
optparser.add_option(
|
optparser.add_option(
|
||||||
'-k', '--key', default=None, help='ssh key for gerrit')
|
'-k', '--key', default=None, help='ssh key for gerrit')
|
||||||
optparser.add_option(
|
optparser.add_option(
|
||||||
@ -297,7 +302,7 @@ def main(argv=None):
|
|||||||
patch_for_change = False
|
patch_for_change = False
|
||||||
first_patchset = True
|
first_patchset = True
|
||||||
for patchset in change.get('patchSets', []):
|
for patchset in change.get('patchSets', []):
|
||||||
process_patchset(project, patchset, reviewers, ts)
|
process_patchset(project, patchset, reviewers, ts, options)
|
||||||
age = utils.get_age_of_patch(patchset, now_ts)
|
age = utils.get_age_of_patch(patchset, now_ts)
|
||||||
if (now_ts - age) > ts:
|
if (now_ts - age) > ts:
|
||||||
change_stats['patches'] += 1
|
change_stats['patches'] += 1
|
||||||
@ -326,7 +331,8 @@ def main(argv=None):
|
|||||||
for k, v in reviewers:
|
for k, v in reviewers:
|
||||||
in_core_team = False
|
in_core_team = False
|
||||||
for project in projects:
|
for project in projects:
|
||||||
if v in utils.get_core_team(project):
|
if v in utils.get_core_team(project, options.server, options.user,
|
||||||
|
options.password):
|
||||||
in_core_team = True
|
in_core_team = True
|
||||||
break
|
break
|
||||||
name = '%s%s' % (v, ' **' if in_core_team else '')
|
name = '%s%s' % (v, ' **' if in_core_team else '')
|
||||||
|
@ -21,6 +21,8 @@ import glob
|
|||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import requests
|
||||||
|
import requests.auth
|
||||||
from six.moves import cPickle as pickle
|
from six.moves import cPickle as pickle
|
||||||
import time
|
import time
|
||||||
|
|
||||||
@ -297,5 +299,36 @@ def get_age_of_patch(patch, now_ts):
|
|||||||
return now_ts - patch['createdOn']
|
return now_ts - patch['createdOn']
|
||||||
|
|
||||||
|
|
||||||
def get_core_team(project):
|
TEAM_MEMBERS = {}
|
||||||
return project['core-team']
|
|
||||||
|
|
||||||
|
def get_team_members(team_name, server, user, pw):
|
||||||
|
global TEAM_MEMBERS
|
||||||
|
if team_name in TEAM_MEMBERS:
|
||||||
|
return TEAM_MEMBERS[team_name]
|
||||||
|
auth = requests.auth.HTTPDigestAuth(user, pw)
|
||||||
|
groups_request = requests.get('http://%s/a/groups/' % server, auth=auth)
|
||||||
|
if groups_request.status_code != 200:
|
||||||
|
raise Exception('Please provide your Gerrit HTTP Password.')
|
||||||
|
text = groups_request.text
|
||||||
|
teams = json.loads(text[text.find('{'):])
|
||||||
|
text = requests.get('http://%s/a/groups/%s/detail' % (server,
|
||||||
|
teams[team_name]['id']), auth=auth).text
|
||||||
|
team = json.loads(text[text.find('{'):])
|
||||||
|
members_list = [n['username'] for n in team['members']]
|
||||||
|
if 'hudson-openstack' in members_list:
|
||||||
|
# This is a review.openstack.org specific hack. This user is
|
||||||
|
# automatically included in core teams, but we don't want to include it
|
||||||
|
# in the stats.
|
||||||
|
members_list.remove('hudson-openstack')
|
||||||
|
TEAM_MEMBERS[team_name] = members_list
|
||||||
|
return members_list
|
||||||
|
|
||||||
|
|
||||||
|
def get_core_team(project, server, user, pw):
|
||||||
|
if 'core-team' in project:
|
||||||
|
return project['core-team']
|
||||||
|
if 'core-team-gerrit-group' in project:
|
||||||
|
return get_team_members(project['core-team-gerrit-group'],
|
||||||
|
server, user, pw)
|
||||||
|
return []
|
||||||
|
Loading…
Reference in New Issue
Block a user