Jump to: navigation, search

Difference between revisions of "StableBranchRelease"

(more 2012.1.1)
(more 2012.1.1)
Line 28: Line 28:
 
  Also, make FINAL = False for now. Keystone doesn't have this field, though.
 
  Also, make FINAL = False for now. Keystone doesn't have this field, though.
 
# Make sure the tarballs job in Jenkins is building stable/essex tarballs e.g. [http://glance.openstack.org/tarballs/glance-2012.1.1~20120615.1435.tar.gz glance-2012.1.1~20120615.1435.tar.gz].
 
# Make sure the tarballs job in Jenkins is building stable/essex tarballs e.g. [http://glance.openstack.org/tarballs/glance-2012.1.1~20120615.1435.tar.gz glance-2012.1.1~20120615.1435.tar.gz].
# Add all bugs fixed on stable/diablo to the Diablo series in launchpad and assign to a newly created <code><nowiki>2011.3.1</nowiki></code> target.  
+
# Add all bugs fixed on stable/essex to the Essex series in launchpad and assign to the created <code><nowiki>2012.1.1</nowiki></code> target.  
 
<pre><nowiki>
 
<pre><nowiki>
# Gather a list of bugs fixed on stable/diablo since 2011.3
+
# Gather a list of bugs fixed on stable/essex since 2012.1
$> git log  2011.3..origin/stable/diablo | grep '[0-9][0-9][0-9][0-9][0-9][0-9]' | grep -v '^\(commit \|Merge\)' | grep -v -i '\(cherry[ -]picked\|Change-Id\|bugzilla\)' | sed 's/.*\([0-9][0-9][0-9][0-9][0-9][0-9]\).*/\1/g' | sort | uniq > nova-bugs.txt
+
$> git log  2011.1..origin/stable/essex | grep '[0-9][0-9][0-9][0-9][0-9][0-9]' | grep -v '^\(commit \|Merge\)' | grep -v -i '\(cherry[ -]picked\|Change-Id\|bugzilla\)' | sed 's/.*\([0-9][0-9][0-9][0-9][0-9][0-9]\).*/\1/g' | sort | uniq > nova-bugs.txt
 
# Sanity check that list of bugs
 
# Sanity check that list of bugs
 
$> python showbugs.py $(cat nova-bugs.txt)
 
$> python showbugs.py $(cat nova-bugs.txt)
# Nominate those bugs for diablo
+
# Nominate those bugs for essex
$> python nominate.py nova diablo $(cat nova-bugs.txt)
+
$> python nominate.py nova essex $(cat nova-bugs.txt)
# Target those bugs for 2011.3.1
+
# Target those bugs for 2012.1.1
$> python target.py nova diablo 2011.3.1 $(cat nova-bugs.txt)
+
$> python target.py nova essex 2012.1.1 $(cat nova-bugs.txt)
 
</nowiki></pre>
 
</nowiki></pre>
The stable team is the release manager for the diablo series (with the release team added to the stable team, to assist) and the release manager accepts bugs nominated for the diablo series. Bugs are marked as [[FixCommitted]] in diablo when they are accepted onto stable/diablo.
+
The stable team is the release manager for the essex series (with the release team added to the stable team, to assist) and the release manager accepts bugs nominated for the essex series. Bugs are marked as [[FixCommitted]] in essex when they are accepted onto stable/essex.
 
# Call for testing
 
# Call for testing
 
# When the stable team feel feel the release is ready, the release team obtains PTL approval and informs the PPB.
 
# When the stable team feel feel the release is ready, the release team obtains PTL approval and informs the PPB.
Line 48: Line 48:
 
  and once the tarball has been generated, push:
 
  and once the tarball has been generated, push:
 
<pre><nowiki>
 
<pre><nowiki>
GLANCE_VERSION = ['2011', '3', '2']
+
GLANCE_VERSION = ['2012', '1', '1']
 
FINAL = False</nowiki></pre>
 
FINAL = False</nowiki></pre>
  
 
# Tag the release:
 
# Tag the release:
 
<pre><nowiki>
 
