Add close-election utility and archive rendering
* close-election [ptl|tc] generate a yaml archive in doc/source * docs render the results pages based on the archive * add documentation about the whole election officials process Change-Id: I8f737f33befc1e8af52dac9c059f73e2874eb5f8
This commit is contained in:
parent
045f550d5e
commit
72e0775ae7
2
.gitignore
vendored
2
.gitignore
vendored
@ -14,3 +14,5 @@ candidates/events.rst
|
|||||||
.projects*yaml
|
.projects*yaml
|
||||||
.projects*.pkl
|
.projects*.pkl
|
||||||
.testrepository
|
.testrepository
|
||||||
|
doc/source/archive_toc.rst
|
||||||
|
doc/source/*/*.rst
|
||||||
|
119
README.rst
119
README.rst
@ -1,13 +1,112 @@
|
|||||||
|
==================
|
||||||
|
openstack/election
|
||||||
|
==================
|
||||||
|
|
||||||
This repository contains OpenStack Elections reference documents
|
This repository contains OpenStack Elections reference documents
|
||||||
and track candidate lists and elections' results.
|
and tooling to run elections.
|
||||||
|
|
||||||
Directory structure:
|
|
||||||
|
|
||||||
candidates/
|
Election officials process
|
||||||
<OpenStack codename>/ e.g mitaka (case matters)
|
==========================
|
||||||
<Project>/ e.g Nova (case matters)
|
|
||||||
<Candidate_Name>.txt
|
Preparation
|
||||||
TC/
|
-----------
|
||||||
<Candidate_Name>.txt
|
|
||||||
results/
|
A month before election starts:
|
||||||
Only edititable by the Election officials
|
|
||||||
|
* Prepare new election, e.g.:
|
||||||
|
* tox -evenv -- new-election.py pike
|
||||||
|
* Edit elections details (timeline, cycle timeframe):
|
||||||
|
* edit configuration.yaml
|
||||||
|
* 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'
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import urllib
|
import urllib
|
||||||
|
import yaml
|
||||||
|
|
||||||
from jinja2 import FileSystemLoader
|
from jinja2 import FileSystemLoader
|
||||||
from jinja2.environment import Environment
|
from jinja2.environment import Environment
|
||||||
@ -44,11 +45,54 @@ def render_list(list_type, candidates_list):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def build_archive(serie, list_type):
|
||||||
|
db_file = os.path.join(".", "doc", "source", serie, "%s.yaml" % list_type)
|
||||||
|
if not os.path.isfile(db_file):
|
||||||
|
return
|
||||||
|
db = yaml.safe_load(open(db_file))
|
||||||
|
# Check for appointed or incumbent footnote
|
||||||
|
db['tags'] = {}
|
||||||
|
for project in db['projects']:
|
||||||
|
for candidate in db['candidates'][project]:
|
||||||
|
if candidate['elected'] == 'TC-APPOINTED':
|
||||||
|
db['tags']['TC-APPOINTED'] = True
|
||||||
|
elif candidate['elected'] == 'INCUMBENT-PTL':
|
||||||
|
db['tags']['INCUMBENT-PTL'] = True
|
||||||
|
output = os.path.join(".", "doc", "source", serie, "%s.rst" % list_type)
|
||||||
|
template_name = "%s_archive.jinja" % list_type
|
||||||
|
template_dir = os.path.join(".", "doc", "source", "_exts")
|
||||||
|
with open(output, "w") as out:
|
||||||
|
out.write(
|
||||||
|
render_template(
|
||||||
|
template_name,
|
||||||
|
db,
|
||||||
|
template_dir=template_dir
|
||||||
|
).encode('utf-8')
|
||||||
|
)
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
def build_lists(app):
|
def build_lists(app):
|
||||||
|
# Current candidates
|
||||||
candidates_list = utils.build_candidates_list()
|
candidates_list = utils.build_candidates_list()
|
||||||
render_list("ptl", candidates_list)
|
render_list("ptl", candidates_list)
|
||||||
render_list("tc", candidates_list)
|
render_list("tc", candidates_list)
|
||||||
|
|
||||||
|
# Archived elections
|
||||||
|
previous_toc = [
|
||||||
|
".. toctree::",
|
||||||
|
" :maxdepth: 1",
|
||||||
|
" :titlesonly:",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
for previous in utils.PAST_ELECTIONS:
|
||||||
|
if build_archive(previous, "ptl"):
|
||||||
|
previous_toc.append(" %s/ptl.rst" % previous)
|
||||||
|
if build_archive(previous, "tc"):
|
||||||
|
previous_toc.append(" %s/tc.rst" % previous)
|
||||||
|
toc = os.path.join(".", "doc", "source", "archive_toc.rst")
|
||||||
|
open(toc, "w").write("\n".join(previous_toc))
|
||||||
|
|
||||||
|
|
||||||
def setup(app):
|
def setup(app):
|
||||||
app.info('loading candidates extension')
|
app.info('loading candidates extension')
|
||||||
|
41
doc/source/_exts/ptl_archive.jinja
Normal file
41
doc/source/_exts/ptl_archive.jinja
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
======================
|
||||||
|
{{ election.capitalize() }} PTL
|
||||||
|
======================
|
||||||
|
|
||||||
|
{% for project in projects %}
|
||||||
|
* {{ project.replace('_', ' ') }}
|
||||||
|
|
||||||
|
{% for candidate in candidates[project] %}{% if candidate['elected'] and 'url' in candidate %}
|
||||||
|
* `{{ candidate['fullname'] }} ({{ candidate['ircname'] }}) <{{ candidate['url'] }}>`_
|
||||||
|
{% elif candidate['elected'] %}
|
||||||
|
* {{ candidate['fullname'] }} ({{ candidate['ircname'] }}) {% if candidate['elected'] == 'INCUMBENT-PTL' %}[#IncumbentPTL]_{% else %}[#TCAppointed]_{% endif %}
|
||||||
|
{% endif %}{% endfor %}
|
||||||
|
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% if 'TC-APPOINTED' in tags %}
|
||||||
|
.. [#TCAppointed] By TC Appointment
|
||||||
|
{% endif %}
|
||||||
|
{% if 'INCUMBENT-PTL' in tags %}
|
||||||
|
.. [#IncumbentPTL] Incumbent PTL
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
Results
|
||||||
|
-------
|
||||||
|
{% for project in projects %}{% if project in elections_results %}
|
||||||
|
|
||||||
|
* `{{ project }} <{{ elections_results[project] }}>`_
|
||||||
|
{% endif %}{% endfor %}
|
||||||
|
|
||||||
|
|
||||||
|
{{ election.capitalize() }} PTL Candidates
|
||||||
|
======================
|
||||||
|
|
||||||
|
{% for project in projects %}
|
||||||
|
* {{ project.replace('_', ' ') }}
|
||||||
|
|
||||||
|
{% for candidate in candidates[project] %}{% if 'url' in candidate %}
|
||||||
|
* `{{ candidate['fullname'] }} ({{ candidate['ircname'] }}) <{{ candidate['url'] }}>`_
|
||||||
|
{% endif %}{% endfor %}
|
||||||
|
|
||||||
|
{% endfor %}
|
16
doc/source/_exts/tc_archive.jinja
Normal file
16
doc/source/_exts/tc_archive.jinja
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
======================
|
||||||
|
{{ election.capitalize() }} elected TC members
|
||||||
|
======================
|
||||||
|
{% for candidate in candidates['TC'] %}{% if candidate['elected'] %}
|
||||||
|
* `{{ candidate['fullname'] }} ({{ candidate['ircname'] }}) <{{ candidate['url'] }}>`_
|
||||||
|
{% endif %}{% endfor %}
|
||||||
|
|
||||||
|
Results
|
||||||
|
-------
|
||||||
|
* `TC <{{ elections_results['TC'] }}>`_
|
||||||
|
|
||||||
|
{{ election.capitalize() }} TC Candidates
|
||||||
|
======================
|
||||||
|
{% for candidate in candidates['TC'] %}
|
||||||
|
* `{{ candidate['fullname'] }} ({{ candidate['ircname'] }}) <{{ candidate['url'] }}>`_
|
||||||
|
{% endfor %}
|
@ -17,10 +17,12 @@ Below is the official list of candidates for the current round.
|
|||||||
.. TODO: Change from ptl.rst to tc.rst when TC rounds starts
|
.. TODO: Change from ptl.rst to tc.rst when TC rounds starts
|
||||||
.. include:: ../../candidates/tc.rst
|
.. include:: ../../candidates/tc.rst
|
||||||
|
|
||||||
.. include:: ocata_ptl_results.rst
|
|
||||||
|
|
||||||
.. TODO: Adds TC Results and a link to `TC Candidates list`_ when TC candidacies are over
|
Previous elections
|
||||||
.. TODO: Adds PTL Results and a link to `PTL Candidates list`_ when PTL candidacies are over
|
==================
|
||||||
|
|
||||||
|
.. include:: archive_toc.rst
|
||||||
|
|
||||||
|
|
||||||
Election Officials
|
Election Officials
|
||||||
==================
|
==================
|
||||||
@ -149,9 +151,6 @@ The candidacy is then confirmed by elections officials through gerrit vote.
|
|||||||
See above `How to submit a candidacy`_ documentation.
|
See above `How to submit a candidacy`_ documentation.
|
||||||
|
|
||||||
|
|
||||||
.. include:: ocata_ptl_candidates.rst
|
|
||||||
.. TODO: add TC Candidates list when TC elections are over
|
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
See the `Election Officiating Guidelines`_ page in the wiki for details on the
|
See the `Election Officiating Guidelines`_ page in the wiki for details on the
|
||||||
|
449
doc/source/ocata/ptl.yaml
Normal file
449
doc/source/ocata/ptl.yaml
Normal file
@ -0,0 +1,449 @@
|
|||||||
|
candidates:
|
||||||
|
Astara:
|
||||||
|
- email: ryan.petrello@dreamhost.com
|
||||||
|
fullname: Ryan Petrello
|
||||||
|
ircname: ryanpetrello
|
||||||
|
elected: INCUMBENT-PTL
|
||||||
|
Barbican:
|
||||||
|
- elected: true
|
||||||
|
email: dmccowan@cisco.com
|
||||||
|
fullname: Dave Mccowan
|
||||||
|
ircname: dave-mccowan
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Barbican/dave-mccowan.txt
|
||||||
|
Chef_OpenStack:
|
||||||
|
- elected: true
|
||||||
|
email: s@cassiba.com
|
||||||
|
fullname: Samuel Cassiba
|
||||||
|
ircname: sc\`
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Chef_OpenStack/sc%60.txt
|
||||||
|
Cinder:
|
||||||
|
- elected: true
|
||||||
|
email: sean_mcginnis@dell.com
|
||||||
|
fullname: Sean McGinnis
|
||||||
|
ircname: smcginnis
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Cinder/smcginnis.txt
|
||||||
|
Cloudkitty:
|
||||||
|
- elected: true
|
||||||
|
email: christophe.sauthier@objectif-libre.com
|
||||||
|
fullname: Christophe Sauthier
|
||||||
|
ircname: huats
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Cloudkitty/huats.txt
|
||||||
|
Community_App_Catalog:
|
||||||
|
- elected: true
|
||||||
|
email: doc@aedo.net
|
||||||
|
fullname: Christopher Aedo
|
||||||
|
ircname: docaedo
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Community_App_Catalog/docaedo.txt
|
||||||
|
Congress:
|
||||||
|
- elected: true
|
||||||
|
email: ekcs.openstack@gmail.com
|
||||||
|
fullname: Eric Kao
|
||||||
|
ircname: ekcs
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Congress/ekcs.txt
|
||||||
|
Designate:
|
||||||
|
- elected: true
|
||||||
|
email: graham.hayes@hpe.com
|
||||||
|
fullname: Graham Hayes
|
||||||
|
ircname: mugsie
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Designate/mugsie.txt
|
||||||
|
Documentation:
|
||||||
|
- elected: true
|
||||||
|
email: openstack@lanabrindley.com
|
||||||
|
fullname: Lana Brindley
|
||||||
|
ircname: loquacities
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Documentation/loquacities.txt
|
||||||
|
Dragonflow:
|
||||||
|
- elected: true
|
||||||
|
email: omer.anson@toganetworks.com
|
||||||
|
fullname: Omer Anson
|
||||||
|
ircname: oanson
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Dragonflow/oanson.txt
|
||||||
|
Ec2_Api:
|
||||||
|
- elected: true
|
||||||
|
email: alexandrelevine@gmail.com
|
||||||
|
fullname: Alexandre Levine
|
||||||
|
ircname: alexandrelevine
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Ec2_Api/alexandrelevine.txt
|
||||||
|
Freezer:
|
||||||
|
- elected: false
|
||||||
|
email: deklan.dieterly@hpe.com
|
||||||
|
fullname: Deklan Dieterly
|
||||||
|
ircname: ddieterly
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Freezer/ddieterly.txt
|
||||||
|
- elected: true
|
||||||
|
email: pi3rra@root.gg
|
||||||
|
fullname: Pierre Mathieu
|
||||||
|
ircname: slashme
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Freezer/slashme.txt
|
||||||
|
Fuel:
|
||||||
|
- elected: true
|
||||||
|
email: ashtokolov@mirantis.com
|
||||||
|
fullname: Alexey Shtokolov
|
||||||
|
ircname: ashtokolov
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Fuel/ashtokolov.txt
|
||||||
|
Glance:
|
||||||
|
- elected: true
|
||||||
|
email: brian.rosmaita@rackspace.com
|
||||||
|
fullname: Brian Rosmaita
|
||||||
|
ircname: rosmaita
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Glance/rosmaita.txt
|
||||||
|
Heat:
|
||||||
|
- elected: true
|
||||||
|
email: ramishra@redhat.com
|
||||||
|
fullname: Rabi Mishra
|
||||||
|
ircname: ramishra
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Heat/ramishra.txt
|
||||||
|
Horizon:
|
||||||
|
- elected: true
|
||||||
|
email: r1chardj0n3s@gmail.com
|
||||||
|
fullname: Richard Jones
|
||||||
|
ircname: r1chardj0n3s
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Horizon/r1chardj0n3s.txt
|
||||||
|
I18n:
|
||||||
|
- elected: true
|
||||||
|
email: ianyrchoi@gmail.com
|
||||||
|
fullname: Ian Y. Choi
|
||||||
|
ircname: ianychoi
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/I18n/ianychoi.txt
|
||||||
|
Infrastructure:
|
||||||
|
- elected: true
|
||||||
|
email: fungi@yuggoth.org
|
||||||
|
fullname: Jeremy Stanley
|
||||||
|
ircname: fungi
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Infrastructure/fungi.txt
|
||||||
|
Ironic:
|
||||||
|
- elected: false
|
||||||
|
email: dtantsur@redhat.com
|
||||||
|
fullname: Dmitry Tantsur
|
||||||
|
ircname: dtantsur
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Ironic/dtantsur.txt
|
||||||
|
- elected: true
|
||||||
|
email: jim@jimrollenhagen.com
|
||||||
|
fullname: Jim Rollenhagen
|
||||||
|
ircname: jroll
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Ironic/jroll.txt
|
||||||
|
Karbor:
|
||||||
|
- elected: true
|
||||||
|
email: ficoos@gmail.com
|
||||||
|
fullname: Saggi Mizrahi
|
||||||
|
ircname: saggi
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Karbor/saggi.txt
|
||||||
|
Keystone:
|
||||||
|
- elected: false
|
||||||
|
email: samueldmq@gmail.com
|
||||||
|
fullname: Samuel de Medeiros Queiroz
|
||||||
|
ircname: samueldmq
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Keystone/samueldmq.txt
|
||||||
|
- elected: true
|
||||||
|
email: s.martinelli@gmail.com
|
||||||
|
fullname: Steve Martinelli
|
||||||
|
ircname: stevemar
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Keystone/stevemar.txt
|
||||||
|
Kolla:
|
||||||
|
- elected: false
|
||||||
|
email: zhang.lei.fly@gmail.com
|
||||||
|
fullname: Jeffrey Zhang
|
||||||
|
ircname: jeffrey4l
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Kolla/jeffrey4l.txt
|
||||||
|
- elected: true
|
||||||
|
email: inc007@gmail.com
|
||||||
|
fullname: Michal Jastrzebski
|
||||||
|
ircname: inc0
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Kolla/inc0.txt
|
||||||
|
Kuryr:
|
||||||
|
- elected: true
|
||||||
|
email: antonisp@celebdor.com
|
||||||
|
fullname: Antoni Segura Puimedon
|
||||||
|
ircname: apuimedo
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Kuryr/apuimedo.txt
|
||||||
|
Magnum:
|
||||||
|
- elected: true
|
||||||
|
email: adrian.otto@rackspace.com
|
||||||
|
fullname: Adrian Otto
|
||||||
|
ircname: Adrian_Otto
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Magnum/Adrian_Otto.txt
|
||||||
|
- elected: false
|
||||||
|
email: hongbin.lu@huawei.com
|
||||||
|
fullname: Hongbin Lu
|
||||||
|
ircname: hongbin
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Magnum/hongbin.txt
|
||||||
|
Manila:
|
||||||
|
- elected: true
|
||||||
|
email: ben@swartzlander.org
|
||||||
|
fullname: Ben Swartzlander
|
||||||
|
ircname: bswartz
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Manila/bswartz.txt
|
||||||
|
Mistral:
|
||||||
|
- elected: true
|
||||||
|
email: renat.akhmerov@gmail.com
|
||||||
|
fullname: Renat Akhmerov
|
||||||
|
ircname: rakhmerov
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Mistral/rakhmerov.txt
|
||||||
|
Monasca:
|
||||||
|
- elected: true
|
||||||
|
email: roland.hochmuth@hp.com
|
||||||
|
fullname: Roland Hochmuth
|
||||||
|
ircname: rhochmuth
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Monasca/Roland_Hochmuth.txt
|
||||||
|
Murano:
|
||||||
|
- elected: true
|
||||||
|
email: k.zaitsev@me.com
|
||||||
|
fullname: Kirill Zaitsev
|
||||||
|
ircname: kzaitsev_mb
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Murano/kzaitsev_mb.txt
|
||||||
|
Neutron:
|
||||||
|
- elected: true
|
||||||
|
email: armamig@gmail.com
|
||||||
|
fullname: Armando Migliaccio
|
||||||
|
ircname: armax
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Neutron/armax.txt
|
||||||
|
Nova:
|
||||||
|
- elected: true
|
||||||
|
email: mriedem@us.ibm.com
|
||||||
|
fullname: Matt Riedemann
|
||||||
|
ircname: mriedem
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Nova/mriedem.txt
|
||||||
|
OpenStackAnsible:
|
||||||
|
- elected: true
|
||||||
|
email: andy.mccrae@gmail.com
|
||||||
|
fullname: Andy Mccrae
|
||||||
|
ircname: andymccr
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/OpenStackAnsible/andymccr.txt
|
||||||
|
OpenStackClient:
|
||||||
|
- elected: true
|
||||||
|
email: dtroyer@gmail.com
|
||||||
|
fullname: Dean Troyer
|
||||||
|
ircname: dtroyer
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/OpenStackClient/dtroyer.txt
|
||||||
|
OpenStackSalt:
|
||||||
|
- email: ales.komarek@tcpcloud.eu
|
||||||
|
fullname: Ales Komarek
|
||||||
|
ircname: cznewt
|
||||||
|
elected: INCUMBENT-PTL
|
||||||
|
OpenStack_Charms:
|
||||||
|
- elected: true
|
||||||
|
email: james.page@ubuntu.com
|
||||||
|
fullname: James Page
|
||||||
|
ircname: jamespage
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/OpenStack_Charms/jamespage.txt
|
||||||
|
OpenStack_UX:
|
||||||
|
- email: pkruithofjr@gmail.com
|
||||||
|
fullname: Piet Kruithof
|
||||||
|
ircname: Piet
|
||||||
|
elected: TC-APPOINTED
|
||||||
|
Oslo:
|
||||||
|
- elected: true
|
||||||
|
email: jxharlow@godaddy.com
|
||||||
|
fullname: Joshua Harlow
|
||||||
|
ircname: harlowja
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Oslo/harlowja.txt
|
||||||
|
Packaging_Deb:
|
||||||
|
- elected: true
|
||||||
|
email: zigo@debian.org
|
||||||
|
fullname: Thomas Goirand
|
||||||
|
ircname: zigo
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Packaging_Deb/zigo.txt
|
||||||
|
Packaging_Rpm:
|
||||||
|
- elected: true
|
||||||
|
email: hguemar@fedoraproject.org
|
||||||
|
fullname: "Ha\xEFkel Gu\xE9mar"
|
||||||
|
ircname: hguemar
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Packaging_Rpm/hguemar.txt
|
||||||
|
Puppet_OpenStack:
|
||||||
|
- elected: true
|
||||||
|
email: aschultz@redhat.com
|
||||||
|
fullname: Alex Schultz
|
||||||
|
ircname: mwhahaha
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Puppet_OpenStack/mwhahaha.txt
|
||||||
|
Quality_Assurance:
|
||||||
|
- elected: true
|
||||||
|
email: ken-oomichi@wx.jp.nec.com
|
||||||
|
fullname: Ken'ichi Ohmichi
|
||||||
|
ircname: oomichi
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Quality_Assurance/oomichi.txt
|
||||||
|
- elected: false
|
||||||
|
email: masayuki@igawa.me
|
||||||
|
fullname: Masayuki Igawa
|
||||||
|
ircname: masayukig
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Quality_Assurance/masayukig.txt
|
||||||
|
Rally:
|
||||||
|
- elected: true
|
||||||
|
email: akurilin@mirantis.com
|
||||||
|
fullname: Andrey Kurilin
|
||||||
|
ircname: andreykurilin
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Rally/andreykurilin.txt
|
||||||
|
RefStack:
|
||||||
|
- elected: true
|
||||||
|
email: cdiep@us.ibm.com
|
||||||
|
fullname: Catherine Diep
|
||||||
|
ircname: catherineD
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/RefStack/catherineD.txt
|
||||||
|
Release_Management:
|
||||||
|
- elected: true
|
||||||
|
email: doug@doughellmann.com
|
||||||
|
fullname: Doug Hellmann
|
||||||
|
ircname: dhellmann
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Release_Management/dhellmann.txt
|
||||||
|
Requirements:
|
||||||
|
- elected: true
|
||||||
|
email: tony@bakeyournoodle.com
|
||||||
|
fullname: Tony Breeds
|
||||||
|
ircname: tonyb
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Requirements/tonyb.txt
|
||||||
|
Sahara:
|
||||||
|
- elected: true
|
||||||
|
email: vgridnev@mirantis.com
|
||||||
|
fullname: Vitaly Gridnev
|
||||||
|
ircname: vgridnev
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Sahara/vgridnev.txt
|
||||||
|
Searchlight:
|
||||||
|
- elected: true
|
||||||
|
email: steven.j.mclellan@gmail.com
|
||||||
|
fullname: Steve Mclellan
|
||||||
|
ircname: sjmc7
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Searchlight/sjmc7.txt
|
||||||
|
Security:
|
||||||
|
- email: hyakuhei@gmail.com
|
||||||
|
fullname: Robert Clark
|
||||||
|
ircname: hyakuhei
|
||||||
|
elected: TC-APPOINTED
|
||||||
|
Senlin:
|
||||||
|
- elected: true
|
||||||
|
email: yanyanhu@cn.ibm.com
|
||||||
|
fullname: Yanyan Hu
|
||||||
|
ircname: yanyanhu
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Senlin/yanyanhu.txt
|
||||||
|
Solum:
|
||||||
|
- elected: true
|
||||||
|
email: kulkarni.devdatta@gmail.com
|
||||||
|
fullname: Devdatta Kulkarni
|
||||||
|
ircname: devkulkarni
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Solum/devkulkarni.txt
|
||||||
|
Stable_Branch_Maintenance:
|
||||||
|
- elected: true
|
||||||
|
email: tony@bakeyournoodle.com
|
||||||
|
fullname: Tony Breeds
|
||||||
|
ircname: tonyb
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Stable_Branch_Maintenance/tonyb.txt
|
||||||
|
Swift:
|
||||||
|
- elected: true
|
||||||
|
email: me@not.mn
|
||||||
|
fullname: John Dickinson
|
||||||
|
ircname: notmyname
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Swift/notmyname.txt
|
||||||
|
Tacker:
|
||||||
|
- elected: true
|
||||||
|
email: srics.r@gmail.com
|
||||||
|
fullname: Sridhar Ramaswamy
|
||||||
|
ircname: sridhar_ram
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Tacker/sridhar_ram.txt
|
||||||
|
Telemetry:
|
||||||
|
- elected: true
|
||||||
|
email: julien@danjou.info
|
||||||
|
fullname: Julien Danjou
|
||||||
|
ircname: jd__
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Telemetry/jd__.txt
|
||||||
|
Tripleo:
|
||||||
|
- elected: true
|
||||||
|
email: emilien@redhat.com
|
||||||
|
fullname: Emilien Macchi
|
||||||
|
ircname: emilienm
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Tripleo/emilienm.txt
|
||||||
|
Trove:
|
||||||
|
- elected: true
|
||||||
|
email: amrith@tesora.com
|
||||||
|
fullname: Amrith Kumar
|
||||||
|
ircname: amrith
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Trove/amrith.txt
|
||||||
|
Vitrage:
|
||||||
|
- elected: true
|
||||||
|
email: ifat.afek@nokia.com
|
||||||
|
fullname: Ifat Afek
|
||||||
|
ircname: ifat_afek
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Vitrage/ifat_afek.txt
|
||||||
|
Watcher:
|
||||||
|
- elected: true
|
||||||
|
email: antoine.cabot@b-com.com
|
||||||
|
fullname: Antoine Cabot
|
||||||
|
ircname: acabot
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Watcher/acabot.txt
|
||||||
|
Winstackers:
|
||||||
|
- elected: true
|
||||||
|
email: cbelu@cloudbasesolutions.com
|
||||||
|
fullname: Claudiu Belu
|
||||||
|
ircname: claudiub
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Winstackers/claudiub.txt
|
||||||
|
Zaqar:
|
||||||
|
- elected: true
|
||||||
|
email: flwang@catalyst.net.nz
|
||||||
|
fullname: Fei Long Wang
|
||||||
|
ircname: flwang
|
||||||
|
url: https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Zaqar/flwang.txt
|
||||||
|
election: ocata
|
||||||
|
elections_results:
|
||||||
|
Freezer: http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_662fe1dfea3b2980
|
||||||
|
Ironic: http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_5bbba65c5879783c
|
||||||
|
Keystone: http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_f0432662b678f99f
|
||||||
|
Kolla: http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_9fa13adc6f6e7148
|
||||||
|
Magnum: http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_2fd00175baa579a6
|
||||||
|
Quality_Assurance: http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_745c895dcf12c405
|
||||||
|
projects:
|
||||||
|
- Astara
|
||||||
|
- Barbican
|
||||||
|
- Chef_OpenStack
|
||||||
|
- Cinder
|
||||||
|
- Cloudkitty
|
||||||
|
- Community_App_Catalog
|
||||||
|
- Congress
|
||||||
|
- Designate
|
||||||
|
- Documentation
|
||||||
|
- Dragonflow
|
||||||
|
- Ec2_Api
|
||||||
|
- Freezer
|
||||||
|
- Fuel
|
||||||
|
- Glance
|
||||||
|
- Heat
|
||||||
|
- Horizon
|
||||||
|
- I18n
|
||||||
|
- Infrastructure
|
||||||
|
- Ironic
|
||||||
|
- Karbor
|
||||||
|
- Keystone
|
||||||
|
- Kolla
|
||||||
|
- Kuryr
|
||||||
|
- Magnum
|
||||||
|
- Manila
|
||||||
|
- Mistral
|
||||||
|
- Monasca
|
||||||
|
- Murano
|
||||||
|
- Neutron
|
||||||
|
- Nova
|
||||||
|
- OpenStackAnsible
|
||||||
|
- OpenStackClient
|
||||||
|
- OpenStackSalt
|
||||||
|
- OpenStack_Charms
|
||||||
|
- OpenStack_UX
|
||||||
|
- Oslo
|
||||||
|
- Packaging_Deb
|
||||||
|
- Packaging_Rpm
|
||||||
|
- Puppet_OpenStack
|
||||||
|
- Quality_Assurance
|
||||||
|
- Rally
|
||||||
|
- RefStack
|
||||||
|
- Release_Management
|
||||||
|
- Requirements
|
||||||
|
- Sahara
|
||||||
|
- Searchlight
|
||||||
|
- Security
|
||||||
|
- Senlin
|
||||||
|
- Solum
|
||||||
|
- Stable_Branch_Maintenance
|
||||||
|
- Swift
|
||||||
|
- Tacker
|
||||||
|
- Telemetry
|
||||||
|
- Tripleo
|
||||||
|
- Trove
|
||||||
|
- Vitrage
|
||||||
|
- Watcher
|
||||||
|
- Winstackers
|
||||||
|
- Zaqar
|
@ -1,240 +0,0 @@
|
|||||||
Ocata PTL Candidates
|
|
||||||
======================
|
|
||||||
* Astara
|
|
||||||
|
|
||||||
|
|
||||||
* Barbican
|
|
||||||
|
|
||||||
* `Dave Mccowan (dave-mccowan) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Barbican/dave-mccowan.txt>`_
|
|
||||||
|
|
||||||
* Chef OpenStack
|
|
||||||
|
|
||||||
* `Samuel Cassiba (sc\`) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Chef_OpenStack/sc%60.txt>`_
|
|
||||||
|
|
||||||
* Cinder
|
|
||||||
|
|
||||||
* `Sean McGinnis (smcginnis) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Cinder/smcginnis.txt>`_
|
|
||||||
|
|
||||||
* Cloudkitty
|
|
||||||
|
|
||||||
* `Christophe Sauthier (huats) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Cloudkitty/huats.txt>`_
|
|
||||||
|
|
||||||
* Community App Catalog
|
|
||||||
|
|
||||||
* `Christopher Aedo (docaedo) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Community_App_Catalog/docaedo.txt>`_
|
|
||||||
|
|
||||||
* Congress
|
|
||||||
|
|
||||||
* `Eric Kao (ekcs) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Congress/ekcs.txt>`_
|
|
||||||
|
|
||||||
* Designate
|
|
||||||
|
|
||||||
* `Graham Hayes (mugsie) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Designate/mugsie.txt>`_
|
|
||||||
|
|
||||||
* Documentation
|
|
||||||
|
|
||||||
* `Lana Brindley (loquacities) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Documentation/loquacities.txt>`_
|
|
||||||
|
|
||||||
* Dragonflow
|
|
||||||
|
|
||||||
* `Omer Anson (oanson) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Dragonflow/oanson.txt>`_
|
|
||||||
|
|
||||||
* Ec2 Api
|
|
||||||
|
|
||||||
* `Alexandre Levine (alexandrelevine) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Ec2_Api/alexandrelevine.txt>`_
|
|
||||||
|
|
||||||
* Freezer
|
|
||||||
|
|
||||||
* `Deklan Dieterly (ddieterly) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Freezer/ddieterly.txt>`_
|
|
||||||
* `Pierre Mathieu (slashme) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Freezer/slashme.txt>`_
|
|
||||||
|
|
||||||
* Fuel
|
|
||||||
|
|
||||||
* `Alexey Shtokolov (ashtokolov) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Fuel/ashtokolov.txt>`_
|
|
||||||
|
|
||||||
* Glance
|
|
||||||
|
|
||||||
* `Brian Rosmaita (rosmaita) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Glance/rosmaita.txt>`_
|
|
||||||
|
|
||||||
* Heat
|
|
||||||
|
|
||||||
* `Rabi Mishra (ramishra) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Heat/ramishra.txt>`_
|
|
||||||
|
|
||||||
* Horizon
|
|
||||||
|
|
||||||
* `Richard Jones (r1chardj0n3s) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Horizon/r1chardj0n3s.txt>`_
|
|
||||||
|
|
||||||
* I18n
|
|
||||||
|
|
||||||
* `Ian Y. Choi (ianychoi) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/I18n/ianychoi.txt>`_
|
|
||||||
|
|
||||||
* Infrastructure
|
|
||||||
|
|
||||||
* `Jeremy Stanley (fungi) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Infrastructure/fungi.txt>`_
|
|
||||||
|
|
||||||
* Ironic
|
|
||||||
|
|
||||||
* `Dmitry Tantsur (dtantsur) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Ironic/dtantsur.txt>`_
|
|
||||||
* `Jim Rollenhagen (jroll) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Ironic/jroll.txt>`_
|
|
||||||
|
|
||||||
* Karbor
|
|
||||||
|
|
||||||
* `Saggi Mizrahi (saggi) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Karbor/saggi.txt>`_
|
|
||||||
|
|
||||||
* Keystone
|
|
||||||
|
|
||||||
* `Samuel de Medeiros Queiroz (samueldmq) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Keystone/samueldmq.txt>`_
|
|
||||||
* `Steve Martinelli (stevemar) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Keystone/stevemar.txt>`_
|
|
||||||
|
|
||||||
* Kolla
|
|
||||||
|
|
||||||
* `Jeffrey Zhang (jeffrey4l) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Kolla/jeffrey4l.txt>`_
|
|
||||||
* `Michal Jastrzebski (inc0) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Kolla/inc0.txt>`_
|
|
||||||
|
|
||||||
* Kuryr
|
|
||||||
|
|
||||||
* `Antoni Segura Puimedon (apuimedo) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Kuryr/apuimedo.txt>`_
|
|
||||||
|
|
||||||
* Magnum
|
|
||||||
|
|
||||||
* `Adrian Otto (Adrian_Otto) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Magnum/Adrian_Otto.txt>`_
|
|
||||||
* `Hongbin Lu (hongbin) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Magnum/hongbin.txt>`_
|
|
||||||
|
|
||||||
* Manila
|
|
||||||
|
|
||||||
* `Ben Swartzlander (bswartz) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Manila/bswartz.txt>`_
|
|
||||||
|
|
||||||
* Mistral
|
|
||||||
|
|
||||||
* `Renat Akhmerov (rakhmerov) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Mistral/rakhmerov.txt>`_
|
|
||||||
|
|
||||||
* Monasca
|
|
||||||
|
|
||||||
* `Roland Hochmuth (rhochmuth) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Monasca/rhochmuth.txt>`_
|
|
||||||
|
|
||||||
* Murano
|
|
||||||
|
|
||||||
* `Kirill Zaitsev (kzaitsev_mb) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Murano/kzaitsev_mb.txt>`_
|
|
||||||
|
|
||||||
* Neutron
|
|
||||||
|
|
||||||
* `Armando Migliaccio (armax) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Neutron/armax.txt>`_
|
|
||||||
|
|
||||||
* Nova
|
|
||||||
|
|
||||||
* `Matt Riedemann (mriedem) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Nova/mriedem.txt>`_
|
|
||||||
|
|
||||||
* OpenStackAnsible
|
|
||||||
|
|
||||||
* `Andy Mccrae (andymccr) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/OpenStackAnsible/andymccr.txt>`_
|
|
||||||
|
|
||||||
* OpenStackClient
|
|
||||||
|
|
||||||
* `Dean Troyer (dtroyer) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/OpenStackClient/dtroyer.txt>`_
|
|
||||||
|
|
||||||
* OpenStackSalt
|
|
||||||
|
|
||||||
|
|
||||||
* OpenStack Charms
|
|
||||||
|
|
||||||
* `James Page (jamespage) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/OpenStack_Charms/jamespage.txt>`_
|
|
||||||
|
|
||||||
* OpenStack UX
|
|
||||||
|
|
||||||
|
|
||||||
* Oslo
|
|
||||||
|
|
||||||
* `Joshua Harlow (harlowja) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Oslo/harlowja.txt>`_
|
|
||||||
|
|
||||||
* Packaging Deb
|
|
||||||
|
|
||||||
* `Thomas Goirand (zigo) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Packaging_Deb/zigo.txt>`_
|
|
||||||
|
|
||||||
* Packaging Rpm
|
|
||||||
|
|
||||||
* `Haïkel Guémar (hguemar) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Packaging_Rpm/hguemar.txt>`_
|
|
||||||
|
|
||||||
* Puppet OpenStack
|
|
||||||
|
|
||||||
* `Alex Schultz (mwhahaha) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Puppet_OpenStack/mwhahaha.txt>`_
|
|
||||||
|
|
||||||
* Quality Assurance
|
|
||||||
|
|
||||||
* `Ken'ichi Ohmichi (oomichi) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Quality_Assurance/oomichi.txt>`_
|
|
||||||
* `Masayuki Igawa (masayukig) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Quality_Assurance/masayukig.txt>`_
|
|
||||||
|
|
||||||
* Rally
|
|
||||||
|
|
||||||
* `Andrey Kurilin (andreykurilin) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Rally/andreykurilin.txt>`_
|
|
||||||
|
|
||||||
* RefStack
|
|
||||||
|
|
||||||
* `Catherine Diep (catherineD) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/RefStack/catherineD.txt>`_
|
|
||||||
|
|
||||||
* Release Management
|
|
||||||
|
|
||||||
* `Doug Hellmann (dhellmann) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Release_Management/dhellmann.txt>`_
|
|
||||||
|
|
||||||
* Requirements
|
|
||||||
|
|
||||||
* `Tony Breeds (tonyb) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Requirements/tonyb.txt>`_
|
|
||||||
|
|
||||||
* Sahara
|
|
||||||
|
|
||||||
* `Vitaly Gridnev (vgridnev) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Sahara/vgridnev.txt>`_
|
|
||||||
|
|
||||||
* Searchlight
|
|
||||||
|
|
||||||
* `Steve Mclellan (sjmc7) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Searchlight/sjmc7.txt>`_
|
|
||||||
|
|
||||||
* Security
|
|
||||||
|
|
||||||
|
|
||||||
* Senlin
|
|
||||||
|
|
||||||
* `Yanyan Hu (yanyanhu) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Senlin/yanyanhu.txt>`_
|
|
||||||
|
|
||||||
* Solum
|
|
||||||
|
|
||||||
* `Devdatta Kulkarni (devkulkarni) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Solum/devkulkarni.txt>`_
|
|
||||||
|
|
||||||
* Stable Branch Maintenance
|
|
||||||
|
|
||||||
* `Tony Breeds (tonyb) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Stable_Branch_Maintenance/tonyb.txt>`_
|
|
||||||
|
|
||||||
* Swift
|
|
||||||
|
|
||||||
* `John Dickinson (notmyname) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Swift/notmyname.txt>`_
|
|
||||||
|
|
||||||
* Tacker
|
|
||||||
|
|
||||||
* `Sridhar Ramaswamy (sridhar_ram) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Tacker/sridhar_ram.txt>`_
|
|
||||||
|
|
||||||
* Telemetry
|
|
||||||
|
|
||||||
* `Julien Danjou (jd__) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Telemetry/jd__.txt>`_
|
|
||||||
|
|
||||||
* Tripleo
|
|
||||||
|
|
||||||
* `Emilien Macchi (emilienm) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Tripleo/emilienm.txt>`_
|
|
||||||
|
|
||||||
* Trove
|
|
||||||
|
|
||||||
* `Amrith Kumar (amrith) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Trove/amrith.txt>`_
|
|
||||||
|
|
||||||
* Vitrage
|
|
||||||
|
|
||||||
* `Ifat Afek (ifat_afek) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Vitrage/ifat_afek.txt>`_
|
|
||||||
|
|
||||||
* Watcher
|
|
||||||
|
|
||||||
* `Antoine Cabot (acabot) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Watcher/acabot.txt>`_
|
|
||||||
|
|
||||||
* Winstackers
|
|
||||||
|
|
||||||
* `Claudiu Belu (claudiub) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Winstackers/claudiub.txt>`_
|
|
||||||
|
|
||||||
* Zaqar
|
|
||||||
|
|
||||||
* `Fei Long Wang (flwang) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Zaqar/flwang.txt>`_
|
|
||||||
|
|
@ -1,251 +0,0 @@
|
|||||||
Ocata PTL
|
|
||||||
=========
|
|
||||||
|
|
||||||
* Astara
|
|
||||||
|
|
||||||
* Ryan Petrello [#IncumbentPTL]_
|
|
||||||
|
|
||||||
* Barbican
|
|
||||||
|
|
||||||
* `Dave Mccowan (dave-mccowan) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Barbican/dave-mccowan.txt>`_
|
|
||||||
|
|
||||||
* Chef OpenStack
|
|
||||||
|
|
||||||
* `Samuel Cassiba (sc\`) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Chef_OpenStack/sc%60.txt>`_
|
|
||||||
|
|
||||||
* Cinder
|
|
||||||
|
|
||||||
* `Sean McGinnis (smcginnis) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Cinder/smcginnis.txt>`_
|
|
||||||
|
|
||||||
* Cloudkitty
|
|
||||||
|
|
||||||
* `Christophe Sauthier (huats) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Cloudkitty/huats.txt>`_
|
|
||||||
|
|
||||||
* Community App Catalog
|
|
||||||
|
|
||||||
* `Christopher Aedo (docaedo) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Community_App_Catalog/docaedo.txt>`_
|
|
||||||
|
|
||||||
* Congress
|
|
||||||
|
|
||||||
* `Eric Kao (ekcs) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Congress/ekcs.txt>`_
|
|
||||||
|
|
||||||
* Designate
|
|
||||||
|
|
||||||
* `Graham Hayes (mugsie) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Designate/mugsie.txt>`_
|
|
||||||
|
|
||||||
* Documentation
|
|
||||||
|
|
||||||
* `Lana Brindley (loquacities) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Documentation/loquacities.txt>`_
|
|
||||||
|
|
||||||
* Dragonflow
|
|
||||||
|
|
||||||
* `Omer Anson (oanson) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Dragonflow/oanson.txt>`_
|
|
||||||
|
|
||||||
* Ec2 Api
|
|
||||||
|
|
||||||
* `Alexandre Levine (alexandrelevine) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Ec2_Api/alexandrelevine.txt>`_
|
|
||||||
|
|
||||||
* Freezer
|
|
||||||
|
|
||||||
* `Pierre Mathieu (slashme) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Freezer/slashme.txt>`_
|
|
||||||
|
|
||||||
* Fuel
|
|
||||||
|
|
||||||
* `Alexey Shtokolov (ashtokolov) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Fuel/ashtokolov.txt>`_
|
|
||||||
|
|
||||||
* Glance
|
|
||||||
|
|
||||||
* `Brian Rosmaita (rosmaita) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Glance/rosmaita.txt>`_
|
|
||||||
|
|
||||||
* Heat
|
|
||||||
|
|
||||||
* `Rabi Mishra (ramishra) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Heat/ramishra.txt>`_
|
|
||||||
|
|
||||||
* Horizon
|
|
||||||
|
|
||||||
* `Richard Jones (r1chardj0n3s) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Horizon/r1chardj0n3s.txt>`_
|
|
||||||
|
|
||||||
* I18n
|
|
||||||
|
|
||||||
* `Ian Y. Choi (ianychoi) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/I18n/ianychoi.txt>`_
|
|
||||||
|
|
||||||
* Infrastructure
|
|
||||||
|
|
||||||
* `Jeremy Stanley (fungi) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Infrastructure/fungi.txt>`_
|
|
||||||
|
|
||||||
* Ironic
|
|
||||||
|
|
||||||
* `Jim Rollenhagen (jroll) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Ironic/jroll.txt>`_
|
|
||||||
|
|
||||||
* Karbor
|
|
||||||
|
|
||||||
* `Saggi Mizrahi (saggi) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Karbor/saggi.txt>`_
|
|
||||||
|
|
||||||
* Keystone
|
|
||||||
|
|
||||||
* `Steve Martinelli (stevemar) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Keystone/stevemar.txt>`_
|
|
||||||
|
|
||||||
* Kolla
|
|
||||||
|
|
||||||
* `Michal Jastrzebski (inc0) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Kolla/inc0.txt>`_
|
|
||||||
|
|
||||||
* Kuryr
|
|
||||||
|
|
||||||
* `Antoni Segura Puimedon (apuimedo) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Kuryr/apuimedo.txt>`_
|
|
||||||
|
|
||||||
* Magnum
|
|
||||||
|
|
||||||
* `Adrian Otto (Adrian_Otto) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Magnum/Adrian_Otto.txt>`_
|
|
||||||
|
|
||||||
* Manila
|
|
||||||
|
|
||||||
* `Ben Swartzlander (bswartz) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Manila/bswartz.txt>`_
|
|
||||||
|
|
||||||
* Mistral
|
|
||||||
|
|
||||||
* `Renat Akhmerov (rakhmerov) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Mistral/rakhmerov.txt>`_
|
|
||||||
|
|
||||||
* Monasca
|
|
||||||
|
|
||||||
* `Roland Hochmuth (rhochmuth) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Monasca/rhochmuth.txt>`_
|
|
||||||
|
|
||||||
* Murano
|
|
||||||
|
|
||||||
* `Kirill Zaitsev (kzaitsev_mb) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Murano/kzaitsev_mb.txt>`_
|
|
||||||
|
|
||||||
* Neutron
|
|
||||||
|
|
||||||
* `Armando Migliaccio (armax) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Neutron/armax.txt>`_
|
|
||||||
|
|
||||||
* Nova
|
|
||||||
|
|
||||||
* `Matt Riedemann (mriedem) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Nova/mriedem.txt>`_
|
|
||||||
|
|
||||||
* OpenStackAnsible
|
|
||||||
|
|
||||||
* `Andy Mccrae (andymccr) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/OpenStackAnsible/andymccr.txt>`_
|
|
||||||
|
|
||||||
* OpenStackClient
|
|
||||||
|
|
||||||
* `Dean Troyer (dtroyer) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/OpenStackClient/dtroyer.txt>`_
|
|
||||||
|
|
||||||
* OpenStackSalt
|
|
||||||
|
|
||||||
* Ales Komarek [#IncumbentPTL]_
|
|
||||||
|
|
||||||
* OpenStack Charms
|
|
||||||
|
|
||||||
* `James Page (jamespage) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/OpenStack_Charms/jamespage.txt>`_
|
|
||||||
|
|
||||||
* OpenStack UX
|
|
||||||
|
|
||||||
* Piet Kruithof [#TCAppointed]_
|
|
||||||
|
|
||||||
* Oslo
|
|
||||||
|
|
||||||
* `Joshua Harlow (harlowja) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Oslo/harlowja.txt>`_
|
|
||||||
|
|
||||||
* Packaging Deb
|
|
||||||
|
|
||||||
* `Thomas Goirand (zigo) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Packaging_Deb/zigo.txt>`_
|
|
||||||
|
|
||||||
* Packaging Rpm
|
|
||||||
|
|
||||||
* `Haïkel Guémar (hguemar) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Packaging_Rpm/hguemar.txt>`_
|
|
||||||
|
|
||||||
* Puppet OpenStack
|
|
||||||
|
|
||||||
* `Alex Schultz (mwhahaha) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Puppet_OpenStack/mwhahaha.txt>`_
|
|
||||||
|
|
||||||
* Quality Assurance
|
|
||||||
|
|
||||||
* `Ken'ichi Ohmichi (oomichi) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Quality_Assurance/oomichi.txt>`_
|
|
||||||
|
|
||||||
* Rally
|
|
||||||
|
|
||||||
* `Andrey Kurilin (andreykurilin) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Rally/andreykurilin.txt>`_
|
|
||||||
|
|
||||||
* RefStack
|
|
||||||
|
|
||||||
* `Catherine Diep (catherineD) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/RefStack/catherineD.txt>`_
|
|
||||||
|
|
||||||
* Release Management
|
|
||||||
|
|
||||||
* `Doug Hellmann (dhellmann) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Release_Management/dhellmann.txt>`_
|
|
||||||
|
|
||||||
* Requirements
|
|
||||||
|
|
||||||
* `Tony Breeds (tonyb) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Requirements/tonyb.txt>`_
|
|
||||||
|
|
||||||
* Sahara
|
|
||||||
|
|
||||||
* `Vitaly Gridnev (vgridnev) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Sahara/vgridnev.txt>`_
|
|
||||||
|
|
||||||
* Searchlight
|
|
||||||
|
|
||||||
* `Steve Mclellan (sjmc7) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Searchlight/sjmc7.txt>`_
|
|
||||||
|
|
||||||
* Security
|
|
||||||
|
|
||||||
* Robert Clark [#TCAppointed]_
|
|
||||||
|
|
||||||
* Senlin
|
|
||||||
|
|
||||||
* `Yanyan Hu (yanyanhu) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Senlin/yanyanhu.txt>`_
|
|
||||||
|
|
||||||
* Solum
|
|
||||||
|
|
||||||
* `Devdatta Kulkarni (devkulkarni) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Solum/devkulkarni.txt>`_
|
|
||||||
|
|
||||||
* Stable Branch Maintenance
|
|
||||||
|
|
||||||
* `Tony Breeds (tonyb) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Stable_Branch_Maintenance/tonyb.txt>`_
|
|
||||||
|
|
||||||
* Swift
|
|
||||||
|
|
||||||
* `John Dickinson (notmyname) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Swift/notmyname.txt>`_
|
|
||||||
|
|
||||||
* Tacker
|
|
||||||
|
|
||||||
* `Sridhar Ramaswamy (sridhar_ram) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Tacker/sridhar_ram.txt>`_
|
|
||||||
|
|
||||||
* Telemetry
|
|
||||||
|
|
||||||
* `Julien Danjou (jd__) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Telemetry/jd__.txt>`_
|
|
||||||
|
|
||||||
* Tripleo
|
|
||||||
|
|
||||||
* `Emilien Macchi (emilienm) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Tripleo/emilienm.txt>`_
|
|
||||||
|
|
||||||
* Trove
|
|
||||||
|
|
||||||
* `Amrith Kumar (amrith) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Trove/amrith.txt>`_
|
|
||||||
|
|
||||||
* Vitrage
|
|
||||||
|
|
||||||
* `Ifat Afek (ifat_afek) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Vitrage/ifat_afek.txt>`_
|
|
||||||
|
|
||||||
* Watcher
|
|
||||||
|
|
||||||
* `Antoine Cabot (acabot) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Watcher/acabot.txt>`_
|
|
||||||
|
|
||||||
* Winstackers
|
|
||||||
|
|
||||||
* `Claudiu Belu (claudiub) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Winstackers/claudiub.txt>`_
|
|
||||||
|
|
||||||
* Zaqar
|
|
||||||
|
|
||||||
* `Fei Long Wang (flwang) <https://git.openstack.org/cgit/openstack/election/plain/candidates/ocata/Zaqar/flwang.txt>`_
|
|
||||||
|
|
||||||
.. [#TCAppointed] By TC Appointment
|
|
||||||
.. [#IncumbentPTL] Incumbent PTL
|
|
||||||
|
|
||||||
Elections results
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
* `Freezer <http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_662fe1dfea3b2980>`_
|
|
||||||
* `Ironic <http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_5bbba65c5879783c>`_
|
|
||||||
* `Keystone <http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_f0432662b678f99f>`_
|
|
||||||
* `Kolla <http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_9fa13adc6f6e7148>`_
|
|
||||||
* `Magnum <http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_2fd00175baa579a6>`_
|
|
||||||
* `Quality Assurance <http://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_745c895dcf12c405>`_
|
|
102
openstack_election/cmds/close_election.py
Executable file
102
openstack_election/cmds/close_election.py
Executable file
@ -0,0 +1,102 @@
|
|||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
from __future__ import absolute_import
|
||||||
|
from __future__ import print_function
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
from openstack_election import utils
|
||||||
|
|
||||||
|
|
||||||
|
def check_elected_candidate(candidates):
|
||||||
|
for candidate in candidates:
|
||||||
|
if candidate.get('elected'):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def process(db, round):
|
||||||
|
dirty = False
|
||||||
|
|
||||||
|
# Remove un-needed project
|
||||||
|
if round == 'tc' and len(db['projects']) != 1:
|
||||||
|
dirty = True
|
||||||
|
db['projects'] = ['TC']
|
||||||
|
db['candidates'] = {'TC': db['candidates']['TC']}
|
||||||
|
if round == 'ptl' and 'TC' in db['projects']:
|
||||||
|
dirty = True
|
||||||
|
db['projects'].remove('TC')
|
||||||
|
del db['candidates']['TC']
|
||||||
|
|
||||||
|
# Check for missing and elected candidates
|
||||||
|
for project in db['projects']:
|
||||||
|
candidates = db['candidates'][project]
|
||||||
|
if len(candidates) == 0:
|
||||||
|
print("[W] Appoints candidate for %s" % project)
|
||||||
|
candidates.append({
|
||||||
|
'ircname': 'INSERT_IRCNAME',
|
||||||
|
'email': 'INSERT_EMAIL',
|
||||||
|
'fullname': 'INSERT_FULLNAME',
|
||||||
|
'elected': 'TC-APPOINTED_OR_INCUMBENT-PTL',
|
||||||
|
})
|
||||||
|
dirty = True
|
||||||
|
elif len(candidates) > 1:
|
||||||
|
if not check_elected_candidate(candidates):
|
||||||
|
print("[W] Set elected attribute for winner of %s" % project)
|
||||||
|
for candidate in candidates:
|
||||||
|
candidate['elected'] = False
|
||||||
|
dirty = True
|
||||||
|
if project not in db.setdefault('elections_results', {}):
|
||||||
|
print("[W] Set election id for %s" % project)
|
||||||
|
db['elections_results'][project] = 'INSERT-RESULT-LINK'
|
||||||
|
dirty = True
|
||||||
|
elif not candidates[0].get('elected'):
|
||||||
|
candidates[0]['elected'] = True
|
||||||
|
dirty = True
|
||||||
|
return dirty
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
desc = 'Generate or update an election archive for site rendering'
|
||||||
|
parser = argparse.ArgumentParser(description=desc)
|
||||||
|
parser.add_argument('-v', '--verbose', action="count", default=0,
|
||||||
|
help='Increase program verbosity')
|
||||||
|
parser.add_argument('-r', '--release', default=utils.SERIES_NAME,
|
||||||
|
help='Which nominations to look at')
|
||||||
|
parser.add_argument('-b', '--basedir',
|
||||||
|
default=os.getcwd(),
|
||||||
|
help='Path to git clone of openstack/election')
|
||||||
|
parser.add_argument('round', choices=('ptl', 'tc'))
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
args.outputdir = os.path.join(args.basedir, 'doc', 'source', args.release)
|
||||||
|
args.outputdir = os.path.expanduser(args.outputdir)
|
||||||
|
|
||||||
|
if not os.path.isdir(args.outputdir):
|
||||||
|
os.mkdir(args.outputdir, 0755)
|
||||||
|
|
||||||
|
db_file = os.path.join(args.outputdir, "%s.yaml" % args.round)
|
||||||
|
|
||||||
|
if os.path.isfile(db_file):
|
||||||
|
print("[+] Reloading candidate list %s" % db_file)
|
||||||
|
db = yaml.safe_load(open(db_file))
|
||||||
|
else:
|
||||||
|
db = utils.build_candidates_list(args.release)
|
||||||
|
|
||||||
|
if process(db, args.round):
|
||||||
|
open(db_file, "w").write(yaml.safe_dump(db, default_flow_style=False))
|
||||||
|
print("[W] Proceed to manual update of %s" % db_file)
|
@ -43,6 +43,8 @@ CGIT_URL = 'https://git.openstack.org/cgit'
|
|||||||
PROJECTS_URL = ('%s/openstack/governance/plain/reference/projects.yaml' %
|
PROJECTS_URL = ('%s/openstack/governance/plain/reference/projects.yaml' %
|
||||||
(CGIT_URL))
|
(CGIT_URL))
|
||||||
|
|
||||||
|
PAST_ELECTIONS = ['ocata']
|
||||||
|
|
||||||
conf = yaml.load(open('configuration.yaml'))
|
conf = yaml.load(open('configuration.yaml'))
|
||||||
exceptions = None
|
exceptions = None
|
||||||
|
|
||||||
|
@ -24,6 +24,8 @@ console_scripts =
|
|||||||
check-candidacy = openstack_election.cmds.check_candidacy:main
|
check-candidacy = openstack_election.cmds.check_candidacy:main
|
||||||
check-candidacy-manual = openstack_election.cmds.check_manual:main
|
check-candidacy-manual = openstack_election.cmds.check_manual:main
|
||||||
render-statistics = openstack_election.cmds.render_statistics:main
|
render-statistics = openstack_election.cmds.render_statistics:main
|
||||||
|
update-governance = openstack_election.cmds.update_governance:main
|
||||||
|
close-election = openstack_election.cmds.close_election:main
|
||||||
|
|
||||||
[build_sphinx]
|
[build_sphinx]
|
||||||
all_files = 1
|
all_files = 1
|
||||||
|
Loading…
Reference in New Issue
Block a user