Jump to: navigation, search

Difference between revisions of "StarlingX/Release Plan"

m
Line 1: Line 1:
 
<big><big> '''Releases''' </big></big>
 
<big><big> '''Releases''' </big></big>
  
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.
+
StarlingX is released periodically; one beta release in 2018 and two releases/year starting in 2019.  A release consists of a branch in the source code repositories that enables repeatable builds over time.
 
----
 
----
 
== Release Definition ==
 
== Release Definition ==
Line 11: Line 11:
 
* 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 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
 
* 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
 
+
* In addition to source, the corresponding binaries will be made available on the CENGN mirror (see the [[StarlingX/Build#Starling_X_Mirror|the build team page]] for more details).
  
 
== 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 (beta) StarlingX release was released in October 2018.
* From 2019, the regular release cadence is 3 releases/year; released in March, July, and November.
+
* In 2019, StarlingX releases will align with openstack releases. StarlingX will have two releases a year, following a cycle-trailing model relative to openstack core releases.
 +
** The goal is to release the StarlingX release 6 weeks (TBC) after the corresponding openstack release.
  
 
=== Formal Releases ===
 
=== Formal Releases ===
* Released three times per year
+
* Released two 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]
 
* Branch name format r/YYYY.MM[.n]
 
** 'r/' is the branch name prefix (release)
 
** 'r/' is the branch name prefix (release)
Line 86: Line 86:
 
== Release Team ==
 
== Release Team ==
 
* For team members and other information, visit the StarlingX Releases sub-project wiki page [https://wiki.openstack.org/wiki/StarlingX/Releases here]
 
* For team members and other information, visit the StarlingX Releases sub-project wiki page [https://wiki.openstack.org/wiki/StarlingX/Releases here]
 
== Release Diagram ==
 
'''''Diagram needs to be updated'''''
 
[[File:Stx  Release Plan.png||]]
 

Revision as of 04:13, 4 December 2018

Releases

StarlingX is released periodically; one beta release in 2018 and two 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
  • In addition to source, the corresponding binaries will be made available on the CENGN mirror (see the the build team page for more details).

Release Cadence and Schedule

Releases are published in a time based fashion:

  • The initial (beta) StarlingX release was released in October 2018.
  • In 2019, StarlingX releases will align with openstack releases. StarlingX will have two releases a year, following a cycle-trailing model relative to openstack core releases.
    • The goal is to release the StarlingX release 6 weeks (TBC) after the corresponding openstack release.

Formal Releases

  • Released two times per year
  • 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