Tuesday, 2021-05-18

spotzfungi - 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
spotzstoryboard too00:59
fungistoryboard what too?01:01
fungibut part of the challenge is defining "core reviewer"01:02
fungii 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.py01:03
fungithe 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 set01:04
fungithat 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 testing01:05
spotzfungi if you answered my qustion from last nighht I missed it. Lost scrollback13:01
fungispotz: i did... http://eavesdrop.openstack.org/irclogs/%23openinfra-diversity/%23openinfra-diversity.2021-05-18.log.html13:18
fungior at least i tried to, i don't know if what i said answers your question13:18
fungionce 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 there13:34
*** megheisler has quit IRC13:35
fungithere 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.org13:36
fungihow many people actually put something there, i have no idea13:37
*** megheisler has joined #openinfra-diversity13:38
fungithe 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 gerrit13:57
*** openstack has joined #openinfra-diversity14:07
*** ChanServ sets mode: +o openstack14:08
*** openstackstatus has joined #openinfra-diversity14:11
*** ChanServ sets mode: +v openstackstatus14:11
spotzfungi not sure it's out on twitter:)15:51
fungiahh15:51
spotzI asked if OpenStack cores counted as maintainers and if she'd like a list. I'm looking throughh the whole scroll back now15:53
fungiyeah, 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 generate15:56
spotzTo 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
fungiwith python15:56
* fungi isn't sure what you mean15:57
spotzI know we have the core groups for gerrit15:57
spotzWill it run from my laptop or does it need to be on a specific server:)15:57
fungiwell, sort of. those aren't standardized15:57
fungithe group names i mean15:57
spotzWell that sinks!:)15:57
fungiwe don't have lists of "core reviewers" for openstack because it's not a clearly defined governance structure, it's just a convention15:58
fungia convention which some teams follow with greater consistency than others15:58
fungiwe 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 for15:59
fungias 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 server16:00
fungiit 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 it16:01
fungihowever, as i mentioned, the script needs fixing to account for recent behavior changes from our gerrit upgrade16:02
spotzOk I'll download it and play with it when I get a chance. Shot #2 this afternoon:)16:02
fungiit'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
fungioh, and the requests auth object needs to be switched from digest auth to basic auth now16:04
spotzBah!16:06
fungithat's why i asked if there was a timeframe, i can work on fixing it up but probably not today16:06
fungithat script ceased getting maintained once hp stopped throwing core reviewer parties at design summits16:07
spotzfungi 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 too16:09
spotzI never got to go to a code reviewer party:( I missed all the cool stuff16:10
spotzcore not code16:10
fungiwell, technically core reviewers were also code reviewers16:10
fungiat least some of them16:10
spotzhehe16:12
fungihonestly, 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 do16:13
fungia lot of otherwise thankless work16:13
fungithere 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-productive16:15
spotzYeah that's not why you should do stuff:(16:15
spotzBut rewards/recognition for work is a good thing as well so it's a hard one to balance16:16
fungiwith 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 all16:17
spotzI 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/!