OpenStack Elections repository
Go to file
Jeremy Stanley 54d0a77b94 Properly short-circuit OSF member lookup loop
When iterating over Gerrit E-mail addresses to find a matching OSF
member Id, stop once one is found. That was the original intent, but
a continue was used instead of a break within the conditional
causing (perhaps very many) unnecessary additional queries against
the member lookup API.

Change-Id: I025170b726c2edd9dcb4996de99eb541b4e8abcf
2018-08-23 20:02:27 +00:00
.zuul.d add python 3.6 unit test job 2018-08-21 18:18:59 +00:00
candidates Merge "Adding JiWei candidacy for Zun" 2018-07-31 23:44:49 +00:00
doc/source Merge "Add PTL election stats and tool to display them" 2018-08-21 21:39:17 +00:00
openstack_election Properly short-circuit OSF member lookup loop 2018-08-23 20:02:27 +00:00
tools Add PTL election stats and tool to display them 2018-08-08 10:42:45 +10:00
.gitignore Switch to stestr 2018-07-05 13:31:26 +07:00
.gitreview Added .gitreview 2015-08-27 12:36:04 +00:00
.stestr.conf Switch to stestr 2018-07-05 13:31:26 +07:00
.yamllint Allow human readable yaml 2017-01-05 12:57:03 +11:00
bindep.txt bindep: Supply a bindep.txt file to avoid the 'global' set 2017-10-12 12:08:12 +11:00
configuration.yaml Prepare Stein TC Election 2018-08-14 03:34:28 +00:00
exceptions.txt Add Hao Wang to exceptions.txt 2018-02-12 19:36:24 +00:00
README.rst Update Readme with Wiki Info 2018-03-09 15:04:28 -08:00
requirements.txt Use election_type configuration to display correct candidates 2018-05-15 14:28:43 +10:00
setup.cfg Add a new tool meant for CI to validate all files under candidates 2018-07-27 14:21:51 +10:00
setup.py Update requirements to be in line with current versions 2017-10-02 09:07:47 +11:00
test-requirements.txt Merge "Switch to stestr" 2018-07-25 21:39:25 +00:00
tox.ini Add non-voting job to check all candidates 2018-07-27 14:21:51 +10:00

openstack/election

This repository contains OpenStack Elections reference documents and tooling to run elections.

Election officials process

PTL Elections

Selecting Election Dates

Things to keep in mind when selecting election dates:

  • At least 48 hours in between email deadline and poll start
  • Consider extra-atcs approval deadlines
  • Should start around R-4 for nominations period
  • Allow at least a week for nomination period

Preparation

A month before election starts:

  • Edit elections details (timeline, cycle timeframe):
    • edit configuration.yaml
  • Prepare new election, e.g.:
    • tox -evenv -- create-directories
  • Update index.rst to include ptl.rst
  • Commit to update website
  • Update Release Schedule

A couple of weeks before election starts * Send 'PTL Election Season' email

PTL Candidacy Round

When PTL Candidacy start * Send 'PTL Nominations Kickoff' email

During the PTL Candidacy round: * Validate candidacy, e.g.: * tox -evenv -- check-all-candidacies, or * tox -evenv -- check-candidacy change_id * To +2 a candidate: * check commit link is indeed valid * check filename is email address * cursory check the candidacy statement * To +Workflow, checks the previous +2 details, find another commits using --limit 5 (optionals)

  • Check candidate list and fix badly generated names through changes to the exception.txt file

Once the email deadline is reached: * Ask the TC chair to tag the governance repository

A couple of days before the candidacy submission ends: * Render statistics and send 'Motivation call for PTL candidacy round', e.g.: * tox -evenv -- render-statistics * Send 'PTL Nominations Last Days' email

When PTL Candidacy submission ends: * Send 'PTL Nominations End' email

When PreferredEmailDeadLine is reached: * Ask the TC chair to tag the governance repository with the tag defined in the configuration.yaml * When the tag is available, generate ATC rolls, e.g.: * tox -evenv -- generate-rolls * Compare ATC rolls with at least one other election official

PTL Election Round

When PTL Election begins: * Create CIVS page ( https://wiki.openstack.org/wiki/Election_Officiating_Guidelines#Running_the_election_itself ) * Upload rolls * CIVS has a maximum number of electorate emails you can upload at a time without crashing, limit to 500 at a time * Send 'PTL Voting Kickoff' email

A couple of days before the PTL Election ends: * Send 'PTL Voting Last Days' email

When PTL Election ends: * Close the election and udpate the results: * tox -evenv -- close-election ptl * edit doc/sources/pike/ptl.yaml to set election winners to True * Update index.rst to comment ptl.rst candidate list * Commit the change and review the results * Send 'PTL Results' email * Update governance repo: * tox -e venv update-governance -- --governance-repo ../governance/

TC Elections

Selecting Election Dates

Things to keep in mind when selecting election dates:

  • Needs to conclude by S-3 (3 Weeks prior to OpenStack Summit)
  • Allow for at least 48 hours between email deadline and polling begininning
  • Allow at least a week for nomination and campaign periods

Preparation

A month before election starts:

  • Edit elections details (timeline, cycle timeframe):
    • Edit configuration.yaml
    • Update index.rst to include tc.rst instead of ptl.rst
  • Commit to update website
  • Update Release Schedule

A couple of weeks before election starts * Send 'TC Election Season' email

TC Candidacy Round

When TC Candidacy starts: * Send 'TC Nominations Kickoff' email

During the TC Candidacy round: * To +2 a candidate: * check candidate profile using https://www.openstack.org/community/members/ * check filename is email address * cursory check the candidacy statement * To +Workflow, check the previous +2 details

A couple of days before the candidacy submission ends: * Send 'TC Nominations Last Days' email

When TC Candidacy submission ends: * Send 'TC End Nominations' email

When PreferredEmailDeadLine is reached: * Generate ATC rolls, e.g.: * tox -evenv -- generate-rolls

TC Election Round

When PTL Election begins: * Create CIVS page * Upload rolls * Send 'TC Voting Kickoff' Email

A couple of days before the TC Election ends: * Send 'TC Voting Last Days' email

When TC Election ends: * close the election and update the results: * tox -e venv -- close-election tc * edit doc/source/pike/tc.yaml * Commit the change and review the results * Send 'TC Results' * Update tc-election-summary.py with election statistics * Send 'TC Election Statistics'