From 1f605a22e270f55ffd21bd089bedcfa40a189451 Mon Sep 17 00:00:00 2001 From: Miles Gould Date: Tue, 29 Nov 2016 13:23:53 +0000 Subject: [PATCH] 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 --- doc/source/dev/releasing.rst | 13 ++++-- doc/source/dev/webapi-version-history.rst | 52 +++++++++++------------ 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/doc/source/dev/releasing.rst b/doc/source/dev/releasing.rst index 789b1d1d99..8a52cd1f7d 100644 --- a/doc/source/dev/releasing.rst +++ b/doc/source/dev/releasing.rst @@ -35,10 +35,15 @@ documented in the `Project Team Guide`_. 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). +* 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 diff --git a/doc/source/dev/webapi-version-history.rst b/doc/source/dev/webapi-version-history.rst index a1265a9a34..717f3efb6e 100644 --- a/doc/source/dev/webapi-version-history.rst +++ b/doc/source/dev/webapi-version-history.rst @@ -2,70 +2,70 @@ REST API Version History ======================== -**1.25** +**1.25** (Ocata) Add possibility to unset chassis_uuid from a node. -**1.24** +**1.24** (Ocata) Added new endpoints '/v1/nodes//portgroups' and '/v1/portgroups//ports'. Added new field ``port.portgroup_uuid``. -**1.23** +**1.23** (Ocata) Added '/v1/portgroups/ endpoint. -**1.22** +**1.22** (Newton, 6.1.0) Added endpoints for deployment ramdisks. -**1.21** +**1.21** (Newton, 6.1.0) Add node ``resource_class`` field. -**1.20** +**1.20** (Newton, 6.1.0) Add node ``network_interface`` field. -**1.19** +**1.19** (Newton, 6.1.0) Add ``local_link_connection`` and ``pxe_enabled`` fields to the port object. -**1.18** +**1.18** (Newton, 6.1.0) Add ``internal_info`` readonly field to the port object, that will be used by ironic to store internal port-related information. -**1.17** +**1.17** (Newton, 6.0.0) Addition of provision_state verb ``adopt`` which allows an operator to move a node from ``manageable`` state to ``active`` state without performing a deployment operation on the node. This is intended for nodes that have already been deployed by external means. -**1.16** +**1.16** (Mitaka, 5.0.0) Add ability to filter nodes by driver. -**1.15** +**1.15** (Mitaka, 5.0.0) Add ability to do manual cleaning when a node is in the manageable provision state via PUT v1/nodes//states/provision, target:clean, clean_steps:[...]. -**1.14** +**1.14** (Liberty, 4.2.0) Make the following endpoints discoverable via Ironic API: * '/v1/nodes//states' * '/v1/drivers//properties' -**1.13** +**1.13** (Liberty, 4.2.0) Add a new verb ``abort`` to the API used to abort nodes in ``CLEANWAIT`` state. -**1.12** +**1.12** (Liberty, 4.2.0) This API version adds the following abilities: @@ -73,7 +73,7 @@ REST API Version History ``node.raid_config``. * Retrieve the logical disk properties for the driver. -**1.11** (breaking change) +**1.11** (Liberty, 4.0.0, breaking change) Newly registered nodes begin in the ``enroll`` provision state by default, instead of ``available``. To get them to the ``available`` state, @@ -82,36 +82,36 @@ REST API Version History ``provide`` action must be run. Automated cleaning of the node is done and the node is made ``available``. -**1.10** +**1.10** (Liberty, 4.0.0) Logical node names support all RFC 3986 unreserved characters. Previously only valid fully qualified domain names could be used. -**1.9** +**1.9** (Liberty, 4.0.0) Add ability to filter nodes by provision state. -**1.8** +**1.8** (Liberty, 4.0.0) Add ability to return a subset of resource fields. -**1.7** +**1.7** (Liberty, 4.0.0) Add node ``clean_step`` field. -**1.6** +**1.6** (Kilo) Add :ref:`inspection` process: introduce ``inspecting`` and ``inspectfail`` provision states, and ``inspect`` action that can be used when a node is in ``manageable`` provision state. -**1.5** +**1.5** (Kilo) Add logical node names that can be used to address a node in addition to the node UUID. Name is expected to be a valid `fully qualified domain name`_ in this version of API. -**1.4** +**1.4** (Kilo) Add ``manageable`` state and ``manage`` transition, which can be used to move a node to ``manageable`` state from ``available``. @@ -119,17 +119,17 @@ REST API Version History This change is mostly a preparation for future inspection work and introduction of ``enroll`` provision state. -**1.3** +**1.3** (Kilo) Add node ``driver_internal_info`` field. -**1.2** (breaking change) +**1.2** (Kilo, breaking change) Renamed NOSTATE (``None`` in Python, ``null`` in JSON) node state to ``available``. This is needed to reduce confusion around ``None`` state, especially when future additions to the state machine land. -**1.1** +**1.1** (Kilo) This was the initial version when API versioning was introduced. Includes the following changes from Kilo release cycle: @@ -149,7 +149,7 @@ REST API Version History This has been the minimum supported version since versioning was introduced. -**1.0** +**1.0** (Juno) This version denotes Juno API and was never explicitly supported, as API versioning was not implemented in Juno, and **1.1** became the minimum