All,

Quick correction below: I misquoted the LTS proposal — branches are cut on 1 
January and 1 _July_ (not June).

I apologize for the mistake,
-John

> 
john.burw...@shapeblue.com 
www.shapeblue.com
53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
@shapeblue


On May 31, 2016, at 12:28 AM, John Burwell <john.burw...@shapeblue.com> wrote:
> 
> All,
> 
> Over the course of the last 6-8 months, we have attempted to release monthly. 
>  We successfully delivered 4.6, 4,7, and 4,8 using this model.  We also 
> established a strong set of CM and review principles to improve the quality 
> of releases [1].  To support users that are unable to upgrade on a monthly 
> basis, we have proposed adding an LTS release cycle that will provide an 18 
> month support window for releases that are cut twice a year (January and 
> June).  We are on track for two types of releases — regular and LTS releases.
> 
> Reflecting on the monthly release cycle, we spent at least 8 days a month 
> preparing and voting out releases.  This cadence left an average of 12 days a 
> month to build features.  In my experience, this cadence impeded efforts to 
> build larger features or address large architectural issues.  Therefore, for 
> regular releases, I propose we elongate the release cycle from one (1) month 
> to two (2) months with the following phases:
> 
>    * Development: 6 weeks (42 days)
>    * Release Preparation/Test: 1 week (7 days)
>    * RC Voting: 1 week (7 days)
> 
> In order to ensure the timeliness of releases and avoid indecision, these 
> timeframes would be hard limits.  Therefore, the development phase would 
> close at 6 weeks — no exceptions.  Finally, we would only support the current 
> and previous regular release.  For example, we would only provide support for 
> 4.8 and 4.9 releases until 4.10 is released when 4.8 would reach end of life. 
>  This cycle would continue to use the same release principles(e.g. master 
> frozen during release preparation/test and RC voting, 2 LGTM per PR, etc).  I 
> believe this longer cycle would provide a regular, responsive release cycle 
> and enough development time to build larger features.
> 
> Per the LTS proposal [2], LTS branches would be cut from the most recent 
> stable release branch as of 1 January and 1 June every year.  Upon creation, 
> each LTS branch would go through a 6 week stabilization/test process.  
> Following their initial release, these branches releases receive applicable 
> blocker, critical, and CVE fixes for 12 months.  Ideally, defect fixes that 
> apply to both LTS and regular releases will be applied to oldest LTS release 
> and forward merged.  Additional LTS maintenance releases will occur based on 
> an as-needed basis — balancing release frequency and stability.
> 
> Based on these two release cycles, regular and LTS, the release calendar for 
> the next twelve (12) months would be as follows:
> 
>    * LTS 4.9.0_1 (Release Date: 21 August 2016/EOL: 21 April 2018)
>        * Stabilization/Testing: 1 July - 14 August 2016
>        * RC Voting: 14-21 August 2016
>    * 4.10.0 (Release Date: 28 August 2016/EOL: 18 December 2016)
> * Development: 1 July - 14 August 2016
> * Testing: 14-21 August 2016
>        * RC Voting: 21-28 August 2016
>    * 4.11.0 (Release Date: 23 October 2016/EOL: 12 February 2017)
>        * Development: 28 August - 9 October 2016
>        * Testing: 9-16 October 2016
>        * RC Voting: 16-23 October 2016
>    * 4.12.0 (Release Date: 18 December 2016/EOL: 2 April 2017)
>        * Development: 23 October - 4 December 2016
>        * Testing: 4-11 December 2016
>        * RC Voting: 11-18 December 2016
>    * 4.13.0 (Release Date: 12 February 2017/EOL: 4 June 2017)
>        * Development: 18 December 2016 - 29 January 2017
>        * Testing: 29 January - 5 February 2017
> * RC Voting: 5-12 February 2017
>    * LTS 4.12.0_1 (Release Date: 19 February 2017/EOL: 19 October 2018)
>        * Stabilization: 1 January - 12 February 2017
>        * RC Voting: 19 February 2017
>    * 4.14.0 (Release Date: 2 April 2017/EOL: 30 July 2017)
> * Development: 12 February - 26 March 2017
>        * Testing: 26 March - 2 April 2017
>        * RC Voting: 2-9 April 2017
>    * 4.15.0 (Release Date: 24 April 2017/ EOL: TBD)
> * Development: 26 March - 22 May 2017
> * Testing: 22-29 May 2017
>        * RC Voting: 29 May - 4 June 2017
>    * 4.16.0 (Release Date: 30 July 2017/ EOL: TBD)
> * Development: 4 June - 16 July 2016
> * Testing: 16-23 July 2016
> * RC Voting: 23-30 July 2016
>    * LTS 4.15.0_1 (Release Date: 27 August 2017/ EOL: 27 April 2019)
> * Development: 1 July - 13 August 2017
> * Testing: 13-20 August 2017
> * RC Voting: 20-27 August 2017
> 
> A few notes/questions regarding this schedule:
> 
>    1. The 4.10 cycle officially starts on 1 July to synchronize with the 
> beginning of an LTS cycle and to ensure that there is ample time for 4.9 to 
> be voted out.  Assuming 4.9 releases before 1 July, the 4.10 development 
> phase would still end on 14 August 2016 to maintain a regular cadence.  
> Therefore, the 4.10 development phase will likely be a 1-2 weeks longer than 
> other releases.
>    2. The calendar lined up neatly to have each phase end on a Sunday.  This 
> alignment affords developers a weekend to complete any outstanding.  However, 
> the downside is that votes may close on Sundays.  An alternative would be to 
> round up/down to end phases on Fridays.  Personally, I have no strong 
> feelings either way.
>    3. Per the proposal, all minor LTS releases are performed on an as-needed 
> basis.  Therefore, it is not possible to plan them in advance.
>    4. We should schedule regular minor releases for each regular release.  
> Would delivering a minor release for each supported regular release make 
> sense?
>    5. Release numbers assume that we will not release 5.0.0 in the next 12 
> months.  If we were to release 5.0.0, I propose adjust the versions without 
> changing the dates.
> 
> Once we gain agreement on a release schedule, we will be able to update the 
> community roadmap [3] based on the release calendar.  Together, this 
> information will allow users to plan infrastructure upgrades up to 12 months 
> in advance.
> 
> Thanks,
> -John
> 
> [1]: 
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Release+principles+for+Apache+CloudStack+4.6+and+up
> [2]: http://markmail.org/thread/zh43rc6ahs4te46l
> [3]: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Roadmap
> 
> john.burw...@shapeblue.com 
> www.shapeblue.com
> 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK
> @shapeblue
> 
> 

Reply via email to