Jump to: navigation, search

Difference between revisions of "ReleaseTeam/How To Release"

Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 
<!-- ## page was renamed from [[HowToRelease]] -->
 
<!-- ## page was renamed from [[HowToRelease]] -->
Raw notes for release managers, or release monkeys if need be.
+
Raw notes for release monkeys in case I end up under a bus.
  
 
<<[[TableOfContents]](3)>>
 
<<[[TableOfContents]](3)>>
Line 15: Line 15:
 
== Pre-flight checks ==
 
== Pre-flight checks ==
 
==== Create N series ====
 
==== Create N series ====
* Create N series
+
* Create N series in Launchpad
* Set status to Future, release manager
+
* Set status to Future, Set release manager
 
==== Missing files check ====
 
==== Missing files check ====
  
Line 25: Line 25:
  
 
==== Tarball/version status ====
 
==== Tarball/version status ====
 +
* Check that the *-tarball jenkins jobs work properly and that they produce the right version numbers
 
==== Check bugs ====
 
==== Check bugs ====
 
+
* Look at the list of FixCommitted bugs, sanity-check that they were fixed during the period
 
== MP cut (switch master to next version) ==
 
== MP cut (switch master to next version) ==
 
==== Get PTL signoff ====
 
==== Get PTL signoff ====
 +
* This should be done close to the RC1 cut
 +
* Note down MP cut commit id
 
==== Bump master milestone code to n1 ====
 
==== Bump master milestone code to n1 ====
 
* Use ''common-bump-milestone'' Jenkins job
 
* Use ''common-bump-milestone'' Jenkins job
Line 34: Line 37:
 
==== Push new version to master as first n1 commit ====
 
==== Push new version to master as first n1 commit ====
 
* /!\ This needs to be done as the very first commit after the n1 milestone bump !
 
* /!\ This needs to be done as the very first commit after the n1 milestone bump !
 +
* Prepare change which sets next version on master branch
 +
* Get it approved by core and make sure it's merged
 
==== Create MP branch from previous commit ====
 
==== Create MP branch from previous commit ====
 +
* Use review.openstack.org admin panel to create branch
 +
* Branch name is "milestone-proposed", initial revision is the MP cut commit id
 
==== Process [[FixCommitted]] bugs ====
 
==== Process [[FixCommitted]] bugs ====
 +
 +
<pre><nowiki>
 +
./process-fixcommitted-bugs.py nova --milestone m-rc1 --settarget m-rc1 --fixrelease
 +
</nowiki></pre>
  
 
== RC1 cut ==
 
== RC1 cut ==
 
==== Get PTL signoff ====
 
==== Get PTL signoff ====
==== Push FINAL=True commit to MP ====
+
* Check that the branch contents are ready to go from PTL perspective
 +
==== Push FINAL=True commit to MP (some projects only) ====
 +
* Prepare change which sets FINAL=True on milestone-proposed branch
 +
* Approve and make sure it's merged
 
==== Wait for Final tarball ====
 
==== Wait for Final tarball ====
 +
* Wait for the *-tarball job run
 +
* Note down tarball version
 
==== Bump MP milestone code to rc2 ====
 
==== Bump MP milestone code to rc2 ====
 
* Use ''common-bump-milestone'' Jenkins job
 
* Use ''common-bump-milestone'' Jenkins job
Line 60: Line 76:
  
 
==== Announce RC1 ====
 
==== Announce RC1 ====
 +
* Email to openstack general ML
 +
* Twitter
  
 
== Further RC-X windows ==
 
== Further RC-X windows ==
 
==== Decision to open next RC window ====
 
==== Decision to open next RC window ====
 +
* Consider m-rc-potential bugs and discuss with PTL if they warrant a respin
 
==== Create RC-X milestone page ====
 
==== Create RC-X milestone page ====
 +
* Create the RC-X milestone page on Launchpad
 +
* Target relevant bugs
 
====  Refine/fix bugs ====
 
====  Refine/fix bugs ====
 +
* Track bug fixes
 +
* Facilitate backports
 
====  Get candidate tarball ====
 
====  Get candidate tarball ====
 +
* Wait for the *-tarball job run
 +
* Note down tarball version
 
==== Get PTL signoff ====
 
==== Get PTL signoff ====
 +
* Get confirmation that RC is releasable from PTL
 
==== Bump MP milestone code to next rcX+1 ====
 
==== Bump MP milestone code to next rcX+1 ====
 
* Use ''common-bump-milestone'' Jenkins job
 
* Use ''common-bump-milestone'' Jenkins job
Line 89: Line 115:
 
== Final release ==
 
== Final release ==
 
==== Create final release milestone page ====
 
==== Create final release milestone page ====
 +
* Create the 2014.1 final milestone page on Launchpad
 
==== Push all bugs and blueprints to final page ====
 
==== Push all bugs and blueprints to final page ====
  
Line 98: Line 125:
  
 
==== Push 2014.1 tag to MP ====
 
==== Push 2014.1 tag to MP ====
 +
 +
<pre><nowiki>
 +
git checkout milestone-proposed
 +
git pull
 +
git tag -s 2014.1
 +
git push --tags gerrit
 +
</nowiki></pre>
 +
 
==== Promote last RC to release ====
 
==== Promote last RC to release ====
  
Line 105: Line 140:
  
 
==== Add release notes link to release page ====
 
==== Add release notes link to release page ====
 +
* Add the "See http://wiki.openstack.org/ReleaseNotes/Folsom" note to the Release note on the download page.
 
==== Announce 2014.1 release ====
 
