This information is about coordinated releases from the stable branch up to OpenStack Kilo. For stable/liberty and later see [openstack-dev] [release] stable branch release process changes 
You can see a history of these releases on the Releases page.
Stable Branch Releases
- 1 Stable Branch Releases
- 1.1 How To Release
How To Release
Below is the checklist of steps required to carry out this release, heavily based on ReleaseTeam/HowToRelease.
Make sure the current versioning on the stable branch of each project is correct - e.g. the version in
setup.cfg is the same as the version you intend to release.
Make sure the tarballs job in Jenkins is building tarballs correctly for each project e.g. check here for Nova Icehouse that a tarball is being built from the stable branch each time a commit is pushed there.
Discuss your plans for the release at the weekly project meeting.
Preferably set a date for the release immediately after the previous release.
Create a launchpad milestone for each project for the version you're planning to release.
Note: only project drivers can target bugs to a series so the release manager needs to find bugs tagged with in-stable-icehouse and target them.
- Gather a list of bugs fixed since the previous release e.g.
$> git log --no-merges --topo-order 2014.1.1.. | grep -i '\(bug\|lp\)[: #]*' | sed 's/.*\(1[0-9][0-9][0-9][0-9][0-9][0-9]\).*/\1/' > nova-bugs.txt
- Using scripts from http://github.com/markmc/openstack-lp-scripts sanity check the list of bugs. Check that each has had a patch proposed to the stable branch
$> python showbugs.py $(cat nova-bugs.txt)
- Nominate those bugs for the series
$> python nominate.py nova icehouse $(cat nova-bugs.txt)
- Target those bugs at the milestone
$> python target.py nova icehouse 2014.1.2 $(cat nova-bugs.txt)
- Review the list of bugs targeted to the milestone and fixup Importance and Assignee fields e.g. https://bugs.launchpad.net/nova/+milestone/2014.1.1
- Review bugs tagged with in-stable-icehouse and target them appropriately if they haven't already been targeted. Don't forget to remove the tag. e.g. a query for nova
- Review bugs tagged with icehouse-backport-potential, untag fixes already backported and consider backporting important ones. e.g. a query for nova.
- Check to see if any bugs were nominated for the series
- Look at open reviews and make sure the corresponding bugs are targeted. e.g. query for nova.
Call For Testing
Call for testing, see this example
- Tag the release:
$> git fetch gerrit; git tag -m 2014.1.2 -s 2014.1.2 gerrit/stable/icehouse
- Bump version in setup.cfg BEFORE pushing the tags e.g. https://review.openstack.org/#/q/I3a7170180717bd62fce4cbc2c3a9107187f89fb1,n,z
- Push the tags for each project
$> git push gerrit tag 2014.1.2
- Using http://github.com/markmc/openstack-lp-scripts mark all FixCommitted bugs as FixReleased. With a small change:
+series = proj.getSeries(name='icehouse') +bugtasks = series.searchTasks(status='Fix Committed', omit_targeted=False)
we can use
$> python ./process-fixcommitted-bugs.py --onlymilestone 2014.1.2 --fixrelease nova
NB: script might fail updating bugs with lots of tasks e.g. bug 1251757 - skip them using optional "exceptions" parameters e.g.
$> python ./process-fixcommitted-bugs.py --onlymilestone 2013.2.1 --fixrelease nova 1257293 1251757
Upload The Release
- Upload the release:
$> python ./upload_release.py nova 2014.1.2
Once all done
- Write release notes like ReleaseNotes/2014.1.1
- Send release announcement like StableBranchRelease/BoilerPlateAnnounce.
- Propose an openstack/releases change, like https://review.openstack.org/210547
- Decide on date for next release, create milestones
Planned stable/juno releases (12 months)
2014.2.1 Dec 4 2014, release manager: apevec 2014.2.2 Feb 5 2015, release manager: zulcss 2014.2.3 Apr 9 2015, release manager: adam_g 2014.2.4 (eol) mid November, 2015. release manager: apevec
Planned stable/kilo releases (12 months)
2015.1.1 July 16, 2015, release manager: apevec
2015.1.2 mid-October, 2015, release manager: zulcss
2015.1.3 ~January, 2016, release manager: Daviey
- 2015.1.4 (eol) ~2016-05-02, release manager Daviey