Jump to: navigation, search

Difference between revisions of "StarlingX/Release Plan"

Line 4: Line 4:
 
----
 
----
 
== Release Definition ==
 
== Release Definition ==
 
 
A StarlingX milestone/release is a tagged branch in the source code repositories that:
 
A StarlingX milestone/release is a tagged branch in the source code repositories that:
 
* is considered stable and can be used for repeatable builds
 
* is considered stable and can be used for repeatable builds
Line 15: Line 14:
  
 
== Release Cadence and Schedule ==
 
== Release Cadence and Schedule ==
 
 
'''Releases are published in a time based fashion:'''
 
'''Releases are published in a time based fashion:'''
 
* The initial StarlingX release is planned for October 2018
 
* The initial StarlingX release is planned for October 2018
 
* From 2019, the regular release cadence is 3 releases/year; released in March, July, and November.
 
* From 2019, the regular release cadence is 3 releases/year; released in March, July, and November.
  
== Release Lifecycle ==
+
=== Formal Releases ===
=== Release Definition Phase ===
 
*
 
*
 
 
 
=== Release Planning Phase ===
 
*
 
*
 
 
 
=== Release Execution Phase ===
 
*
 
*
 
 
 
=== Code Freeze and RC Phase ===
 
*
 
*
 
 
 
==== Formal Releases ====
 
 
* Released three times per year
 
* Released three times per year
 
* For each release, the code freeze for that release is four weeks prior to the release date.
 
* For each release, the code freeze for that release is four weeks prior to the release date.
Line 47: Line 28:
 
* Release is tagged as YYYY.MM.0
 
* Release is tagged as YYYY.MM.0
  
==== Monthly Milestones ====
+
=== Monthly Milestones ===
 
* Informal milestones to be used by the test team for a pre-defined sanity/regression test cycle.
 
* Informal milestones to be used by the test team for a pre-defined sanity/regression test cycle.
 
* Created each month in the 2nd week of the month a branch will be pulled.
 
* Created each month in the 2nd week of the month a branch will be pulled.
Line 56: Line 37:
 
* Milestone is tagged as YYYY.MM.0
 
* Milestone is tagged as YYYY.MM.0
  
==== Long Term Support ====
+
== Release Milestones ==
* To be defined based on release content, not time based
+
StarlingX follows the openstack release milestones. The criteria for each milestone is defined to align more closely with the StarlingX deliverables/development cycle
 +
* Milestone-1:
 +
** Release priorities and major features defined.
 +
** High level resourcing secured.
 +
* Milestone-2:
 +
** Spec Freeze
 +
** Feature Development underway
 +
** TBD: others?  Doc deliverables?  Test Automation deliverables?
 +
* Milestone-3:
 +
** Feature Freeze: All Feature Code Submitted and Feature Testing Complete
 +
** No blocking issues from Automated Sanity and Regression
 +
** Release Test Plan Defined  (any specific test automation deliverables?)
 +
** Preliminary Documentation Available
 +
** TBD: any criteria for  # of open bugs for the milestone declaration?
 +
* RC1 (aka RC period start):
 +
** Release Branch Created & First Release Candidate Tagged
 +
** RC ISO and supporting build artifacts posted on CENGN (?)
 +
*** To be discussed: how often do we build an "RC" ISO and post during the RC period?
 +
** Release Testing Start
 +
** Only Bug fixes are allowed in the release branch
 +
* Final Release
 +
** Release Testing Complete and Pass Rate meets project criteria (> 95% ?)
 +
** All release gating issues are addressed or reviewed/accepted for deferral
 +
** Release tagged on release branch
 +
** Release ISO and supporting build artifacts posed on CENGN (?)
 +
** Final documentation posted on docs.startlingx.io
 +
 
 +
== Release Maintenance ==
 +
* Formal releases are supported for 12 months. This allows support to two previous StarlingX (n and n-1) releases.
 +
* During the maintenance window, if there are fixes on the release branch, a new maintenance release will be created once a month.  (will need to include a mini-test cycle) and the corresponding binaries posted publicly on CENGN.
 +
* Long Term Support (if any): TBD
  
=== Support Length ===
 
* Formal releases are supported for 8 months; support for the '''n''' and '''n-1''' releases.
 
* Long Term Support is ""TBD""
 
  
 
== List of Releases ==
 
== List of Releases ==
Line 67: Line 75:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! Feature Freeze !! Release Date !! End of Life Date !! Docs
+
! Version !! Milestone-1 !! Milestone-2 !! Milestone-3 !! RC1 !! Release Date !! End of Life Date
|-
 
| 2018.10.0 || 2018/09/26 || 2018/10/24 || TBD || TBD
 
