29 Commits

Author SHA1 Message Date
Kendall Nelson
aca12d3983 Set Victoria configuration
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
2020-02-26 18:18:30 +00:00
Jeremy Stanley
8e1743ec65 Update tag for September 2019 elections
This is just a bookkeeping change to reflect that the TC is
switching to using OpenStack Release Management automation for
governance repository tags, and these need to be typical numerical
tags rather than the election-specific tags we've used in the past.
The value of this configuration setting is only presently used when
generating electoral rolls, which we did not need to do for the last
election due to there being no polls required. As a result, it is
safe to update this after the fact to leave a record correlating to
the relevant point in the governance repository which would have
been used if we did need to generate rolls.

Depends-On: I619ca1e8c2710ae020b4be4683f96ed345539d40
Change-Id: Ib06de473166761c12ea4955802d50b497287614a
2019-09-10 14:27:21 +00:00
Jeremy Stanley
985f4ff928 Truncate Ussuri election schedule
Since the combined PTL/TC elections resulted in no contested seats,
all candidates were acclaimed and no polls were required. Because of
this, there is no need for a campaigning week or polling week in the
schedule. Shorten these phases to one minute each so that the site
renders the expected state.

Change-Id: Iff1311a8fbcedf3cd5d39e381d68f10bad376d0e
2019-09-04 01:28:44 +00:00
Sean McGinnis
f79422ddd7 Use official Ussuri release name
We now have an official name for the U release. This updates the
candidate directory and config to reflect that.

Change-Id: I3e74f10dc41ff4e7b2882cde2a382770c82f4ce3
2019-09-04 00:44:44 +00:00
Jeremy Stanley
27bd00e0a4 Fix configuration for TC Elections event
For reasons not worth delving into this close to putting it to use,
we've used "PTL Election" (singular) and "TC Elections" (plural) as
the expected event names in our election tooling. Correct the errant
"TC Election" entry in the present election config.

Change-Id: Ifc588fc7a47738ab8262d5754adc38f7f7ec50d7
2019-08-22 17:19:57 +00:00
Jeremy Stanley
d65bdcac7d Officially call it the "U" election
Because it will still take some time for the OSF to perform
legal/trademark reviews on the results of the U cycle naming poll
and we want to be able to move ahead with accepting nominations for
upcoming elections, switch to just calling this cycle by the
required initial letter we already know. In official communications
we can capitalize it as "U" but for the purposes of configuring our
release automation the previous names were lower-case so use "u"
here instead.

Change-Id: I0310c0cdbc6492f375e8a1364873ee80edda8e2b
2019-08-21 20:32:48 +00:00
Tony Breeds
381942b153 Add dates for the 'U' Election.
We don't have an approved name for the U series yet so use 'u-TBA'.
This can trivially be updated once the name is set

Setting Combined Election
Summit is at: 2019-11-04
Release is at: 2019-10-14
Latest possible completion is at: 2019-09-23
Moving back to Tuesday: 2019-09-17
TC Election from 2019-09-10T23:45 to 2019-09-17T23:45
PTL Election from 2019-09-10T23:45 to 2019-09-17T23:45
TC Campaigning from 2019-09-03T23:45 to 2019-09-10T23:45
TC Nominations from 2019-08-27T23:45 to 2019-09-03T23:45
PTL Nominations from 2019-08-27T23:45 to 2019-09-03T23:45
Set email_deadline to 2019-09-03T00:00
Setting TC timeframe end to email_deadline
Beginning of Stein Cycle @ 2018-08-10 00:00:00+00:00
End of Train cycle @ 2019-09-03 00:00:00+00:00
Election timeframe: 389 days, 0:00:00s

Change-Id: I6ce85f187bc233c0b5f40da0b75cd297e6cab9a7
2019-05-28 15:43:41 +10:00
Tony Breeds
c16e33a4a7 Setup Train PTL election
Setting PTL Election
  Release is at: 2019-04-10
  Latest possible completion is at: 2019-03-20
  Moving back to Tuesday: 2019-03-19
  PTL Election from 2019-03-12T23:45 to 2019-03-19T23:45
  PTL Nominations from 2019-03-05T23:45 to 2019-03-12T23:45
  Set email_deadline to 2019-02-22T00:00
  Setting PTL timeframe end to email_deadline
  Begining of Rocky Cycle @ 2018-02-09 00:00:00+00:00
  End of Stein cycle @ 2019-03-05 00:00:00+00:00
  Election timeframe: 389 days, 0:00:00s

