Heat/ReleaseProcess

= Releasing Heat = This wiki page is meant for maintainers of the software.

Uninstall Openstack
sudo tools/openstack erase

Reboot machine
sudo shutdown -r now

Install software
Install Openstack and Heat using the master getting started guide for Fedora.

Please take care to setup Floating IPs as specified in the Floating IP Guide or the EIP templates will not function on a typical workstation.

Release criteria

 * The Getting Started Guide followed from start to finish operates properly.
 * The HA Howto followed from start to finish operates properly.
 * All templates without deb in their name run properly on F17.
 * All templates with deb in their name run properly on U12.04
 * Validate the HA template using F17 guests by following the HA Howto.

Note: Please create new JEOS images for all distributions. We need to test the latest cfntools as well.

What if errors are found?

 * If errors are found within the getting started guide execution, please fix them with a review.
 * If templates are non-functional, please file bugs and try to fix the problem.  Please have someone else sanity check that the templates are not just broken on your system, perhaps because of running testing repo or old jeos images.

If release agreed upon by developers

 * 1) Login to 
 * 2) Select Admin->Projects->Heat->Branches
 * 3) Enter a branch name (example: v4-branch)
 * 4) Enter the SHA1 tested
 * 5) Fetch the new branch: `git fetch origin`
 * 6) Add a remote tracking branch (example: `git branch --track v4-branch origin/v4-branch`)
 * 7) Checkout remote branch (example: `git checkout v4-branch`)
 * 8) Commit FINAL to True in heat/version.py.
 * 9) Create an annotated tag (example: `git tag -a v4.release`).  Annotate with the release announcement text.  Please use -a to make sure the release announcement text is in the tag contents, rather then using the previous commit message.
 * 10) Push the annotated tags to gerrit (ie: `git push --tags gerrit`)
 * 11) Increment the heat-jeos version in `setup.py`
 * 12) Create annotated tag for heat-jeos as done for heat (`git tag -a v4.release`).
 * 13) Create branch for heat-jeos to match heat, `git checkout -b v4-branch; git push -u origin v4-branch --tags`
 * 14) Run python setup.py sdist for both heat and heat-jeos and upload tarballs to the appropriate location: https://github.com/heat-api/heat/downloads https://github.com/heat-api/heat-jeos/downloads
 * 15) Checkout master in heat (ie: `git checkout master`)
 * 16) Increment heat/version.py HEAT_VERSION variable by one in MASTER: ie, change `HEAT_VERSION = ['4']` to  `HEAT_VERSION = ['5']`.
 * 17) Use git review to review the master version number change
 * 18) Bump version in spec file in heat-rpms repo (https://github.com/heat-api/heat-rpms) and in the Fedora packages repo  http://pkgs.fedoraproject.org/gitweb/?p=heat.git). The easiest way of cloning the Fedora repo is described here:  https://fedoraproject.org/wiki/PackageMaintainers/Join#Check_out_the_module

Notify appropriate mailing lists
Mail a release announcement to the following mailing lists as individual emails (ie avoid the use of CC):
 * discuss@heat-api.org
 * openstack@lists.openstack.org

Update release lists

 * Modify http://heat-api.github.org with release information.
 * Modify http://wiki.openstack.org/Heat with release information.