|-
 
| 2019.03.0 || 2019/02/13 || 2018/03/13 || TBD || TBD
 
 
|-
 
|-
| 2019.07.0 || TBD || TBD || TBD || TBD
+
| 2018.10.0 || N/A || N/A || 2018/09/26 || 2018/09/28|| 2018/10/24 || TBD  
 
|-
 
|-
| 2019.11.0 || TBD || TBD || TBD || TBD
+
| 2019.xx.0 || TBD || TBD || TBD || TBD || TBD || TBD
 
|-
 
|-
| ... || || ||  
+
| 2019.yy.0 || TBD || TBD || TBD || TBD || TBD || TBD
 
|}
 
|}
  

Revision as of 03:57, 4 December 2018

Releases

StarlingX is released periodically; one release in 2018 and three releases/year starting in 2019. A release consists of a branch in the source code repositories that enables repeatable builds over time.


Release Definition

A StarlingX milestone/release is a tagged branch in the source code repositories that:

  • is considered stable and can be used for repeatable builds
  • will have no additional features added
  • will backport bug fixes for critical issues only
  • will be maintained in the canonical repositories for a specified minimum period
  • The list of repos included is maintained in stx-manifest/default.xml (or similar) for any given release. (Note: this file included non-StarlingX-managed repos, only repos from the "starlingx" and "stx-staging" remotes are included.)
  • The actual release is a tag on the corresponding branch, i.e. r/2018.10 release branch will be initially tagged as 2018.10.0


Release Cadence and Schedule

Releases are published in a time based fashion:

  • The initial StarlingX release is planned for October 2018
  • From 2019, the regular release cadence is 3 releases/year; released in March, July, and November.

Formal Releases

  • Released three times per year
  • For each release, the code freeze for that release is four weeks prior to the release date.
  • Branch name format r/YYYY.MM[.n]
    • 'r/' is the branch name prefix (release)
    • .n is a sequence number appended if more than one branch is created in a given month
r/2018.10
  • Release Candidate is tagged as YYYY.MM.rcX
  • Release is tagged as YYYY.MM.0

Monthly Milestones

  • Informal milestones to be used by the test team for a pre-defined sanity/regression test cycle.
  • Created each month in the 2nd week of the month a branch will be pulled.
  • Branch name format m/YYYY.MM
    • 'm/' is the branch name prefix (milestone)
    • .n is a sequence number appended if more than one branch is created in a given month
m/2018.07
  • Milestone is tagged as YYYY.MM.0

Release Milestones

StarlingX follows the openstack release milestones. The criteria for each milestone is defined to align more closely with the StarlingX deliverables/development cycle

  • Milestone-1:
    • Release priorities and major features defined.
    • High level resourcing secured.
  • Milestone-2:
    • Spec Freeze
    • Feature Development underway
    • TBD: others? Doc deliverables? Test Automation deliverables?
  • Milestone-3:
    • Feature Freeze: All Feature Code Submitted and Feature Testing Complete
    • No blocking issues from Automated Sanity and Regression
    • Release Test Plan Defined (any specific test automation deliverables?)
    • Preliminary Documentation Available
    • TBD: any criteria for # of open bugs for the milestone declaration?
  • RC1 (aka RC period start):
    • Release Branch Created & First Release Candidate Tagged
    • RC ISO and supporting build artifacts posted on CENGN (?)
      • To be discussed: how often do we build an "RC" ISO and post during the RC period?
    • Release Testing Start
    • Only Bug fixes are allowed in the release branch
  • Final Release
    • Release Testing Complete and Pass Rate meets project criteria (> 95% ?)
    • All release gating issues are addressed or reviewed/accepted for deferral
    • Release tagged on release branch
    • Release ISO and supporting build artifacts posed on CENGN (?)
    • Final documentation posted on docs.startlingx.io

Release Maintenance

  • Formal releases are supported for 12 months. This allows support to two previous StarlingX (n and n-1) releases.
  • During the maintenance window, if there are fixes on the release branch, a new maintenance release will be created once a month. (will need to include a mini-test cycle) and the corresponding binaries posted publicly on CENGN.
  • Long Term Support (if any): TBD


List of Releases

Planned

Version Milestone-1 Milestone-2 Milestone-3 RC1 Release Date End of Life Date
2018.10.0 N/A N/A 2018/09/26 2018/09/28 2018/10/24 TBD
2019.xx.0 TBD TBD TBD TBD TBD TBD
2019.yy.0 TBD TBD TBD TBD TBD TBD

Release Team

  • For team members and other information, visit the StarlingX Releases sub-project wiki page here

Release Diagram

Diagram needs to be updated Stx Release Plan.png