Document branch support policy for extended maint branches

This commit adds a note to the documentation to clarify which branches
tempest will support under the new extended maintenance stable branch
policy. The previous policy of supporting all active branches will not
scale under the new policy as we do not have enough resources to gate
all propsed changes against more than 3 stable branches at a time. With
the addition of this to the documentation we'll clearly define what
branches are in scope for testing of tempest and how/when we should
handle dropping support for a branch.

Change-Id: Ide6dc56b8d37daf6fb26d6a2f20dbf61f06c0998
This commit is contained in:
Matthew Treinish 2018-05-25 19:22:05 -04:00 committed by Ken'ichi Ohmichi
parent 11a62d47e6
commit 210f18464d
1 changed files with 31 additions and 0 deletions

View File

@ -419,3 +419,34 @@ For new tests being added to Tempest the assumption is that the API being
tested is considered stable and adheres to the OpenStack API stability
guidelines. If an API is still considered experimental or in development then
it should not be tested by Tempest until it is considered stable.
Stable Support Policy
---------------------
Since the `Extended Maintenance policy`_ for stable branches was adopted
OpenStack projects will keep stable branches around after a "stable" or
"maintained" period for a phase of indeterminate length called "Extended
Maintenance". Prior to this resolution Tempest supported all stable branches
which were supported upstream. This policy does not scale under the new model
as Tempest would be responsible for gating proposed changes against an ever
increasing number of branches. Therefore due to resource constraints, Tempest
will only provide support for branches in the "Maintained" phase from the
documented `Support Phases`_. When a branch moves from the *Maintained* to the
*Extended Maintenance* phase, Tempest will tag the removal of support for that
branch as it has in the past when a branch goes end of life.
The expectation for *Extended Maintenance* phase branches is that they will continue
running Tempest during that phase of support. Since the REST APIs are stable
interfaces across release boundaries, branches in these phases should run
Tempest from master as long as possible. But, because we won't be actively
testing branches in these phases, it's possible that we'll introduce changes to
Tempest on master which will break support on *Extended Maintenance* phase
branches. When this happens the expectation for those branches is to either
switch to running Tempest from a tag with support for the branch, or blacklist
a newly introduced test (if that is the cause of the issue). Tempest will not
be creating stable branches to support *Extended Maintenance* phase branches, as
the burden is on the *Extended Maintenance* phase branche maintainers, not the Tempest
project, to support that branch.
.. _Extended Maintenance policy: https://governance.openstack.org/tc/resolutions/20180301-stable-branch-eol.html
.. _Support Phases: https://docs.openstack.org/project-team-guide/stable-branches.html#maintenance-phases