OpenStack Elections repository
Go to file
Jeremy Stanley 23242b4b99 Correct upcoming release name in template URLs
The future_release expansion variable was being incorrectly set to
the name of the end release from the electorate contribution
timeframe. Its intended use however was redundant with the release
variable. Remove future_release entirely and just use release in
those templates.

Change-Id: I7df3592112d543b52b06c99bfbc05107bfde45f8
2019-03-04 16:17:09 +00:00
.zuul.d Make all tools require python3 and remove python2 testing 2018-12-12 14:09:05 +11:00
candidates Merge "Adding Feilong Wang candidacy for TC" 2019-02-19 23:05:18 +00:00
doc/source Remove myself as an election official 2019-02-22 16:10:21 +11:00
openstack_election Correct upcoming release name in template URLs 2019-03-04 16:17:09 +00:00
tools Stein TC Election Statistics 2018-09-28 22:57:57 +00: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 move the email deadline for the train election out a few days 2019-02-12 20:19:40 -05:00
exceptions.txt Add Hao Wang to exceptions.txt 2018-02-12 19:36:24 +00:00
README.rst Fix a few recent typos introduced in the readme 2019-02-23 13:33:22 +00:00
requirements.txt Update requirements 2018-09-05 10:08:05 +10:00
setup.cfg Add a tool to pick some start dates for an election 2018-12-12 14:09:05 +11:00
setup.py Update requirements to be in line with current versions 2017-10-02 09:07:47 +11:00
test-requirements.txt Inherit openstackdocstheme for governance.o.o 2018-10-19 03:52:27 +00:00
tox.ini Make all tools require python3 and remove python2 testing 2018-12-12 14:09:05 +11: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

setup-election-config can be used to pick some obvous dates that need to be check by the election offiicals and TC

Preparation

As early as possible but at least a month before election starts:

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

A couple of weeks before election starts * Send 'PTL Election Season' email * tox -e venv -- template-emails election_season

PTL Candidacy Round

When PTL Candidacy start * Send 'PTL Nominations Kickoff' email * tox -e venv -- template-emails nominations_kickoff

During the PTL Candidacy round: * Validate candidacy, e.g.: * tox -evenv -- check-all-candidacies, or * tox -evenv -- ci-check-all-candidate-files candidates/release/project/candidates , 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 (optional)

  • Check candidate list and fix badly generated names through changes to the exception.txt file or requesting the candidate to update thier OSF member profile.

Once the email deadline is reached: * Ask the TC chair to tag the governance repository * Generate the electorate rolls. This generates the rolls for all project teams even if they aren't going to hold an election. * tox -evenv -- generate-rolls

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 * tox -e venv -- template-emails nominations_last_days

When PTL Candidacy submission ends: * Send 'PTL Nominations End' email * tox -e venv -- template-emails end_nominations

  • 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 * tox -e venv -- template-emails voting_kickoff

A couple of days before the PTL Election ends: * Send 'PTL Voting Last Days' email * tox -e venv -- template-emails voting_last_days

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 * Commit the change and review the results * Send 'PTL Results' email * This is doc/source/results/release/announce_ptl.rst generated by building the docs: toc -e docs After doc/source/results/release/ptl.yaml has been created and updated * 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

setup-election-config can be used to pick some obvous dates that need to be check by the election offiicals and TC

Preparation

As early as possible but at least a month before election starts:

  • Edit elections details (timeline, cycle timeframe):
    • Edit configuration.yaml
  • Commit to update website
  • Update Release Schedule

A couple of weeks before election starts * Send 'TC Election Season' email * tox -e venv -- template-emails election_season

TC Candidacy Round

When TC Candidacy starts: * Send 'TC Nominations Kickoff' email * tox -e venv -- template-emails nominations_kickoff

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 * tox -e venv -- template-emails nominations_last_days

When TC Candidacy submission ends: * Send 'TC End Nominations' email * tox -e venv -- template-emails end_nominations

Once the email deadline is reached: * Ask the TC chair to tag the governance repository * Generate the electorate rolls. * tox -evenv -- generate-rolls

TC Campaigning

The TC election includes a period after the candidates are defined but before the election, for candidates to answer questions from the community. Open this with: * tox -e venv -- template-emails campaigning_kickoff

TC Election Round

When PTL Election begins: * Create CIVS page * Enable detailed ballot reporting * Upload rolls * Send 'TC Voting Kickoff' Email * tox -e venv -- template-emails voting_kickoff

A couple of days before the TC Election ends: * Send 'TC Voting Last Days' email * tox -e venv -- template-emails voting_last_days

When TC Election ends: * Close the election * Run: tox -e venv -- close-election tc * edit doc/source/pike/tc.yaml setting the winners to 'True' * Commit change & push review * Send 'TC Results' email * This is doc/source/results/release/announce_tc.rst generated by building the docs: toc -e docs After doc/source/results/release/tc.yaml has been created and updated * Update reference/members in governance repository * Add new members * Remove 'chair' & 'vice-chair' from file * Commit change & push review * Update tc-election-summary.py with election statistics * [Optional]Send 'TC Election Statistics'