==== Announce 2014.1 release ====
 
+
* openstack-announce, openstack general ML
 +
* Twitter etc.
 
== Post-release ==
 
== Post-release ==
 
==== Update "Releases" wiki page ====
 
==== Update "Releases" wiki page ====
 +
* http://wiki.openstack.org/Releases
 
==== Switch dev focus to N ====
 
==== Switch dev focus to N ====
 
* Switch dev focus to N ad N status to under active development
 
* Switch dev focus to N ad N status to under active development
Line 114: Line 152:
 
* Switch M-1 to Obsolete
 
* Switch M-1 to Obsolete
 
==== Clean M-rc-potential tags ====
 
==== Clean M-rc-potential tags ====
 +
* Search for https://bugs.launchpad.net/openstack/+bugs?field.tag=m-rc-potential
 +
* Remove tag where found
 
==== Create devnull branch (from MP) ====
 
==== Create devnull branch (from MP) ====
 
* Go to review.openstack.org project branch admin panel
 
* Go to review.openstack.org project branch admin panel

Revision as of 14:48, 9 October 2012

Raw notes for release monkeys in case I end up under a bus.

<<TableOfContents(3)>>

Conventions: Current release under development is "M" (2014.1), next release is "N" (2014.2)

Milestone release

...

Final release

Pre-flight checks

Create N series

  • Create N series in Launchpad
  • Set status to Future, Set release manager

Missing files check

cd project
tarball-repo-diff

Tarball/version status

  • Check that the *-tarball jenkins jobs work properly and that they produce the right version numbers

Check bugs

  • Look at the list of FixCommitted bugs, sanity-check that they were fixed during the period

MP cut (switch master to next version)

Get PTL signoff

  • This should be done close to the RC1 cut
  • Note down MP cut commit id

Bump master milestone code to n1

  • Use common-bump-milestone Jenkins job
  • Select project, "master" and type "n1"

Push new version to master as first n1 commit

  • /!\ This needs to be done as the very first commit after the n1 milestone bump !
  • Prepare change which sets next version on master branch
  • Get it approved by core and make sure it's merged

Create MP branch from previous commit

  • Use review.openstack.org admin panel to create branch
  • Branch name is "milestone-proposed", initial revision is the MP cut commit id

Process FixCommitted bugs

./process-fixcommitted-bugs.py nova --milestone m-rc1 --settarget m-rc1 --fixrelease

RC1 cut

Get PTL signoff

  • Check that the branch contents are ready to go from PTL perspective

Push FINAL=True commit to MP (some projects only)

  • Prepare change which sets FINAL=True on milestone-proposed branch
  • Approve and make sure it's merged

Wait for Final tarball

  • Wait for the *-tarball job run
  • Note down tarball version

Bump MP milestone code to rc2

  • Use common-bump-milestone Jenkins job
  • Select project, "milestone-proposed" and type "rc2"

Push M-rc1 tag to MP

git checkout milestone-proposed
git pull
git tag -s folsom-rc1
git push --tags gerrit

Upload release

upload_release.py nova 2012.2 20120912.r15981 folsom-rc1

Announce RC1

  • Email to openstack general ML
  • Twitter

Further RC-X windows

Decision to open next RC window

  • Consider m-rc-potential bugs and discuss with PTL if they warrant a respin

Create RC-X milestone page

  • Create the RC-X milestone page on Launchpad
  • Target relevant bugs

Refine/fix bugs

  • Track bug fixes
  • Facilitate backports

Get candidate tarball

  • Wait for the *-tarball job run
  • Note down tarball version

Get PTL signoff

  • Get confirmation that RC is releasable from PTL

Bump MP milestone code to next rcX+1

  • Use common-bump-milestone Jenkins job
  • Select project, "milestone-proposed" and type "rcX+1"

Push M-rcX tag to MP

git checkout milestone-proposed
git pull
git tag -s folsom-rc2
git push --tags gerrit

Upload release

upload_release.py nova 2012.2 20120926.r16267 folsom-rc3

Announce RC-X

Final release

Create final release milestone page

  • Create the 2014.1 final milestone page on Launchpad

Push all bugs and blueprints to final page

consolidate_release_page.py nova folsom 2012.2

This can take a very long time. For large bugs you will have to run it multiple times. Verify all intermediary milestone pages are now empty.

Push 2014.1 tag to MP

git checkout milestone-proposed
git pull
git tag -s 2014.1
git push --tags gerrit

Promote last RC to release

promote_rc.py PROJECT 2014.1 rc2

Add release notes link to release page

Announce 2014.1 release

  • openstack-announce, openstack general ML
  • Twitter etc.

Post-release

Update "Releases" wiki page

Switch dev focus to N

  • Switch dev focus to N ad N status to under active development
  • Switch M to current stable release, set release manager = openstack-stable-maint
  • Switch M-1 to Obsolete

Clean M-rc-potential tags

Create devnull branch (from MP)

  • Go to review.openstack.org project branch admin panel
  • New branch: "devnull", Initial revision: "milestone-proposed"

Push 2014.1.1 version to devnull branch

git checkout -t -b devnull origin/devnull
vi nova/version.py
git commit -a
git review devnull

Create stable/folsom branch from devnull branch

  • Go to review.openstack.org project branch admin panel
  • New branch: "stable/folsom", Initial revision: "devnull"

Remove devnull and milestone-proposed branches

  • In review.openstack.org project branch admin panel

Bump MP milestone code to n1

  • Use common-bump-milestone Jenkins job
  • Select project, "milestone-proposed" and type "n1"