aca12d3983
Based on the email thread back in December, we settled roughly on a set of dates, but concluded we should bump them back an extra week so that PTL elections can be concluded before we open the Victoria master branch. The necessary TC charter changes to update term lengths have also been made. Change-Id: I66872e55b31319a00cfee795898f2990dfc87fe7 |
||
---|---|---|
.zuul.d | ||
candidates | ||
doc/source | ||
openstack_election | ||
tools | ||
.gitignore | ||
.gitreview | ||
.stestr.conf | ||
.yamllint | ||
bindep.txt | ||
configuration.yaml | ||
exceptions.txt | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
This repository contains OpenStack Elections reference documents and tooling to run elections.
Election 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 checked by the election officials 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
, ortox -evenv -- ci-check-all-candidate-files candidates/release/project/candidates
, ortox -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
- 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
and set election winners toTrue
- 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 withtox -e docs
afterdoc/source/results/release/ptl.yaml
has been created and updated
- This is
- 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 beginning
- 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 checked by the election officials 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 TC 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 toTrue
- Commit change and push review
- Send TC Results email
- This is
doc/source/results/release/announce_tc.rst
generated by building the docs withtox -e docs
afterdoc/source/results/release/tc.yaml
has been created and updated
- This is
- Update
reference/members
in governance repository- Add new members
- Remove
chair
andvice-chair
from file - Commit change and push review
- Update
tc-election-summary.py
with election statistics - Optionally send TC Election Statistics email