skeleton version of newton schedule

Add a tool to produce the schedule table, and add a table for newton's
schedule based on when the summit is and the three week period we have
for mitaka between the release and the newton summit.

Change-Id: I4a4a16426b00c5f21a10d0ce9de221d588ee5fe5
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
Doug Hellmann 2016-02-03 14:58:21 -05:00
parent 79acf7a993
commit 2d833e1dfe
5 changed files with 448 additions and 3 deletions

View File

@ -4,7 +4,10 @@
Projected Release Date:
Release schedule:
.. toctree::
:maxdepth: 1
schedule
.. deliverable::
:series: newton

View File

@ -0,0 +1,215 @@
=========================
Newton release schedule
=========================
+-------------------+---------------------------+-----------------------------+
| Week | Cross-project events | Project-specific events |
+============+======+===========================+=============================+
| Apr 04-08 | | :ref:`m-release` | |
+------------+------+---------------------------+-----------------------------+
| Apr 11-15 | R-26 | | |
+------------+------+---------------------------+-----------------------------+
| Apr 18-22 | R-25 | | |
+------------+------+---------------------------+-----------------------------+
| Apr 25-29 | R-24 | :ref:`n-design-summit` | |
+------------+------+---------------------------+-----------------------------+
| May 02-06 | R-23 | | |
+------------+------+---------------------------+-----------------------------+
| May 09-13 | R-22 | | |
+------------+------+---------------------------+-----------------------------+
| May 16-20 | R-21 | | |
+------------+------+---------------------------+-----------------------------+
| May 23-27 | R-20 | | |
+------------+------+---------------------------+-----------------------------+
| May 30-03 | R-19 | | |
+------------+------+---------------------------+-----------------------------+
| Jun 06-10 | R-18 | | |
+------------+------+---------------------------+-----------------------------+
| Jun 13-17 | R-17 | | |
+------------+------+---------------------------+-----------------------------+
| Jun 20-24 | R-16 | | |
+------------+------+---------------------------+-----------------------------+
| Jun 27-01 | R-15 | | |
+------------+------+---------------------------+-----------------------------+
| Jul 04-08 | R-14 | | |
+------------+------+---------------------------+-----------------------------+
| Jul 11-15 | R-13 | | |
+------------+------+---------------------------+-----------------------------+
| Jul 18-22 | R-12 | | |
+------------+------+---------------------------+-----------------------------+
| Jul 25-29 | R-11 | | |
+------------+------+---------------------------+-----------------------------+
| Aug 01-05 | R-10 | | |
+------------+------+---------------------------+-----------------------------+
| Aug 08-12 | R-9 | | |
+------------+------+---------------------------+-----------------------------+
| Aug 15-19 | R-8 | | |
+------------+------+---------------------------+-----------------------------+
| Aug 22-26 | R-7 | | |
+------------+------+---------------------------+-----------------------------+
| Aug 29-02 | R-6 | | |
+------------+------+---------------------------+-----------------------------+
| Sep 05-09 | R-5 | | |
+------------+------+---------------------------+-----------------------------+
| Sep 12-16 | R-4 | | |
+------------+------+---------------------------+-----------------------------+
| Sep 19-23 | R-3 | | |
+------------+------+---------------------------+-----------------------------+
| Sep 26-30 | R-2 | | |
+------------+------+---------------------------+-----------------------------+
| Oct 03-07 | R-1 | | |
+------------+------+---------------------------+-----------------------------+
| Oct 10-14 | R+0 | :ref:`n-release` | |
+------------+------+---------------------------+-----------------------------+
| Oct 10-14 | R+1 | | |
+------------+------+---------------------------+-----------------------------+
| Oct 17-21 | R+2 | | |
+------------+------+---------------------------+-----------------------------+
| Oct 24-28 | R+3 | :ref:`o-design-summit` | |
+------------+------+---------------------------+-----------------------------+
Cross-project events
====================
.. _n-design-summit:
Newton Design Summit
--------------------
`Planning in Austin <https://www.openstack.org/summit/austin-2016/>`__
.. _n-1:
newton-1 milestone
------------------
XXX is the newton-1 milestone window for projects following the
`release:cycle-with-milestones`_ model.
.. _release:cycle-with-milestones: http://governance.openstack.org/reference/tags/release_cycle-with-milestones.html
.. _n-2:
newton-2 milestone
------------------
XXX is the newton-2 milestone window for projects following the
`release:cycle-with-milestones`_ model.
.. _n-final-lib:
Final release for non-client libraries
--------------------------------------
Libraries that are not client libraries (Oslo and others) should issue their
final release during this week. That allows to give time for last-minute
changes before feature freeze.
.. _n-3:
newton-3 milestone
------------------
XXX is the newton-3 milestone window for projects following the
`release:cycle-with-milestones`_ model.
.. _n-ff:
Feature freeze
--------------
The newton-3 milestone marks feature freeze for projects following the
`release:cycle-with-milestones`_ model. No featureful patch should be landed
after this point. Exceptions may be granted by the project PTL.
.. _n-final-clientlib:
Final release for client libraries
----------------------------------
Client libraries should issue their final release during this week, to match
feature freeze.
.. _n-soft-sf:
Soft StringFreeze
-----------------
You are no longer allowed to accept proposed changes containing modifications
in user-facing strings. Such changes should be rejected by the review team
and postponed until the next series development opens (which should happen
when RC1 is published).
.. _n-rc1:
RC1 target week
---------------
The week of XXX is the target date for projects following the
`release:cycle-with-milestones`_ model to issue their first release candidate.
.. _n-hard-sf:
Hard StringFreeze
-----------------
This happens when the RC1 for the project is tagged. At this point, ideally
no strings are changed (or added, or removed), to give translator time to
finish up their efforts.
.. _n-finalrc:
Final RCs and intermediary releases
-----------------------------------
The week of XXX is the last week to issue release candidates
or intermediary releases before release week. On release week only
final-release-critical releases will be accepted (at the discretion of the
release team).
.. _n-release:
Newton release
--------------
The Newton coordinated release will happen on XXX.
Project-specific events
=======================
Elections
---------
.. _o-ptl-nomination:
Ocata cycle PTLs self-nomination
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Project team lead candidates for the Ocata cycle should announce their
candidacy during this week.
.. _o-ptl-election:
Ocata cycle PTLs election
^^^^^^^^^^^^^^^^^^^^^^^^^
Election week for Project team leads (where an election must be held to
determine the winner).
.. _o-tc-nomination:
TC member self-nomination
^^^^^^^^^^^^^^^^^^^^^^^^^
Candidates for the partial Technical Committee member renewal should announce
their candidacy during this week.
.. _o-tc-election:
TC member election
^^^^^^^^^^^^^^^^^^
Election for partially renewing Technical Committee members will happen
during this week.

