
Without this patch, extra-atcs that are defined in a SIG will not be taken into consideration for electorate rolls. This is a problem, as we intend to move i18n as a SIG, so we would lose their atc as part of the electorate. This fixes it by editing the spaghetti code for SIGs. It was already simulating the structure of a project named "SIG". So it made sense to extend it with 'extra-atcs'. Therefore to initialise extra-atcs for SIGs, we just have to have something like this in sigs-repos: ``` signame: - repo: repo_location extra-atcs: - name: extra_atc_fullname email: extra_atc_email expires-in: extra_atc_expiry comment: extra_atc_comment ``` Yes, it means that a SIG need to own a repo for this. This is not a problem at the moment, AFAIK. If this becomes a problem, we could think of removing the sigs-repos file, and just make SIGs some kind of project in governance, simplifying the code. Depends-On: https://review.opendev.org/721605 Change-Id: I5e1c42c64f5e76dafb9420aa1f3363890b1b9d65
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