From 2ba99041c601d0ea7b843c20ccc29249fb23473d Mon Sep 17 00:00:00 2001 From: Armando Migliaccio Date: Thu, 6 Oct 2016 18:23:41 -0700 Subject: [PATCH] Add Stadium project scorecard This template will be used to assess Neutron Stadium projects. Change-Id: I146a3e32d2b72b28b407c08fdab6218697bf6a98 --- doc/source/index.rst | 9 ++ specs/stadium/scorecard.rst | 212 ++++++++++++++++++++++++++++++++++++ tests/test_titles.py | 5 +- 3 files changed, 224 insertions(+), 2 deletions(-) create mode 100644 specs/stadium/scorecard.rst diff --git a/doc/source/index.rst b/doc/source/index.rst index 6b81022e9..894ccecff 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -77,6 +77,15 @@ Backlog specs/backlog/** +Stadium +======= + +.. toctree:: + :glob: + :maxdepth: 1 + + specs/stadium/* + ================== Indices and tables ================== diff --git a/specs/stadium/scorecard.rst b/specs/stadium/scorecard.rst new file mode 100644 index 000000000..82c66fd01 --- /dev/null +++ b/specs/stadium/scorecard.rst @@ -0,0 +1,212 @@ +.. + This work is licensed under a Creative Commons Attribution 3.0 Unported + License. + + http://creativecommons.org/licenses/by/3.0/legalcode + +=================== + Scorecard +=================== + +This document template is meant to be used as a scorecard to assess how +a project eligible for inclusion meets the Neutron Stadium requirements +as defined in this `specification `_. +If the outcome of the assessment is negative, the project inclusion is +rejected. + + +Neutron integration +------------------- + +.. _N0: + +* N0. Does the project use the Neutron REST API or rely on proprietary backends? + +.. _N1: + +* N1. Does the project integrate/use neutron-lib? + +.. _N2: + +* N2. Do project members actively contribute to help neutron-lib achieve its + goal? + +.. _N3: + +* N3. Do project members collaborate with the core team to enable subprojects + to loosely integrate with the Neutron core platform by helping with the definition + of modular interfaces? + +.. _N4: + +* N4. How does the project provide networking services? Does it use modular interfaces + as provided by the core platform? + +.. _N5: + +* N5. If the project provides new API extensions, have API extensions been discussed + and accepted by the Neutron drivers team? Please provide links to API specs, if + required. + + +Documentation +------------- + +.. _D1: + +* D1. Does the project have a doc tox target, functional and continuously + working? Provide proof (e.g. links to logs.openstack.org). + +.. _D2: + +* D2. If the project provides API extensions, does the project have an + api-ref tox target, functional and continuously working? Provide proof + (e.g. links to logs.openstack.org). + +.. _D3: + +* D3. Does the project have a releasenotes tox target, functional and + continuously working? Provide proof. + +.. _D4: + +* D4. Describe the types of documentation available: developer, end user, + administrator, deployer. + + +Continuous Integration +---------------------- + +.. _C1: + +* C1. Does the project have a Grafana dashboard showing historical trends of + all the jobs available? Provide proof (links to grafana.openstack.org). + +.. _C2: + +* C2. Does the project have CI for unit coverage? Provide proof (links to + logs.openstack.org). + +.. _C3: + +* C3. Does the project have CI for functional coverage? If so, does it include + DB migration and sync validation? + +.. _C4: + +* C4. Does the project have CI for fullstack coverage? + +.. _C5: + +* C5. Does the project have CI for Tempest coverage? If so, specify nature + (API and/or Scenario). + +.. _C6: + +* C6. How does a project validate upgrades on a continuous basis? Does + the project require or support CI for Grenade coverage? + +.. _C7: + +* C7. Does the project provide multinode CI? + +.. _C8: + +* C8. Does the project support Python 3.x? Provide proof. + + +Release footprint +----------------- + +.. _R1: + +* R1. Does the project adopt `SemVer `_? + +.. _R2: + +* R2. Does the project have release deliverables? Provide proof as available + in the `release repo `_. + +.. _R3: + +* R3. Does the project use upper-constraints? + +.. _R4: + +* Does the project integrate with OpenStack Proposal Bot for requirements updates? + + +Stable backports +---------------- + +.. _S1: + +* S1. Does the project have stable branches and/or tags? Provide history of + backports. + + +Client library +-------------- + +.. _L1: + +* L1. If the project requires a client library, how does it implement CLI and + API bindings? + + +Scorecard +--------- + ++---------------+ +| Scorecard | ++===============+ +| N0_ | | ++---------------+ +| N1_ | | ++---------------+ +| N2_ | | ++---------------+ +| N3_ | | ++---------------+ +| N4_ | | ++---------------+ +| N5_ | | ++---------------+ +| D1_ | | ++---------------+ +| D2_ | | ++---------------+ +| D3_ | | ++---------------+ +| D4_ | | ++---------------+ +| C1_ | | ++---------------+ +| C2_ | | ++---------------+ +| C3_ | | ++---------------+ +| C4_ | | ++---------------+ +| C5_ | | ++---------------+ +| C6_ | | ++---------------+ +| C7_ | | ++---------------+ +| C8_ | | ++---------------+ +| R1_ | | ++---------------+ +| R2_ | | ++---------------+ +| R3_ | | ++---------------+ +| R4_ | | ++---------------+ +| S1_ | | ++-----+---------+ +| L1_ | | ++-----+---------+ + +Final remarks: (To be compiled by PTL). diff --git a/tests/test_titles.py b/tests/test_titles.py index db30479f0..2dd5b7576 100644 --- a/tests/test_titles.py +++ b/tests/test_titles.py @@ -16,7 +16,8 @@ import re import docutils.core import testtools -TO_BE_IGNORED = "postmortem" +POSTMORTEM = "postmortem" +STADIUM = "stadium" class TestTitles(testtools.TestCase): @@ -115,7 +116,7 @@ class TestTitles(testtools.TestCase): files = glob.glob("specs/%s/*" % release) for filename in files: - if TO_BE_IGNORED in filename: + if POSTMORTEM in filename or STADIUM in filename: continue self.assertTrue(filename.endswith(".rst"), "spec's file must uses 'rst' extension.")