Jump to: navigation, search

ReleaseTeam/How To Release

Revision as of 14:48, 9 October 2012 by ThierryCarrez (talk)

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"