Note we do NOT alter the email_deadline so we can leverage the rolls
generated during the TC election.

Change-Id: I2596102a6af02a17899b71e086f402c3d01d3c99
2019-02-22 16:02:46 +11:00
Doug Hellmann
5e252568e4 move the email deadline for the train election out a few days
We would like to have the new placement team included in the regular PTL
elections for Train to avoid having to run a special election. To do
that, we'll need to shift the deadline out a little to give the TC time
to approve the new team, as requested in
https://review.openstack.org/#/c/636416/

Change-Id: I3cd7882e79c138a3327e97c40da6383beecb9b2f
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2019-02-12 20:19:40 -05:00
Tony Breeds
1b66992450 Setup Train TC election
Set the TC election as follows:

  Summit is at: 2019-04-22
  Latest possible completion is at: 2019-03-11
  Moving back to Tuesday: 2019-03-05
  TC Election from 2019-02-26T23:45 to 2019-03-05T23:45
  TC Campaigning from 2019-02-19T23:45 to 2019-02-26T23:45
  TC Nominations from 2019-02-12T23:45 to 2019-02-19T23:45
  Set email_deadline to 2019-02-19T00:00
  Setting TC timeframe end to email_deadline
  Begining of Rocky Cycle @ 2018-02-09 00:00:00+00:00
  End of Stein cycle @ 2019-02-19 00:00:00+00:00
  Election timeframe: 375 days, 0:00:00s

This is a week earlier than expected (based on the summit date of
2019-04-29) as we have the PTG and summit at more or less the same time
and we'd like to run the elections in series rather then parallel.

Change-Id: Ieead5df13df4e56ac29031398a4fa1634e5912e9
2019-01-10 15:50:24 +11:00
Kendall Nelson
2488cbb2ad Prepare Stein TC Election
Change-Id: Ifb84d4915bbbb726869cc8e84232796e7f65adb7
2018-08-14 03:34:28 +00:00
Tony Breeds
64c8f12b0e Set correct start for the timeframe.
We mistakenly used quuens-RC1 which is really the beginning of the rocky
cycle.  Set the start date to be the pike-rc1 branch point which is when
master branches opened up for queens development.

Change-Id: I1c27d10de14595346756892e22a1e14f3168cb85
2018-07-25 14:17:57 +10:00
Tony Breeds
e0e4f80f9c Prepare Stein PTL election
Setting PTL Election. Release is at: 2018-08-30
Latest possible completion is at: 2018-08-09
Moving back to Tuesday: 2018-08-07
PTL Nominations from 2018-07-24T23:45 to 2018-07-31T23:45
PTL Election from 2018-07-31T23:45 to 2018-08-07T23:45

The date for the beginning of the queens development cycle was
approximately the beginning of RC1 week which is about when we branch.
The end of Rocky has been set to match the email deadline, which gives
the officials the week of nominations to prepare and validate rolls.

I have also removed myself as an election official for the typical
reasons.

Change-Id: I4a775c95064ea81106b906e6f0a2e0ec915ae714
2018-07-18 10:20:55 +10:00
Tony Breeds
4d898fbb31 Separate the TC and PTL elections
Currently even if we have closed an election when we build the docs we
still determine the full name, email address and IRC nick for all
candidates for a series (i.e both PTL and TC candidates for Rocky while
only running the rocky TC election)

Stop doing that.  This means that we reduce the REST-API hits during doc
builds, generally speed up the docs generation and importantly allow us
to change the process from looking this up from git to probing the
OpenStack Foundation membership DB.

Adding a flag to state the election type (or phase) will also allow us
to, in future changes, auto-validate candidates and generally streamline
the process.

NOTE: This change also forces all calls to filter() to be "listified" to
work the same under py2 and py3

As you can see from the results below, before we were looking up PTL data
from git, which this change stops.  After this change the expected git
queries still happen:

