ironic/doc/source/dev/releasing.rst
Miles Gould 1f605a22e2 Add release names & numbers to API version history
This should make it easier to work out when an API change was
introduced and what API microversions are likely to be supported by a
given cloud. Release numbers were determined by reading the release
notes in most cases, and by searching Git history when that failed. I
was unable to determine when the API versions 1.1-1.6 were released, so
have listed them all as simply "Kilo".

Keeping this list up-to-date is (currently?) a manual process; this
patch adds "Update the API version history" to the how-to-release
document as a pre-release task.

Change-Id: I44b29d29e38b0ac1b256c2377ff84db2482b7aa7
2016-12-07 13:36:59 +00:00

80 lines
2.9 KiB
ReStructuredText

.. _faq:
=========================
Releasing Ironic Projects
=========================
Since the responsibility for releases will move between people, we document
that process here.
A full list of projects that ironic manages is available in the `governance
site`_.
.. _`governance site`: http://governance.openstack.org/reference/projects/ironic.html
Who is responsible for releases?
================================
The current PTL is ultimately responsible for making sure code gets released.
They may choose to delegate this reponsibility to a liaison, which is
documented in the `cross-project liaison wiki`_.
Anyone may submit a release request per the process below, but the PTL or
liaison must +1 the request for it to be processed.
.. _`cross-project liaison wiki`: https://wiki.openstack.org/wiki/CrossProjectLiaisons#Release_management
Release process
===============
Releases are managed by the OpenStack release team. The release process is
documented in the `Project Team Guide`_.
.. _`Project Team Guide`: http://docs.openstack.org/project-team-guide/release-management.html#how-to-release
Things to do before releasing
=============================
* Review the unreleased release notes, if the project uses them. Make sure
they follow our `standards`_, are coherent, and have proper grammar.
Combine release notes if necessary (for example, a release note for a
feature and another release note to add to that feature may be combined).
* For ironic releases only, not ironic-inspector releases: if any new API
microversions have been added since the last release, update the REST API
version history (doc/source/dev/webapi-version-history.rst) to
indicate that they were part of the new release.
.. _`standards`: http://docs.openstack.org/developer/ironic/dev/faq.html#know-if-a-release-note-is-needed-for-my-change
Things to do after releasing
============================
When a release is done that results in a stable branch for the project, the
release automation will push a number of changes that need to be approved.
In the new stable branch, this will include:
* a change to point .gitreview at the branch
* a change to update the upper constraints file used by tox
In the master branch, this will include:
* updating the release notes RST to include the new branch
Additionally, changes need to be made to the stable branch to:
* update the ironic devstack plugin to point at the branched tarball for IPA.
An example of this patch is
`here <https://review.openstack.org/#/c/374863/>`_.
* update links in developer documentation to point to the branched version
of the install guide.
* update links in the install guide to point to the branched version of
the developer documentation.
For all releases, whether or not it results in a stable branch:
* update the specs repo to mark any specs completed in the release as
implemented.
* remove any -2s on patches that were blocked until after the release.