OpenStack Elections repository
Go to file
Tony Breeds a3ac4a90f8 Support for running tools under python3
If we run the tools (create-directories or check-all-candidacies) under
python3 they'll fail with silly errors (like[1]).  This is because we
have a number of assumptions they we'll be running under python2 like:

 - pickle.protocol: we done specify one so if we write a pickle file
   from python3 we can't read it in python2.
 - urllib and urlparse: those modules change paths in python 2 or 3 so
   use the six helpers to get the bits we want.
 - Explicitly write files in binary format
 - Various str vs bytes issues
 - dict().keys() returns dict_keys under python3 explictly cast that to
   list()

After addressing these issues we can run the tools under either python2
or python3.  To make this easy to check create explicit ven2 and venv3
test environments, leaving all other testenvs to use the system default.

[1] http://paste.openstack.org/show/593823/
Change-Id: I20334a52500847c810b486c9c8b108e75a5d6303
2017-01-05 12:57:03 +11:00
candidates Merge "Add candidacy for OpenStack TC" 2016-10-02 00:08:09 +00:00
doc/source Support for running tools under python3 2017-01-05 12:57:03 +11:00
openstack_election Support for running tools under python3 2017-01-05 12:57:03 +11:00
results Cargo-culting doc building from openstack/ossa 2015-09-10 13:32:36 -04:00
tools Import the new-election tool as create-directories 2016-11-09 03:24:18 +00:00
.gitignore Render rst file to doc/source 2016-11-09 03:12:51 +00:00
.gitreview Added .gitreview 2015-08-27 12:36:04 +00:00
.testr.conf Make openstack_election look more like a python module 2016-09-12 15:35:40 +10:00
configuration.yaml Prepare Pike PTL election 2016-12-21 08:53:23 +00:00
exceptions.txt Add a couple of fullname exceptions 2016-09-21 11:27:45 +10:00
README.rst Import the new-election tool as create-directories 2016-11-09 03:24:18 +00:00
requirements.txt Support for running tools under python3 2017-01-05 12:57:03 +11:00
setup.cfg Import the new-election tool as create-directories 2016-11-09 03:24:18 +00:00
setup.py Add updates from global-requirements 2016-03-11 13:45:45 +11:00
test-requirements.txt Switch to hacking and fix errors 2016-10-07 13:35:46 +11:00
tox.ini Support for running tools under python3 2017-01-05 12:57:03 +11:00

openstack/election

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

Election officials process

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

A couple of weeks before election starts * Send 'First announce'

PTL Candidacy round

When PTL Candidacy start * Send 'Opening PTL candidacy round'

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

  • Check candidate list and fixes badly generated name using the exception.txt file

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

When PTL Candidacy submission ends: * Send 'PTL nomination ending'

PTL Election round

When PreferredEmailDeadLine is reached: * Generate ATC rolls, e.g.: * ./tools/generate-rolls.sh

When PTL Election begins: * Create CIVS page ( https://wiki.openstack.org/wiki/Election_Officiating_Guidelines#Running_the_election_itself ) * Upload rolls * Send 'PTL election opening'

A couple of days before the PTL Election ends: * Send 'PTL vote motivation call'

When PTL Election ends: * close the election and udpate the results: * tox -evenv -- close-election ptl * edit doc/sources/pike/ptl.yaml * update index.rst to include tc.rst instead of ptl.rst * Commit the change and review the results * Send 'PTL results'

TC Candidacy round

When TC Candidacy starts: * Send 'TC Candidacy Opening'

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

A couple of days before the candidacy submission ends: * Send 'Motivation call for TC Candidacy round'

When TC Candidacy submission ends: * Send 'TC nomiation ending'

TC Election round

  • Create CIVS page
  • Upload rolls
  • Send 'TC election opening'

A couple of days before the TC Election ends: * Send 'TC vote motivation call'

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'