<pre><nowiki>
$> git tag -s 2011.3.1
+
$> git tag -s 2012.1.1
$> git push gerrit tag 2011.3.1</nowiki></pre>
+
$> git push gerrit tag 2012.1.1</nowiki></pre>
  
# Mark all Diablo [[FixCommitted]] bugs as [[FixReleased]]. (<code><nowiki>process-fixcommitted-bugs.py</nowiki></code> will help here)
+
# Mark all Essex [[FixCommitted]] bugs as [[FixReleased]]. (<code><nowiki>process-fixcommitted-bugs.py</nowiki></code> will help here)
 
# Upload the release:
 
# Upload the release:
 
<pre><nowiki>
 
<pre><nowiki>
$> ./upload_release.py glance 2011.3.1 20120109.10803</nowiki></pre>
+
$> ./upload_release.py glance 2012.1.1 20120615.1435</nowiki></pre>
  
 
# PPA updates. (Delegate to openstack-ppa team?)
 
# PPA updates. (Delegate to openstack-ppa team?)
 
# Send release announcement.
 
# Send release announcement.

Revision as of 16:50, 15 June 2012

Releasing From The Stable Branch

On 2012-01-20, OpenStack released 2011.3.1 update releases of Nova and Glance for Diablo.

We're now planning a 2012.1.1 update release of Nova, Glance, Keystone and Horizon for Essex.

The list of bugs targetted for each are:

The openstack-stable-maint team have rigorously applied the documented StableBranch principles and have worked hard to include appropriate bugfixes from master while limiting the risk of regressions. We intend this release to be a safe source of fixes for high-impact user-visible issues.

At least Fedora and Ubuntu have been updating their packages from the stable branch and haven't seen any regressions. We feel this gives a good indication of the quality of the release.

The ReleaseTeam is responsible for all OpenStack release deliveries and markmc has is co-ordinating this release.

Below is the checklist of steps required to carry out this release, heavily based on ReleaseTeam/HowToRelease.

  1. Versioning: push a change to stable/essex to to {NOVA,GLANCE}_VERSION e.g.
GLANCE_VERSION = ['2012', '1', '1']
Also, make FINAL = False for now. Keystone doesn't have this field, though.
  1. Make sure the tarballs job in Jenkins is building stable/essex tarballs e.g. glance-2012.1.1~20120615.1435.tar.gz.
  2. Add all bugs fixed on stable/essex to the Essex series in launchpad and assign to the created 2012.1.1 target.
# Gather a list of bugs fixed on stable/essex since 2012.1
$> git log  2011.1..origin/stable/essex | grep '[0-9][0-9][0-9][0-9][0-9][0-9]' | grep -v '^\(commit \|Merge\)' | grep -v -i '\(cherry[ -]picked\|Change-Id\|bugzilla\)' | sed 's/.*\([0-9][0-9][0-9][0-9][0-9][0-9]\).*/\1/g' | sort | uniq > nova-bugs.txt
# Sanity check that list of bugs
$> python showbugs.py $(cat nova-bugs.txt)
# Nominate those bugs for essex
$> python nominate.py nova essex $(cat nova-bugs.txt)
# Target those bugs for 2012.1.1
$> python target.py nova essex 2012.1.1 $(cat nova-bugs.txt)

The stable team is the release manager for the essex series (with the release team added to the stable team, to assist) and the release manager accepts bugs nominated for the essex series. Bugs are marked as FixCommitted in essex when they are accepted onto stable/essex.

  1. Call for testing
  2. When the stable team feel feel the release is ready, the release team obtains PTL approval and informs the PPB.
  3. Push a commit to stable/diablo which does:
FINAL = True
and once the tarball has been generated, push:
GLANCE_VERSION = ['2012', '1', '1']
FINAL = False
  1. Tag the release:
$> git tag -s 2012.1.1
$> git push gerrit tag 2012.1.1
  1. Mark all Essex FixCommitted bugs as FixReleased. (process-fixcommitted-bugs.py will help here)
  2. Upload the release:
$> ./upload_release.py glance 2012.1.1 20120615.1435
  1. PPA updates. (Delegate to openstack-ppa team?)
  2. Send release announcement.