Update retire SIG process

Allow retire a non-finish SIG
* add archived-sigs.yaml to collect SIGs consider retired but didn't
  finish it's mission.
* Update documentation
* Add status `completed` and `archived` to SIG.
* Add `reason` field to SIG
* Show retired SIGs in index page

Change-Id: I6e5f35aa093340d6e553fe52c6ffe9061bc9191b
This commit is contained in:
ricolin 2021-03-25 17:23:01 +08:00
parent 6885dafd0d
commit 43c6abee39
5 changed files with 88 additions and 3 deletions

5
archived-sigs.yaml Normal file
View File

@ -0,0 +1,5 @@
---
# All SIGs here have not yet completed their mission but are considered
# retired. You can propose to resume these SIGs if you think the SIG's goal
# is still valid and you have someone willing to chair the SIG.

View File

@ -1,3 +1,6 @@
---
# All SIGs here have completed their mission and are considered retired.
Upgrade:
chairs:
- name: James Page
@ -12,4 +15,9 @@ Upgrade:
upgrades and online 'rolling' upgrades, by providing a forum for
cross-project collaboration between operators and developers to
document and codify best practice for upgrading OpenStack.
status: completed
reason: >
OpenStack is considered valid for both offline 'fast-forward' upgrades and
online 'rolling' upgrades. Therefore, we consider mission for Upgrade SIG
is completed.
url: https://wiki.openstack.org/wiki/Upgrade_SIG

View File

@ -83,6 +83,8 @@ class SIGTable(Table):
rows = []
all_teams = _teams_yaml
if not all_teams:
return []
for team in sorted(all_teams.keys()):
trow = nodes.row()
# Iterate over the headers in the same order every time.
@ -123,6 +125,10 @@ class SIGTable(Table):
return [table]
class RetiredSIGTable(SIGTable):
HEADERS = ('Name', 'Status', 'Chairs', 'Scope', 'Reason')
WIDTHS = [15, 15, 25, 60, 60]
def setup(app):
app.add_directive('sigtable', SIGTable)
app.add_directive('retired-sigtable', RetiredSIGTable)

View File

@ -29,3 +29,22 @@ same way contributing to an OpenStack project team does.
:maxdepth: 4
reference/sig-guideline
Retired SIGs
============
Archived SIGs
-------------
These SIGs are retired but have not yet completed their mission.
.. retired-sigtable::
:datafile: ../../archived-sigs.yaml
Completed SIGs
--------------
These SIGs are retired and have completed their mission.
.. retired-sigtable::
:datafile: ../../completed-sigs.yaml

View File

@ -76,15 +76,60 @@ unknown
SIG status is unknown, the TC is currently working to update its status.
completed
~~~~~~~~~
This SIG's mission is considered completed and the SIG itself is retired.
archived
~~~~~~~~
This SIG is considered retired but didn't complete its mission.
Retiring a SIG
--------------
Inactive SIGs can be made "advisory" if SIG members are still available for
answering questions, or they can be retired.
To retire a SIG, propose a change that moves its definition from
`SIG Governance`_ to the `Completed SIGs`_ file, removing the status field.
Before retiring
~~~~~~~~~~~~~~~
Before considering to retire a SIG, you need to first provide discussion
in community to make sure it's common agreement to retire it. This should at
least include a mailing list. You can also consider to host an offical meeting
to make sure opinions are received and noted.
The next step is to take care of SIG resources. You need to make sure resources
maintained by this SIG can find new maintainer group. Resources mean
documentation, etherpads, Wiki pages, repositories, etc. Make sure these
resources can be found even after SIG is retired.
For repositories, you can consider to retire them (see
`Repository retirement`_ process) or move it under other group's maintenance.
For resources which are no longer needed (resources like IRC channels, meeting
schedule, etc.), you need to delete them at this stage.
Retire a mission completed SIG
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To retire a SIG which is considered mission completed. You need to propose a
change that moves its definition from `SIG Governance`_ to the
`Completed SIGs`_ file, changes the `status` field to `completed`, and changes
the `reason` field to provide explanation why the SIG is considered completed
and where we can found documentations or references (if any).
Retire an archived SIG
~~~~~~~~~~~~~~~~~~~~~~
Be careful when you consider retiring a SIG which didn't finish its mission.
You need to make sure discussions are made with clear agreement on retiring the
SIG, and resources are well maintained (See `Before retiring`_).
To retire a SIG which didn't finish it's mission, You need to propose a
change that moves its definition from `SIG Governance`_ to the
`Archived SIGs`_ file, changes the `status` field to `archived`, and changes
the `reason` field to provide proper explanation why we archive the SIG as not
completed and where we can find documentations or references (if any).
Best practices for running a SIG
================================
@ -187,7 +232,7 @@ A classic use case for a git repository in a SIG is to publish peer-reviewed
documentation. Using `Sphinx`_ and `Zuul jobs`_ it is easy to publish
documentation under `docs.openstack.org`_.
A good example of such a repository is `openstack/auto-scaling-sig`, which
A good example of such a repository is `openstack/auto-scaling-sig`_, which
includes `Sphinx`_ configuration and `Zuul jobs`_ to publish the
`Auto-scaling SIG docs`_.
@ -206,7 +251,9 @@ in StoryBoard. Here is an `example for add config in gerrit/projects`_.
.. _OpenStack Technical Committee: https://governance.openstack.org/tc/
.. _example of a SIG creation request: https://review.opendev.org/#/c/632252/
.. _OpenStack-discuss mailing-list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-discuss
.. _Repository retirement: ` https://docs.openstack.org/project-team-guide/repository.html#retiring-a-repository
.. _Completed SIGs: https://opendev.org/openstack/governance-sigs/src/branch/master/completed-sigs.yaml
.. _Archived SIGs: https://opendev.org/openstack/governance-sigs/src/branch/master/archived-sigs.yaml
.. _IRC services: https://docs.openstack.org/infra/system-config/irc.html
.. _example for adding status/meeting bot to channel: https://review.opendev.org/#/c/656796
.. _example for adding meeting schedule: https://review.opendev.org/#/c/656810/