View File

@ -2,9 +2,13 @@
Ocata
========
Projected Release Date:
Projected Release Date: TBD
.. toctree::
:maxdepth: 1
schedule
Release schedule:
.. deliverable::
:series: ocata

View File

@ -0,0 +1,149 @@
========================
Ocata release schedule
========================
Cross-project events
====================
.. _o-design-summit:
Ocata Design Summit
--------------------
`Planning in Barcelona <https://www.openstack.org/summit/barcelona-2016/>`__
.. _o-1:
ocata-1 milestone
------------------
XXX is the ocata-1 milestone window for projects following the
`release:cycle-with-milestones`_ model.
.. _release:cycle-with-milestones: http://governance.openstack.org/reference/tags/release_cycle-with-milestones.html
.. _o-2:
ocata-2 milestone
------------------
XXX is the ocata-2 milestone window for projects following the
`release:cycle-with-milestones`_ model.
.. _o-final-lib:
Final release for non-client libraries
--------------------------------------
Libraries that are not client libraries (Oslo and others) should issue their
final release during this week. That allows to give time for last-minute
changes before feature freeze.
.. _o-3:
ocata-3 milestone
------------------
XXX is the ocata-3 milestone window for projects following the
`release:cycle-with-milestones`_ model.
.. _o-ff:
Feature freeze
--------------
The ocata-3 milestone marks feature freeze for projects following the
`release:cycle-with-milestones`_ model. No featureful patch should be landed
after this point. Exceptions may be granted by the project PTL.
.. _o-final-clientlib:
Final release for client libraries
----------------------------------
Client libraries should issue their final release during this week, to match
feature freeze.
.. _o-soft-sf:
Soft StringFreeze
-----------------
You are no longer allowed to accept proposed changes containing modifications
in user-facing strings. Such changes should be rejected by the review team
and postponed until the next series development opens (which should happen
when RC1 is published).
.. _o-rc1:
RC1 target week
---------------
The week of XXX is the target date for projects following the
`release:cycle-with-milestones`_ model to issue their first release candidate.
.. _o-hard-sf:
Hard StringFreeze
-----------------
This happens when the RC1 for the project is tagged. At this point, ideally
no strings are changed (or added, or removed), to give translator time to
finish up their efforts.
.. _o-finalrc:
Final RCs and intermediary releases
-----------------------------------
The week of XXX is the last week to issue release candidates
or intermediary releases before release week. On release week only
final-release-critical releases will be accepted (at the discretion of the
release team).
.. _o-release:
Ocata release
--------------
The Ocata coordinated release will happen on XXX.
Project-specific events
=======================
Elections
---------
.. _p-ptl-nomination:
P cycle PTLs self-nomination
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Project team lead candidates for the Ocata cycle should announce their
candidacy during this week.
.. _p-ptl-election:
Ocata cycle PTLs election
^^^^^^^^^^^^^^^^^^^^^^^^^
Election week for Project team leads (where an election must be held to
determine the winner).
.. _p-tc-nomination:
TC member self-nomination
^^^^^^^^^^^^^^^^^^^^^^^^^
Candidates for the partial Technical Committee member renewal should announce
their candidacy during this week.
.. _p-tc-election:
TC member election
^^^^^^^^^^^^^^^^^^
Election for partially renewing Technical Committee members will happen
during this week.

