Reorganize specs tree

* Move liberty -> approved
* Move completed liberty specs to liberty-implemented
* Move kilo -> kilo-implemented
* Move juno -> juno-implemented
* Move kilo-archive -> backlog (moving these to approved causes test
  failures because the template changed since kilo)
* Reword the header for the index page
* Update unit tests to look at the new "approved" folder

** NOTE **

This patch does not create placeholders in the previous locations
for each spec. This will be done in the following patch so that the
history is preserved. Both patches must be landed together so that web
links are not broken for long.

Change-Id: I61f02731150ea944eafaa8c6ea702210364b3478
Implements: blueprint feature-based-releases
This commit is contained in:
Devananda van der Veen 2015-08-01 08:05:55 -07:00 committed by Jim Rollenhagen
parent 117b2194d5
commit d6caa9a083
74 changed files with 32 additions and 30 deletions

View File

@ -9,19 +9,19 @@ how we review and merge changes to the code itself.
The layout of this repository is::
specs/<release>/
specs/approved/
specs/backlog`/
specs/<cycle>-implemented/
There are also placeholder directories for old links that have been moved.
Specifications must follow the template which can be found at
`doc/source/specs/template.rst`.
Specifications are proposed for a given release by adding them to the
`specs/<release>` directory and posting it for review. The implementation
status of a blueprint for a given release can be found by looking at the
blueprint in launchpad. Not all approved blueprints will get fully implemented.
Specifications have to be re-proposed for every release. The review may be
quick, but even if something was previously approved, it should be re-reviewed
to make sure it still makes sense as written.
Specifications are proposed by adding them to the `specs/approved` directory
and posting it for review. When a spec is fully implemented, it should be
moved to specs/<cycle>-implemented. Not all approved blueprints will get
fully implemented.
Prior to the Juno development cycle, this repository was not used for spec
reviews. Reviews prior to Juno were completed entirely through Launchpad

View File

@ -5,24 +5,34 @@ Ironic Project Specifications
=============================
This serves as a reference for approved specs within the current, and each
prior, release cycle. At the end of a cycle, specs which were approved but not
implemented at all will be deleted and should be re-proposed. Specs which were
partly implemented will be modified to indicate such, and a continuation spec
should be proposed for the new cycle. Additionally, a "backlog" of ideas is
maintained to indicate the agreed-upon goals for the project which have no
specific work being done on them at this time.
prior, development cycle. Specs begin life in the "approved" tree, and once
implemented, are moved to the "implemented" tree for that development cycle.
At the end of a cycle, specs which were partially implemented should remain
in the "approved" tree, only moving to "implemented" when the work is
completely done. Additionally, a "backlog" of ideas is maintained to indicate
the agreed-upon goals for the project which have no specific work being done
on them at this time.
Current Cycle
=============
Liberty
-------
Approved
--------
.. toctree::
:glob:
:maxdepth: 1
specs/liberty/*
specs/approved/*
Implemented in Liberty
----------------------
.. toctree::
:glob:
:maxdepth: 1
specs/liberty-implemented/*
Idea back-log
-------------
@ -46,15 +56,7 @@ Implemented specs:
:glob:
:maxdepth: 1
specs/kilo/*
Unimplemented, but approved, specs:
.. toctree::
:glob:
:maxdepth: 1
specs/kilo-archive/*
specs/kilo-implemented/*
Juno
----
@ -63,7 +65,7 @@ Juno
:glob:
:maxdepth: 1
specs/juno/*
specs/juno-implemented/*
==================

View File

@ -18,7 +18,7 @@ import docutils.core
import testtools
RELEASE = 'liberty'
CURRENT_DIR = 'approved'
FIRST_TITLE = 'Problem description'
@ -162,7 +162,7 @@ class TestTitles(testtools.TestCase):
def test_current_cycle_template(self):
template_titles = self._get_template_titles()
files = glob.glob('specs/%s/*' % RELEASE)
files = glob.glob('specs/%s/*' % CURRENT_DIR)
for filename in files:
self._check_file_ext(filename)