diff --git a/doc/source/contributor/webapi-version-history.rst b/doc/source/contributor/webapi-version-history.rst index 3bb781291f..56912bd554 100644 --- a/doc/source/contributor/webapi-version-history.rst +++ b/doc/source/contributor/webapi-version-history.rst @@ -2,12 +2,20 @@ REST API Version History ======================== -1.70 (Wallaby, TBD) -------------------- +1.71 (Wallaby) +-------------- + +Signifier of the API supporting keystone ``system`` scoped roles and +access controls. This is an informational flag for clients to be aware of +the server's capability. + +1.70 (Wallaby) +-------------- Add support for ``disable_ramdisk`` parameter to provisioning endpoint ``/v1/nodes/{node_ident}/states/provision``. + 1.69 (Wallaby, 16.2) ---------------------- diff --git a/ironic/api/controllers/v1/versions.py b/ironic/api/controllers/v1/versions.py index bff79e75e4..caaa94924a 100644 --- a/ironic/api/controllers/v1/versions.py +++ b/ironic/api/controllers/v1/versions.py @@ -108,6 +108,7 @@ BASE_VERSION = 1 # v1.68: Add agent_verify_ca to heartbeat. # v1.69: Add deploy_steps to provisioning # v1.70: Add disable_ramdisk to manual cleaning. +# v1.71: Add signifier for Scope based roles. MINOR_0_JUNO = 0 MINOR_1_INITIAL_VERSION = 1 @@ -180,6 +181,7 @@ MINOR_67_NODE_VIF_ATTACH_PORT = 67 MINOR_68_HEARTBEAT_VERIFY_CA = 68 MINOR_69_DEPLOY_STEPS = 69 MINOR_70_CLEAN_DISABLE_RAMDISK = 70 +MINOR_71_RBAC_SCOPES = 71 # When adding another version, update: # - MINOR_MAX_VERSION @@ -187,7 +189,7 @@ MINOR_70_CLEAN_DISABLE_RAMDISK = 70 # explanation of what changed in the new version # - common/release_mappings.py, RELEASE_MAPPING['master']['api'] -MINOR_MAX_VERSION = MINOR_70_CLEAN_DISABLE_RAMDISK +MINOR_MAX_VERSION = MINOR_71_RBAC_SCOPES # String representations of the minor and maximum versions _MIN_VERSION_STRING = '{}.{}'.format(BASE_VERSION, MINOR_1_INITIAL_VERSION) diff --git a/ironic/common/release_mappings.py b/ironic/common/release_mappings.py index 43f461c496..0c19113b87 100644 --- a/ironic/common/release_mappings.py +++ b/ironic/common/release_mappings.py @@ -302,7 +302,7 @@ RELEASE_MAPPING = { } }, 'master': { - 'api': '1.70', + 'api': '1.71', 'rpc': '1.53', 'objects': { 'Allocation': ['1.1'], diff --git a/releasenotes/notes/secure-rbac-api-version-increment-1785544f54a487b3.yaml b/releasenotes/notes/secure-rbac-api-version-increment-1785544f54a487b3.yaml new file mode 100644 index 0000000000..af526b76eb --- /dev/null +++ b/releasenotes/notes/secure-rbac-api-version-increment-1785544f54a487b3.yaml @@ -0,0 +1,10 @@ +--- +other: + - | + The API version of the Bare Metal API provided by the ``ironic-api`` + service has been incremented to ``1.71`` to signify that the API supports + System and Project scoped Role Based Access Controls, which is purely + informational in nature, as the version itself cannot be used to change + the API behavior for access controls. In excess of 1500 unit tests were + added as part of the effort to implement Role Based Access Controls to + help ensure the effort did not break the API behavior.