Unmaintained status replaces Extended Maintenance
This resolution heavily revises [1] based on feedback from the July 11, 2023 TC meeting. 1. EM is rename to Unmaintained. 2. Branch deletion and creation under unmaintained/. 3. New Gerrit group responsible for the branch. 4. Mention of TC maintaining a checklist and process. [1]. https://review.opendev.org/c/openstack/governance/+/887966 Change-Id: I72ac1eab3c6b1b55b4f2bc017d5befaaee138f5f
This commit is contained in:
parent
9a127069d4
commit
6181213985
101
resolutions/20230724-unmaintained-branches.rst
Normal file
101
resolutions/20230724-unmaintained-branches.rst
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
=============================================================
|
||||||
|
2023-07-24 Unmaintained status replaces Extended Maintenance
|
||||||
|
=============================================================
|
||||||
|
|
||||||
|
Motivation
|
||||||
|
----------
|
||||||
|
|
||||||
|
In "2018-03-01 Extended maintenance for stable branches"[0] the OpenStack
|
||||||
|
Technical Committee specified a new process for transitioning branches to
|
||||||
|
end-of-life, allowing for a phase called extended maintenance where these
|
||||||
|
branches are still open to receive backports, but without receiving
|
||||||
|
official releases.
|
||||||
|
|
||||||
|
Recent discussions in the mailing list[1], forum[2], and in TC meetings
|
||||||
|
highlighted that:
|
||||||
|
|
||||||
|
- The reality of most current EM branches is that they are generally not
|
||||||
|
maintained and may not receive security or bug fixes, or are in
|
||||||
|
a state of not being able to merge those fixes if proposed.
|
||||||
|
- There is a false expectation from users and operators that these branches
|
||||||
|
are in a state of maintenance from the project team and receiving the above.
|
||||||
|
- Project teams have felt a responsibility themselves to attempt to maintain
|
||||||
|
these branches due to the above expectation, in the absence of external
|
||||||
|
actors (operators, users, vendors, etc.)
|
||||||
|
- These branches are taking attention and resources away from maintained
|
||||||
|
branches and new development.
|
||||||
|
- There are no clear processes for transitioning a branch from EM to EOL, and
|
||||||
|
due to the process being manual, the interdependencies in testing between
|
||||||
|
projects, and the burden and goodwill required to transition a project from
|
||||||
|
EM to EOL, only 3 branches have done so in the 5 years since the introduction
|
||||||
|
of the policy.
|
||||||
|
- There are currently 7 extended maintenance branches and this is starting
|
||||||
|
to also affect the good operation of the QA infrastructure.
|
||||||
|
|
||||||
|
Goals
|
||||||
|
-----
|
||||||
|
|
||||||
|
This resolution acknowledges that
|
||||||
|
|
||||||
|
- We need better communication with regard to the status of these branches,
|
||||||
|
specifically, that it is not (and has not been) the responsibility of the
|
||||||
|
project's core team to maintain them. In other words, it is not the
|
||||||
|
responsibility of each project's core team to review, approve, or merge
|
||||||
|
changes, or to keep the CI gates running on these branches.
|
||||||
|
- There is still value and desire in creating a space for collaboration to
|
||||||
|
backport fixes beyond just the officially maintained releases.
|
||||||
|
- There is a need for a clear step-by-step process when transitioning a branch
|
||||||
|
through these phases.
|
||||||
|
|
||||||
|
This resolution therefore attempts to preserve the ability for backports to be
|
||||||
|
proposed and merged to unmaintained branches, while improving communication
|
||||||
|
around the responsibilities and defining clearer processes.
|
||||||
|
|
||||||
|
Unmaintained branches
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
- The phase of Extended Maintenance for a branch is renamed to Unmaintained.
|
||||||
|
- Only SLURP releases are eligible for having an Unmaintained branch.
|
||||||
|
- After a branch is no longer officially maintained, the branch is deleted and
|
||||||
|
a new branch is created under unmaintained/<branch_name>, for example,
|
||||||
|
unmaintained/train.
|
||||||
|
- A group in Gerrit called "<project>-unmaintained-core", for example,
|
||||||
|
"keystone-unmaintained-core", will have +2/+W on these branches. This group
|
||||||
|
may be bootstrapped with or include the "<project>-stable-maint" group, but
|
||||||
|
membership is separate from that group.
|
||||||
|
- The PTL, or a new Unmaintained branch liaison assigned by the PTL, makes
|
||||||
|
group membership decisions for "<project>-unmaintained-core".
|
||||||
|
- No SLURP branches may be skipped between the oldest unmaintained branch
|
||||||
|
and the current maintained releases. This makes sure operators have an
|
||||||
|
upgrade path from one SLURP to the next all the way to maintained releases.
|
||||||
|
- By default, only the latest eligible Unmaintained branch is kept. When a new
|
||||||
|
branch is eligible, the Unmaintained branch liaison must opt-in to keep all
|
||||||
|
previous branches active.
|
||||||
|
- The PTL or Unmaintained branch liaison are allowed to delete an Unmaintained
|
||||||
|
branch early, before its scheduled branch deletion.
|
||||||
|
- The CI for all branches must be in good standing at the time of opt-in.
|
||||||
|
At a minimum this needs to contain all integrated jobs, unit tests, pep8,
|
||||||
|
and functional testing.
|
||||||
|
However, as this is a best-effort CI and to preserve resources, Unmaintained
|
||||||
|
branches will include periodic jobs of no higher than monthly frequency.
|
||||||
|
- The TC will maintain and document the full steps and guidelines for
|
||||||
|
transitioning from maintained to unmaintained, and for the eventual branch
|
||||||
|
deletion.
|
||||||
|
|
||||||
|
Transition
|
||||||
|
----------
|
||||||
|
|
||||||
|
The current Extended Maintenance branches are not SLURP releases and wouldn't
|
||||||
|
be eligible for Unmaintained branches with the guidelines above.
|
||||||
|
The first SLURP release is 2023.1.
|
||||||
|
|
||||||
|
- Until the first SLURP release ends its maintained phase, all current branches
|
||||||
|
are eligible for Unmaintained.
|
||||||
|
- The last 3 active Extended Maintenance branches are automatically
|
||||||
|
transitioned to Unmaintained branches.
|
||||||
|
- The unmaintained branch liaison needs to opt-in to keep more than 3 branches
|
||||||
|
(instead of 1 for SLURP) and the guidelines for opt-in described above apply.
|
||||||
|
|
||||||
|
[0]. https://governance.openstack.org/tc/resolutions/20180301-stable-branch-eol.html
|
||||||
|
[1]. https://lists.openstack.org/pipermail/openstack-discuss/2023-June/033980.html
|
||||||
|
[2]. https://etherpad.opendev.org/p/vancouver-2023-em
|
@ -7,6 +7,16 @@
|
|||||||
When a motion does not result in a change in a reference doc, it can
|
When a motion does not result in a change in a reference doc, it can
|
||||||
be expressed as a resolution.
|
be expressed as a resolution.
|
||||||
|
|
||||||
|
2023
|
||||||
|
====
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
:glob:
|
||||||
|
:reversed:
|
||||||
|
|
||||||
|
2023*
|
||||||
|
|
||||||
2022
|
2022
|
||||||
====
|
====
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user