[OpenStack-Infra] Discussion about scalable election tools

Elizabeth K. Joseph lyz at princessleia.com
Fri May 22 17:51:12 UTC 2015

On Wed, Apr 22, 2015 at 4:38 PM, Matthew Treinish <mtreinish at kortar.org> wrote:
> On Fri, Apr 03, 2015 at 02:35:13PM -0400, Matthew Treinish wrote:
>> On Fri, Apr 03, 2015 at 01:15:28PM -0400, Anita Kuno wrote:
>> > Problem Statement: OpenStack is growing, the election tools we use for
>> > gathering nominations and communicating status of nominations, the
>> > current workflow can be found on this wikipage:
>> > https://wiki.openstack.org/wiki/Election_Officiating_Guidelines is
>> > unable to be accessed by election officials and the electorate in a
>> > clear way. The process we use for actually conducting the polls is fine.
>> > We need to discuss and agree on a new workflow for posting
>> > self-nominations and platforms for elections.
>> >
>> > Does anyone have  input on tools that we might use to meet these
>> > requirements for self nomination and platform management in elections?
>> > Requirements:
>> > * archivable
>> > * public
>> > * unable to be edited once posted
>> > * clear differentiation between governed and ungoverned elections
>> > * candidates can self-nominate
>> > * low barrier to entry for tools, candidates shouldn't be restricted due
>> > to lack of knowledge of tools
>> Well, doesn't the ML actually meet all of these requirements, except for having
>> the distinction between governed and ungoverned elections. Maybe we should just
>> build some tooling that watches the ML for posts with a certain subject (like
>> what you and the other election officials are currently manually enforcing) and
>> check whether the project election is governed or not, updates a wiki, etc. I
>> don't think a little bot to do that would be that difficult to write. (although
>> I could be easily overlooking something)
> I brought this up on IRC earlier today, but I figured I should post it to the ML
> too just in case people missed it in the scrollback. I wrote a bit of code to show
> how I thought the ML could still be used to do this:
> https://github.com/mtreinish/electionbot
> I haven't actually tried to run anything in the repo yet, it's just a concept at
> this point. But, I wanted to share it before I put too much effort into it to
> get some feedback on the approach.

Thanks for drafting this up.

I think this makes a lot of sense, but I'm inclined to ease into se of
such a script. Instead of running a bot right away perhaps we can
write the scripts so that it's a more manual process for one election
to iron out the issues we find.

This cycle there were a few edge cases:

1. Person posts mail with nickname, but full name is in the
contributors search (ie Ed vs Edward)
2. Work/personal email conflation, so they may do commits as one email
address, but post to the mailing list with another (we could have a
policy about this on our end, but for now the human element has made
it so we could figure out it was the same person)
3. ...there may be more that Tristan found as he was validating

Moving on to actual functionality for validation, this is the human
process used to validate candidates.


Confirm they are applying for one of the projects eligible for our PTL
election process:

Search for a commit from them in the past year in one of the repos
(Stackalytics was useful as a human for this since they have a concept
of project groups, but when scripted you could search through git
history for all repos associated with projects.yaml)

Update the wiki page with name+link to nomination so we have the full
list of candidates for perusal:
(we might move this off the wiki if it's a bot, because wikis are meh
when you need a bot to report on them)

Reply to the mailing list with "confirmed"


Confirm that they are eligible for running by searching for them in

Update the wiki page:

Reply to the mailing list with "confirmed"

I'll try to track Tristan down later today to see if I've missed anything :)

Elizabeth Krumbach Joseph || Lyz || pleia2

More information about the OpenStack-Infra mailing list