74
tools/list_weeks.py Executable file
View File

@ -0,0 +1,74 @@
#!/usr/bin/env python
from __future__ import print_function
import argparse
import datetime
parser = argparse.ArgumentParser()
parser.add_argument(
'previous_release',
help='date of previous release, YYYY-MM-DD',
)
parser.add_argument(
'next_release',
help='date of upcoming release, YYYY-MM-DD',
)
parser.add_argument(
'summit',
help='date of upcoming summit after the release, YYYY-MM-DD',
)
args = parser.parse_args()
previous_release_date = datetime.datetime.strptime(
args.previous_release, '%Y-%m-%d')
next_release_date = datetime.datetime.strptime(
args.next_release, '%Y-%m-%d')
summit_date = datetime.datetime.strptime(
args.summit, '%Y-%m-%d')
week = datetime.timedelta(weeks=1)
work_week = datetime.timedelta(days=4)
# Build the list of Mondays leading up to the release.
weeks = []
current = previous_release_date
while current < next_release_date:
current += week
weeks.append(current)
n_weeks = len(weeks)
# Add the list of Mondays following the release leading up to the
# summit.
while current <= summit_date:
weeks.append(current)
current += week
print('''
+-------------------+---------------------------+-----------------------------+
| Week | Cross-project events | Project-specific events |
+============+======+===========================+=============================+
''', end='')
week_fmt = '''
| {:<10} | {:<4} |{:<27}|{:<29}|
+------------+------+---------------------------+-----------------------------+
'''.strip()
def show_week(week, name):
date_range = '{:%b %d}-{:%d}'.format(
week,
week + work_week,
)
print(week_fmt.format(date_range, name, '', ''))
# Print the date for the previous release
show_week(previous_release_date, '')
for n, week in enumerate(weeks, 1):
show_week(week, 'R{:<+3d}'.format(n - n_weeks))