spotz | fungi - is there a way to pull a list of cores? Nithya Ruff is looking to put together a list of projects with women maintainers. I'd like to break out my response with our projects. I know OSA, Manila, Nova, refstack, and maybe Cinder but I definitely don't know all the cores in all the projects:( | 00:58 |
---|---|---|
spotz | storyboard too | 00:59 |
fungi | storyboard what too? | 01:01 |
fungi | but part of the challenge is defining "core reviewer" | 01:02 |
fungi | i wrote a little poc years ago which was used to populate the invites for the core reviewer party hp kept hosting: https://opendev.org/opendev/system-config/src/branch/master/tools/who-approves.py | 01:03 |
fungi | the premise was that you iterate over all official openstack deliverables, parse their gerrit acls, aggregate a list of any groups to whom approval rights are delegated on at least one branch, then ask gerrit for the transitive (because groups can include other groups) set of members for each of those and produce a deduplicated set | 01:04 |
fungi | that script is bitrotten at this point, acls need to be obtained in other ways and i don't know if modern gerrit versions will show you member lists for groups you're not in, that would need further testing | 01:05 |
spotz | fungi if you answered my qustion from last nighht I missed it. Lost scrollback | 13:01 |
fungi | spotz: i did... http://eavesdrop.openstack.org/irclogs/%23openinfra-diversity/%23openinfra-diversity.2021-05-18.log.html | 13:18 |
fungi | or at least i tried to, i don't know if what i said answers your question | 13:18 |
fungi | once we settle on an algorithm to define "core reviewers" (i assume you're just talking about openstack in this case, i don't know if other oip even use that term) the next trick will be querying the foundation profiles for anyone who has created one, and see if they've identified themselves with a gender there | 13:34 |
*** megheisler has quit IRC | 13:35 | |
fungi | there is a "gender" field returned in the api response there at least: https://openstackid-resources.openstack.org/api/public/v1/members?expand=groups,all_affiliations&relations=affiliations,groups&filter[]=email==fungi@yuggoth.org | 13:36 |
fungi | how many people actually put something there, i have no idea | 13:37 |
*** megheisler has joined #openinfra-diversity | 13:38 | |
fungi | the good news is the bitrot in that who-approves.py is mostly around acl mapping, we should be able to parse acl files directly out of openstack/project-config's gerrit/acls/ tree with the help of the gerrit/projects.yaml file there, instead of trying to retrieve the versions loaded into gerrit | 13:57 |
*** openstack has joined #openinfra-diversity | 14:07 | |
*** ChanServ sets mode: +o openstack | 14:08 | |
*** openstackstatus has joined #openinfra-diversity | 14:11 | |
*** ChanServ sets mode: +v openstackstatus | 14:11 | |
spotz | fungi not sure it's out on twitter:) | 15:51 |
fungi | ahh | 15:51 |
spotz | I asked if OpenStack cores counted as maintainers and if she'd like a list. I'm looking throughh the whole scroll back now | 15:53 |
fungi | yeah, to summarize, "core reviewer" is a nebulous term which doesn't clearly map to anything queryable, but if we can define it somehow in terms which match what we can query from the data we do have, then that's probably a list we could generate | 15:56 |
spotz | To some degree I can guess from the names and if I find one female I know for the project I can just move on. How would we run the who-approves script? | 15:56 |
fungi | with python | 15:56 |
* fungi isn't sure what you mean | 15:57 | |
spotz | I know we have the core groups for gerrit | 15:57 |
spotz | Will it run from my laptop or does it need to be on a specific server:) | 15:57 |
fungi | well, sort of. those aren't standardized | 15:57 |
fungi | the group names i mean | 15:57 |
spotz | Well that sinks!:) | 15:57 |
fungi | we don't have lists of "core reviewers" for openstack because it's not a clearly defined governance structure, it's just a convention | 15:58 |
fungi | a convention which some teams follow with greater consistency than others | 15:58 |
fungi | we do, however, have concrete information in the code review system on who is allowed to approve changes for projects, so if we can scope the question that way then it's something we could put together a list for | 15:59 |
fungi | as for what access the who-approves.py script needs, it can run anywhere with an internet connection which provides access to opendev's public gerrit server | 16:00 |
fungi | it needs the person running it to provide gerrit account credentials because the group members api method is only available through the authenticated api endpoint not the anonymous endpoint, but no special privileges are required for that api call so anyone with a gerrit account can do it | 16:01 |
fungi | however, as i mentioned, the script needs fixing to account for recent behavior changes from our gerrit upgrade | 16:02 |
spotz | Ok I'll download it and play with it when I get a chance. Shot #2 this afternoon:) | 16:02 |
fungi | it'll need a completely new means of figuring out the acls for projects, and i also recommend ripping out the part which obtains project lists from openstack/governance in favor of just a regex filter on project names (since everything in the openstack/ project namespace is part of openstack these days) | 16:04 |
fungi | oh, and the requests auth object needs to be switched from digest auth to basic auth now | 16:04 |
spotz | Bah! | 16:06 |
fungi | that's why i asked if there was a timeframe, i can work on fixing it up but probably not today | 16:06 |
fungi | that script ceased getting maintained once hp stopped throwing core reviewer parties at design summits | 16:07 |
spotz | fungi makes sense. You work on the script when you have time and I'll attack it from a more manual angle no rush cause I'm bust at work too | 16:09 |
spotz | I never got to go to a code reviewer party:( I missed all the cool stuff | 16:10 |
spotz | core not code | 16:10 |
fungi | well, technically core reviewers were also code reviewers | 16:10 |
fungi | at least some of them | 16:10 |
spotz | hehe | 16:12 |
fungi | honestly, i started skipping some of those parties toward the end. on the one hand it was nice of hp to want to recognize the hard work reviewers were putting in, and in general core reviewers tend to shoulder the bulk of the review burden, but it was also creating perverse incentives and the impression of an elite class of people within projects rather than just people who had volunteered to do | 16:13 |
fungi | a lot of otherwise thankless work | 16:13 |
fungi | there was some indication that a subset of community members were trying to get added as core reviewers just so they could go to those parties, which was really counter-productive | 16:15 |
spotz | Yeah that's not why you should do stuff:( | 16:15 |
spotz | But rewards/recognition for work is a good thing as well so it's a hard one to balance | 16:16 |
fungi | with project sprawl and the emergence of some single-vendor projects, there was added pressure on ptls of those to list their colleagues as core reviewers for reasons like that rather than because they were involved in the project at all | 16:17 |
spotz | I worked hard to get core:( | 16:18 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!