Before:
[tony@thor election]$ time strace -fo ./strace -s200 tox -e docs
<SNIP>
___________________________________ summary ____________________________________
  docs: commands succeeded
  congratulations :)

real	1m21.627s
user	0m16.268s
sys	0m9.921s
[tony@thor election]$ grep -Erin '/usr/bin/git.*--follow' strace | wc -l
125
[tony@thor election]$ grep -Erin '/usr/bin/git.*--follow' strace | head -n1
395670:6892  execve("/usr/bin/git", ["git", "log", "--follow", "--format=%aE", "candidates/rocky/Barbican/alee.txt"], 0x56333426b590 /* 8 vars */ <unfinished ...>
After (PTL)
[tony@thor election]$ time strace -fo ./strace -s200 tox -e docs
<SNIP>
___________________________________ summary ____________________________________
  docs: commands succeeded
  congratulations :)

real	1m23.211s
user	0m17.283s
sys	0m10.573s
[tony@thor election]$ grep -Erin '/usr/bin/git.*--follow' strace | wc -l
125
After (TC / no TC candidates)
[tony@thor election]$ time strace -fo ./strace -s200 tox -e docs
<SNIP>
___________________________________ summary ____________________________________
  docs: commands succeeded
  congratulations :)

real	0m35.943s
user	0m9.443s
sys	0m5.897s
[tony@thor election]$ grep -Erin '/usr/bin/git.*--follow' strace | wc -l
0
After (TC / 1 fake TC candidate)
[tony@thor election]$ time strace -fo ./strace -s200 tox -e docs
<SNIP>
___________________________________ summary ____________________________________
  docs: commands succeeded
  congratulations :)

