Jump to: navigation, search

Difference between revisions of "BexarReleaseScheduleSpec"

 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__
+
{{ImplementedFeature}}
 +
 
 
* '''Launchpad Entry''': [https://blueprints.launchpad.net/openstack-devel/+spec/bexar-release-schedule bexar-release-schedule]
 
* '''Launchpad Entry''': [https://blueprints.launchpad.net/openstack-devel/+spec/bexar-release-schedule bexar-release-schedule]
 
* '''Created''': 2011-11-03
 
* '''Created''': 2011-11-03
Line 6: Line 7:
 
== Summary ==
 
== Summary ==
  
tbd
+
This spec decides the complete release schedule for the next two releases.
  
 
== Release Note ==
 
== Release Note ==
  
tbd
+
The schedule for Bexar is set in stone and a tentative schedule for C is also proposed.
  
 
== Rationale ==
 
== Rationale ==
  
tbd
+
Time-based releases are all about precise milestones and stages, so we need to clearly define them, and have tentative schedules up for future releases.
  
 
== User stories ==
 
== User stories ==
  
tbd
+
Jay is a developer, he needs to plan his Christmas vacation, he uses the published schedule and is present for [[FeatureFreeze]].
  
 
== Assumptions ==
 
== Assumptions ==
  
We want at least two more three-month cycles.
+
None.
  
 
== Design ==
 
== Design ==
  
=== Important dates ===
+
=== Cadence ===
  
* Feb 24 (week 8): Natty Narwhal feature freeze
+
The next two cycles will be three-month cycles. We might consider moving to six-month cycles in the future, but we might just stay with 3-month forever.
* Apr 14 (week 15): Natty Narwhal final freeze
 
* Apr 28 (week 17): Ubuntu 11.04 release
 
* Week 19: UDS-O (Budapest)
 
* Week 30: OSCON (Portland)
 
* Aug 18 (week 33): Natty+1 feature freeze
 
* Sep 22 (week 38): Natty+1 final freeze
 
* Oct 13 (week 41): Ubuntu 11.10 release
 
  
=== Key ===
+
=== Alignment ===
  
* ODS: Openstack Design Summit, Tuesday to Friday.
+
There is value in aligning our releases with Ubuntu's Feature Freeze and/or Final Freeze. However Feature Freeze is 4 months into the cycle and Final Freeze is 2 months after so you can only pick one. The idea behind the proposed schedule is to align with Final Freeze and have the other release releases some week(s) before Feature Freeze, at least as long as Openstack sits in universe. Then when Openstack hits main we made such an awesome job in QA that Ubuntu is confident following our trunk until the last minute.
* BF: Branch merge proposal Freeze, Thursday. All branches should be proposed by BF.
 
* FF: Feature Freeze, Thursday. All branches should be merged by FF.
 
* GF: Gamma Freeze, Tuesday. Gamma release is used to test the release for critical issues.
 
* RC: Release Candidate on Tuesday. Release on Thursday. Acts of god are required to change the RC.
 
  
=== Proposal 1: Three-month cycle from summit to release ===
+
=== Schedule ===
  
Cycle for Bexar:
+
Pre-cycle Prep:
 
{| border="1" cellpadding="2" cellspacing="0"
 
{| border="1" cellpadding="2" cellspacing="0"
|<width=80px>| 43
+
| Oct 28
|<width=80px>| 44
+
| Nov 4  
|<width=80px>| 45
+
| Nov 11
|<width=80px>| 46
 
|<width=80px>| 47
 
|<width=80px>| 48
 
|<width=80px>| 49
 
|<width=80px>| 50
 
|<width=80px>| 51
 
|<width=80px>| 52
 
|<width=80px>| 1
 
|<width=80px>| 2
 
|<width=80px>| 3
 
|<width=80px>| 4  
 
|<width=80px>| 5
 
|<width=80px>| 6
 
 
|-
 
|-
 
|   
 
|   
 
|   
 
|   
 
|  ODS  
 
|  ODS  
 
 
 
 
 
 
 
 
|  BF
 
|  FF
 
 
 
|  GF
 
 
|-
 
|-
|colspan="3" | Prep
 
|colspan="10" | Development (10 weeks)
 
|colspan="3" | QA
 
 
|}
 
|}
  
* Pros: release week before Ubuntu FF, Christmas week not affecting cycle
+
Cycle for Bexar:
* Cons: Longer than 3 month
 
 
 
Cycle for C:
 
 
{| border="1" cellpadding="2" cellspacing="0"
 
{| border="1" cellpadding="2" cellspacing="0"
|<width=80px>| 8
+
| Nov 25
|<width=80px>| 9  
+
| Dec 2
|<width=80px>| 10
+
| Dec 9  
|<width=80px>| 11
+
| Dec 16
|<width=80px>| 12
+
| Dec 23
|<width=80px>| 13  
+
| Dec 30
|<width=80px>| 14
+
| Jan 6
|<width=80px>| 15
+
| Jan 13  
|<width=80px>| 16
+
| Jan 20
|<width=80px>| 17
+
| Jan 27
|<width=80px>| 18
 
|<width=80px>| 19
 
 
|-
 
|-
 
 
|   
 
|   
 
|   
 
|   
Line 115: Line 70:
 
|  BF  
 
|  BF  
 
|  FF  
 
|  FF  
 
 
|   
 
|   
 
|  GF  
 
|  GF  
 
|-
 
|-
|colspan="9" | Development (9 weeks)  
+
|colspan="8" | Development (8 weeks)  
|colspan="3" | QA  
+
|colspan="2" | QA  
 
|}
 
|}
  
* Cons: Release crunch at the same time as UDS
+
Cycle for C:
* Next ODS: week 22 or 23
 
 
 
=== Solution 2: Pure Three-month cycle from release to release ===
 
 
 
Cycle for Bexar:
 
 
{| border="1" cellpadding="2" cellspacing="0"
 
{| border="1" cellpadding="2" cellspacing="0"
|<width=80px>| 43
+
| Feb 10
|<width=80px>| 44
+
| Feb 17
|<width=80px>| 45
+
| Feb 24
|<width=80px>| 46
+
| Mar 3
|<width=80px>| 47
+
| Mar 10
|<width=80px>| 48
+
| Mar 17
|<width=80px>| 49
+
| Mar 24
|<width=80px>| 50
+
| Mar 31
|<width=80px>| 51
+
| Apr 7
|<width=80px>| 52
 
|<width=80px>| 1
 
|<width=80px>| 2
 
|<width=80px>| 3
 
 
|-
 
|-
 
 
|  ODS
 
 
|   
 
|   
 
|   
 
|   
Line 154: Line 96:
 
|  BF  
 
|  BF  
 
|  FF  
 
|  FF  
 
 
|   
 
|   
 
|  GF  
 
|  GF  
 
|-
 
|-
|colspan="3" | Prep
 
 
|colspan="7" | Development (7 weeks)  
 
|colspan="7" | Development (7 weeks)  
|colspan="3" | QA  
+
|colspan="2" | QA  
 
|}
 
|}
  
* Pros: True 3-month cycle
+
==== Key ====
* Cons: Only 7 weeks development time, Merging week falls on week 52
 
  
Cycle for C:
+
* ODS: Openstack Design Summit, Tuesday to Friday.
{| border="1" cellpadding="2" cellspacing="0"
+
* SD: Bexar specs submission deadline (Thursday)
|<width=80px>| 5
+
* BF: Branch merge proposal Freeze, Thursday. All branches should be proposed by BF.
|<width=80px>| 6
+
* FF: Feature Freeze, Thursday. All branches should be merged by FF.
|<width=80px>| 7
+
* GF: Gamma Freeze, Tuesday. Gamma release is used to test the release for critical issues.
|<width=80px>| 8
+
* RC: Release Candidate on Tuesday. Release on Thursday. Acts of god are required to change the RC.
|<width=80px>| 9
+
 
|<width=80px>| 10
+
==== Milestones ====
|<width=80px>| 11
+
 
|<width=80px>| 12
+
* SD: Bexar specs submission deadline (Nov 18)
|<width=80px>| 13
+
* BF: Branch merge proposal Freeze, all branches should be proposed by BF (Jan 6)
|<width=80px>| 14
+
* FF: Feature Freeze, all branches should be merged by FF (Jan 13)
|<width=80px>| 15
+
* GF: Gamma Freeze, Gamma release is used to test the release for critical issues (Jan 25)
|<width=80px>| 16
+
* RC: Release Candidate (Feb 1)
|-
+
* Release: Feb 3
+
 
+
==== Merging windows ====
+
 
+
* Until FF: Feature and bugfix merging
+
* Between FF and GF: Bugfix merging
+
* Between GF and RC: Critical bugfix merging (needs release manager approval)
+
* Between RC and release: Acts of god requires to change the RC (needs release manager bribing)
|  BF
 
FF  
 
 
 
GF  
 
|-
 
|colspan="9" | Development (9 weeks)  
 
|colspan="3" | QA
 
|}
 
  
* Pros: Potential to sync dev summits
+
==== Ubuntu alignment ====
* Cons: Release after Ubuntu [[FinalFreeze]]
 
* Next ODS: week 19 or 20
 
  
=== Solution 3: Adapted "short QA" cycles ===
+
* Bexar releases (Feb 3) a few weeks before Ubuntu Feature Freeze (Feb 24)
 +
* C releases '''at''' Ubuntu Final Freeze (Apr 14), two weeks before Ubuntu release (Apr 28)
  
Cycle for Bexar:
+
==== Next design summit ====
{| border="1" cellpadding="2" cellspacing="0"
 
|<width=80px>| 43
 
|<width=80px>| 44
 
|<width=80px>| 45
 
|<width=80px>| 46
 
|<width=80px>| 47
 
|<width=80px>| 48
 
|<width=80px>| 49
 
|<width=80px>| 50
 
|<width=80px>| 51
 
|<width=80px>| 52
 
|<width=80px>| 1
 
|<width=80px>| 2
 
|<width=80px>| 3
 
|-
 
 
 
|  ODS
 
 
 
 
 
 
 
|  BF
 
|  FF
 
 
|  GF
 
|-
 
|colspan="3" | Prep
 
|colspan="8" | Development (8 weeks)
 
|colspan="2" | QA
 
|}
 
  
* Pros: Christmas week not affecting cycle
+
* Tentative date for the next design summit is the week of April 25
* Cons: Only 2 weeks of QA
+
* This is two weeks before Ubuntu's UDS-O in Budapest
  
Cycle for C:
+
==== Deliverables ====
{| border="1" cellpadding="2" cellspacing="0"
 
|<width=80px>| 5
 
|<width=80px>| 6
 
|<width=80px>| 7
 
|<width=80px>| 8
 
|<width=80px>| 9
 
|<width=80px>| 10
 
|<width=80px>| 11
 
|<width=80px>| 12
 
|<width=80px>| 13
 
|<width=80px>| 14
 
|-
 
 
 
 
 
 
 
|  BF
 
|  FF
 
 
|  GF
 
|-
 
|colspan="8" | Development (8 weeks)
 
|colspan="2" | QA
 
|}
 
  
* Pros: Release on Ubuntu [[FinalFreeze]] week
+
* New source tarballs should be built after each commit
* Cons: Relatively short cycle, only two weeks of QA
+
* No need to change them to make them "the release".
* Next ODS: week 17 or 18
+
* Milestones would be uploaded to Launchpad
 +
* No eggs, thanks.
  
 
== Implementation ==
 
== Implementation ==
  
tbd
+
* Announce Bexar spec submission deadline (ttx/dendrobates) before end of ODS: DONE
 +
* Get signoff for the B release schedule (dendrobates)
 +
* Announce B release schedule (ttx) before SD
 +
* Document B release process, freezes and exceptions (ttx)
 +
* Trigger source tarballs building automatically (soren)
 +
* Show/Document release week branching process (dendrobates)
 +
* Get signoff for the C release schedule and ODS-C (dendrobates)
 +
* Announce C release schedule (ttx)
  
 
== Test/Demo Plan ==
 
== Test/Demo Plan ==
Line 284: Line 162:
 
== Unresolved issues ==
 
== Unresolved issues ==
  
tbd
+
None.
  
 
== BoF agenda and discussion ==
 
== BoF agenda and discussion ==
  
tbd
+
See http://etherpad.openstack.org/BexarReleaseSchedule]] and [[http://etherpad.openstack.org/BexarReleaseProcess
 +
 
 +
We should consider LTS mode (have "stable" releases for which you support LTS->LTS upgrades) at some point in the future.
 +
 
 +
We should consider releasing a Beta, some time after FF.
  
 
----
 
----
 
[[Category:Spec]]
 
[[Category:Spec]]

Latest revision as of 05:41, 7 October 2013

Warning.svg Old Design Page

This page was used to help design a feature that has been implemented. As a result, this page is unlikely to be updated and could contain outdated information. It was last updated on 2013-10-07

Summary

This spec decides the complete release schedule for the next two releases.

Release Note

The schedule for Bexar is set in stone and a tentative schedule for C is also proposed.

Rationale

Time-based releases are all about precise milestones and stages, so we need to clearly define them, and have tentative schedules up for future releases.

User stories

Jay is a developer, he needs to plan his Christmas vacation, he uses the published schedule and is present for FeatureFreeze.

Assumptions

None.

Design

Cadence

The next two cycles will be three-month cycles. We might consider moving to six-month cycles in the future, but we might just stay with 3-month forever.

Alignment

There is value in aligning our releases with Ubuntu's Feature Freeze and/or Final Freeze. However Feature Freeze is 4 months into the cycle and Final Freeze is 2 months after so you can only pick one. The idea behind the proposed schedule is to align with Final Freeze and have the other release releases some week(s) before Feature Freeze, at least as long as Openstack sits in universe. Then when Openstack hits main we made such an awesome job in QA that Ubuntu is confident following our trunk until the last minute.

Schedule

Pre-cycle Prep:

Oct 28 Nov 4 Nov 11
ODS

Cycle for Bexar:

Nov 25 Dec 2 Dec 9 Dec 16 Dec 23 Dec 30 Jan 6 Jan 13 Jan 20 Jan 27
BF FF GF
Development (8 weeks) QA

Cycle for C:

Feb 10 Feb 17 Feb 24 Mar 3 Mar 10 Mar 17 Mar 24 Mar 31 Apr 7
BF FF GF
Development (7 weeks) QA

Key

  • ODS: Openstack Design Summit, Tuesday to Friday.
  • SD: Bexar specs submission deadline (Thursday)
  • BF: Branch merge proposal Freeze, Thursday. All branches should be proposed by BF.
  • FF: Feature Freeze, Thursday. All branches should be merged by FF.
  • GF: Gamma Freeze, Tuesday. Gamma release is used to test the release for critical issues.
  • RC: Release Candidate on Tuesday. Release on Thursday. Acts of god are required to change the RC.

Milestones

  • SD: Bexar specs submission deadline (Nov 18)
  • BF: Branch merge proposal Freeze, all branches should be proposed by BF (Jan 6)
  • FF: Feature Freeze, all branches should be merged by FF (Jan 13)
  • GF: Gamma Freeze, Gamma release is used to test the release for critical issues (Jan 25)
  • RC: Release Candidate (Feb 1)
  • Release: Feb 3

Merging windows

  • Until FF: Feature and bugfix merging
  • Between FF and GF: Bugfix merging
  • Between GF and RC: Critical bugfix merging (needs release manager approval)
  • Between RC and release: Acts of god requires to change the RC (needs release manager bribing)

Ubuntu alignment

  • Bexar releases (Feb 3) a few weeks before Ubuntu Feature Freeze (Feb 24)
  • C releases at Ubuntu Final Freeze (Apr 14), two weeks before Ubuntu release (Apr 28)

Next design summit

  • Tentative date for the next design summit is the week of April 25
  • This is two weeks before Ubuntu's UDS-O in Budapest

Deliverables

  • New source tarballs should be built after each commit
  • No need to change them to make them "the release".
  • Milestones would be uploaded to Launchpad
  • No eggs, thanks.

Implementation

  • Announce Bexar spec submission deadline (ttx/dendrobates) before end of ODS: DONE
  • Get signoff for the B release schedule (dendrobates)
  • Announce B release schedule (ttx) before SD
  • Document B release process, freezes and exceptions (ttx)
  • Trigger source tarballs building automatically (soren)
  • Show/Document release week branching process (dendrobates)
  • Get signoff for the C release schedule and ODS-C (dendrobates)
  • Announce C release schedule (ttx)

Test/Demo Plan

n/a

Unresolved issues

None.

BoF agenda and discussion

See http://etherpad.openstack.org/BexarReleaseSchedule]] and [[http://etherpad.openstack.org/BexarReleaseProcess

We should consider LTS mode (have "stable" releases for which you support LTS->LTS upgrades) at some point in the future.

We should consider releasing a Beta, some time after FF.