OpenStackSRUs

Differences between revisions 1 and 50 (spanning 49 versions)
Revision 1 as of 2016-05-05 17:29:52
Size: 1071
Editor: corey.bryant
Comment:
Revision 50 as of 2016-05-06 16:23:50
Size: 3868
Editor: corey.bryant
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Overview == ## page was renamed from ServerTeam/OpenStackStableReleaseUpdates
Line 3: Line 3:
This page documents the Stable Release Update (SRU) process for the Ubuntu Cloud Archive (UCA). === Stable Release Updates for the Ubuntu Cloud Archive ===
Line 5: Line 5:
=== Stable Release Updates === The SRU process for the Ubuntu Cloud Archive follows the same process as [[https://wiki.ubuntu.com/StableReleaseUpdates|Ubuntu Stable Release Updates]]. Most of the points that are highlighted here are covered in further detail in the previous link, and are condensed and reiterated here.
Line 7: Line 7:
SRUs for the UCA generally follow the Ubuntu Stable Release process documented [[https://wiki.ubuntu.com/StableReleaseUpdates|here]]. === SRU Expectations ===

  * Users of official releases expect a high degree of stability.
  * It is critically important to treat SRUs with great caution.
  * SRUs must be accompanied by a strong rationale and must present a low risk of regression.
  * Minimizing risk tends to be well-correlated with minimizing the size of the change. As such, the same bug may need to be fixed in different ways in stable and development releases.
  * Stable release updates will, in general, only be issued in order to fix:
    * New upstream stable point releases for !OpenStack core packages which group several bug fixes together.
    * High-impact bugs (e.g. security vulnerabilities, severe regressions, loss of user data).
    * Bugs that are not high-impact, but have an obviously safe patch.
  * SRUs must have an accompanying bug with well-documented sections for [Impact], [Test Case], and [Regression Potential]. These sections must contain details as described in the [[https://wiki.ubuntu.com/StableReleaseUpdates#Procedure|Ubuntu Stable Release Updates procedure]].
  * Bugs must be fixed in the following order, when possible:
    1. Upstream in the latest !OpenStack release [1]
    1. Then in the corresponding Ubuntu release [2]
    1. Then in the corresponding UCA
    1. After that, the bug can be fixed in the same order for the prior !OpenStack release.
 [1] Landing a fix upstream may not be possible once the upstream branch is in critical-fix or security-fix only mode, or once it has reached EOL. See the [[http://docs.openstack.org/project-team-guide/stable-branches.html|OpenStack upstream stable branch policy]], which specifies the various phases of support for stable branches, which are typically supported for 12 to 18 months. This case must be handled with extreme caution, as fixes would be released directly to the corresponding Ubuntu release without having landed upstream first.
Line 9: Line 25:
 [2] Landing a fix in a corresponding Ubuntu release may not be possible once the Ubuntu release has reached EOL. This case must also be handled with extreme caution, as fixes would be released directly to the corresponding UCA without having first landed in the corresponding Ubuntu release, and possibly without having first landed in the upstream !OpenStack release.
Line 11: Line 29:
* Core OpenStack package repositories can be found [[https://code.launchpad.net/~ubuntu-server-dev/+git|here]]. The process for working with these repositories can be found [[https://wiki.ubuntu.com/ServerTeam/OpenStackPackaging|here]]. Depending on the package and the release, there are different ways to download the package source:
Line 13: Line 31:
* For UCA packages that correspond to a supported Ubuntu release:
 * pull-lp-source <package> [release|version] (e.g. pull-lp-source python-oslo.messaging xenial)
  * Core !OpenStack packages for Liberty+ are [[https://code.launchpad.net/~ubuntu-server-dev/+git|maintained in git on Launchpad]]. The process for working with these repositories is documented [[https://wiki.ubuntu.com/ServerTeam/OpenStackPackaging|here]].
Line 16: Line 33:
* For UCA packages that correspond to an unsupported Ubuntu release:
 * For If the corresponding Ubuntu release has reached end of life, then the package source can be retrieved directly from the UCA staging PPA. For example, for Mitaka [[https://launchpad.net/~ubuntu-cloud-archive/+archive/ubuntu/mitaka-staging/+packages|look here]].
  * Core !OpenStack packages prior to Liberty can be found [[https://code.launchpad.net/~ubuntu-server-dev|maintained in Bazaar on Launchpad]]. The process for working with these branches is documented [[https://wiki.ubuntu.com/ServerTeam/OpenStack|here]].

  * UCA packages that correspond to a supported Ubuntu release can be retrieved with the pull-lp-source tool:
    * pull-lp-source <package> [release|version] (e.g. pull-lp-source python-oslo.messaging xenial)

  * UCA packages that correspond to an unsupported (EOL) Ubuntu release can be retrieved from the corresponding UCA staging PPA:
    * For example, see the [[https://launchpad.net/~ubuntu-cloud-archive/+archive/ubuntu/mitaka-staging/+packages|Mitaka staging PPA]].

Stable Release Updates for the Ubuntu Cloud Archive

The SRU process for the Ubuntu Cloud Archive follows the same process as Ubuntu Stable Release Updates. Most of the points that are highlighted here are covered in further detail in the previous link, and are condensed and reiterated here.

SRU Expectations

  • Users of official releases expect a high degree of stability.
  • It is critically important to treat SRUs with great caution.
  • SRUs must be accompanied by a strong rationale and must present a low risk of regression.
  • Minimizing risk tends to be well-correlated with minimizing the size of the change. As such, the same bug may need to be fixed in different ways in stable and development releases.
  • Stable release updates will, in general, only be issued in order to fix:
    • New upstream stable point releases for OpenStack core packages which group several bug fixes together.

    • High-impact bugs (e.g. security vulnerabilities, severe regressions, loss of user data).
    • Bugs that are not high-impact, but have an obviously safe patch.
  • SRUs must have an accompanying bug with well-documented sections for [Impact], [Test Case], and [Regression Potential]. These sections must contain details as described in the Ubuntu Stable Release Updates procedure.

  • Bugs must be fixed in the following order, when possible:
    1. Upstream in the latest OpenStack release [1]

    2. Then in the corresponding Ubuntu release [2]
    3. Then in the corresponding UCA
    4. After that, the bug can be fixed in the same order for the prior OpenStack release.

  • [1] Landing a fix upstream may not be possible once the upstream branch is in critical-fix or security-fix only mode, or once it has reached EOL. See the OpenStack upstream stable branch policy, which specifies the various phases of support for stable branches, which are typically supported for 12 to 18 months. This case must be handled with extreme caution, as fixes would be released directly to the corresponding Ubuntu release without having landed upstream first.

    [2] Landing a fix in a corresponding Ubuntu release may not be possible once the Ubuntu release has reached EOL. This case must also be handled with extreme caution, as fixes would be released directly to the corresponding UCA without having first landed in the corresponding Ubuntu release, and possibly without having first landed in the upstream OpenStack release.

Getting Package Source

Depending on the package and the release, there are different ways to download the package source:

  • Core OpenStack packages for Liberty+ are maintained in git on Launchpad. The process for working with these repositories is documented here.

  • Core OpenStack packages prior to Liberty can be found maintained in Bazaar on Launchpad. The process for working with these branches is documented here.

  • UCA packages that correspond to a supported Ubuntu release can be retrieved with the pull-lp-source tool:
    • pull-lp-source <package> [release|version] (e.g. pull-lp-source python-oslo.messaging xenial)

  • UCA packages that correspond to an unsupported (EOL) Ubuntu release can be retrieved from the corresponding UCA staging PPA:

ServerTeam/OpenStackSRUs (last edited 2016-06-07 19:49:15 by corey.bryant)