real	0m15.497s
user	0m9.623s
sys	0m5.991s
[tony@thor election]$ grep -Erin '/usr/bin/git.*--follow' strace | wc -l
2
[tony@thor election]$ grep -Erin '/usr/bin/git.*--follow' strace
397279:9143  execve("/usr/bin/git", ["git", "log", "--follow", "--format=%aE", "candidates/rocky/TC/tonyb.txt"], 0x55cfc3ca9590 /* 8 vars */ <unfinished ...>
397686:9144  execve("/usr/bin/git", ["git", "log", "--follow", "--format=%aE", "candidates/rocky/TC/tonyb.txt"], 0x55cfc3ca9590 /* 8 vars */ <unfinished ...>

Change-Id: I81fc2df78c48aea1b594a7c9f174eee32a7b4128
2018-04-09 15:51:06 +10:00
Kendall Nelson
8b2c8226a8 Prepare Rocky TC Election
Story: 2001611
Task: 6582

Change-Id: Ia81ec4abc1e601c23234ebf1fd54766035d71e24
2018-03-21 21:53:09 +00:00
Jeremy Stanley
3d2ce3ca5d Correct start date for Pike+Queens contributions
The Pike release cycle started on or around the date of the Ocata
release, not the Pike release. Since the TC charter defines the PTL
electorate (APCs) as "Individual Members who committed a change to a
repository of a project over the last two 6-month release cycles" we
need to include back as far as February 22, 2017.

In prior elections, the start was considered the end of the release
day (23 hours 59 minutes UTC), so preserve that quirk for
consistency. We can revisit that choice in later elections.

https://governance.openstack.org/tc/reference/charter.html#voters-for-ptl-seats-apc
https://releases.openstack.org/ocata/index.html

Change-Id: I08fb6f994d3d05d26f5b0fd7495056e3065f38e1
2018-01-29 22:30:13 +00:00
Kendall Nelson
495345e8fb Prepare Rocky PTL Election
This patch sets the dates for the election timeline earlier
so that people are more prepared for the election.

Change-Id: Id3ba8f97580911067799331ce2a7b58805c1ae76
2017-12-20 23:52:25 +00:00
Tony Breeds
b09b897dcc Update due to publishing issues
Change-Id: I9208946cf5acd1f3dfe0506259a35470506770f3
2017-10-05 08:49:22 +11:00
Tony Breeds
a1411cd50c Set configuration parameters for the TC election
Please note:

 1. We can't use the aug-2017-elections tag as governed projects may have
    changed.  The new tag will need to be applied before 2017-10-09T23:59
 2. The dates for valid APC's is extended from the PTL election to
    include the final days of the Pike release   This matches my reading
    of the bylaws Appendix 4, Section 3.b.ii [1]
       """
        An Individual Member is an ATC who has had a contribution
        approved for inclusion in any of the official OpenStack projects
        during one of the two prior release cycles of the Core OpenStack
        Project.
       """
 3. The election period is 5 business days which exceeds the
    requirement of 4 business days [2]

[1] https://www.openstack.org/legal/technical-committee-member-policy/
[2] https://governance.openstack.org/tc/reference/charter.html#election-for-tc-seats

Change-Id: Id8df8d4f7062316347fc5cfb3ec8323c8ec2df9c
2017-10-02 09:07:47 +11:00
Tony Breeds
b871ea7418 The tag name specified in the config doesn't match the governance repo
There's a mismatch between the tag the TC used and the one the election
officials expected them to use.

No matter just update it.

Change-Id: I91da075b755e5b8b2fba324895c2578281abe4f1
2017-08-02 16:33:30 +10:00
Kendall Nelson
6da152439e Prepare Queens PTL Election
This patch sets the dates for the election timeline.

Change-Id: I1040c022fc647a4aa36a83137708e912e99dd879
2017-07-12 15:43:12 -07:00
Tristan Cacqueray
fa7a75e386 Prepare Pike TC election
Change-Id: I1946eb4cb16a8bbdb18d542bf94dc3889678bdad
2017-03-29 12:23:30 +00:00
Tristan Cacqueray
d45c1f340b Remove the past_elections configuration
The original implementation of archived election results doesn't
work well for publishing the result of the PTL round of the current
election. Instead of relying on an (explicit) list of past elections,
this change moves the archive to a results directory and render
all the results present (implicit).

Change-Id: Ia78988bced1cc07e2a44dde46b793f106857af94
2017-02-02 01:55:53 +00:00
Tristan Cacqueray
5ddf83e255 Prepare Pike PTL election
Change-Id: I8cfecd165bf7e3741d08e53e30f3637d2914a458
2016-12-21 08:53:23 +00:00
Tristan Cacqueray
df232c3074 Refactor all parameters to configuration.yaml
This change moves parameter from utils.py and index.rst to the
configuration.yaml. Moreover this change does:

* Use ISO 8601 dateformat in configuration
* Change events extension to use datetime instead of calendar
* Add a configuration extension to render doc substitutions

Change-Id: Ie35cb9ae2c334814afaa36b3afd606c8bcf62616
2016-11-09 03:24:26 +00:00
Tristan Cacqueray
4d473dc0bd Refactor timeline structure
This change modifies the timeline structure to describe a
start and end date instead of two different events.

Moreover this change adds:
* the number of days remaining until the next event.
* a 'next' status when current event haven't started yet

Change-Id: Ib76b0315a7409a8442c1be6f8341b0596c1d56ae
2016-11-09 03:18:01 +00:00
Tony Breeds
8f8df0c950 Fix flake8 issues
linters runtests: commands[0] | yamllint configuration.yaml
 configuration.yaml
   1:1       warning  missing document start "---"  (document-start)

 linters runtests: commands[1] | flake8
 ./doc/source/_exts/candidates.py:17:1: F401 'urllib' imported but unused

Change-Id: I3cd150940f8dbf6d8f828f69361689cbf417fd98
2016-10-06 11:21:04 +11:00
Nate Johnston
a2650f7627 Extend TC election by 24 hours
Because of reports that ballots have not been received, extend the TC
election for September 2016 by 24 hours while ballots are re-issued.
That will ensure everyone has 5 full days to vote, at least.

Change-Id: Id0c1805aa6939427e5a2a4e206af7fd7e8e3858e
2016-10-03 22:39:09 +00:00
Tristan Cacqueray
257d3e3e08 Add configuration.yaml
This change refactor events.yaml into something more generic and
usable by openstack_election module

Change-Id: I26e25cb31c60645742baba1e73f8da9043029381
2016-09-14 11:25:07 +00:00