diff --git a/doc/source/cli/nova-status.rst b/doc/source/cli/nova-status.rst index eb322ddd134f..f60db499cf59 100644 --- a/doc/source/cli/nova-status.rst +++ b/doc/source/cli/nova-status.rst @@ -106,7 +106,7 @@ Upgrade **18.0.0 (Rocky)** - * Checks for the Placement API are modified to require version 1.24. + * Checks for the Placement API are modified to require version 1.25. * Checks that ironic instances have had their embedded flavors migrated to use custom resource classes. * Checks for ``nova-osapi_compute`` service versions that are less than 15 diff --git a/doc/source/user/placement.rst b/doc/source/user/placement.rst index 8d904d771f5a..a0dc11be54f4 100644 --- a/doc/source/user/placement.rst +++ b/doc/source/user/placement.rst @@ -56,10 +56,12 @@ changed or be partially complete at this time. * `The Traits API - Manage Traits with ResourceProvider `_ * `Request Traits During Scheduling`_ * `filter allocation candidates by aggregate membership`_ +* `perform granular allocation candidate requests`_ .. _Nested Resource Providers: http://specs.openstack.org/openstack/nova-specs/specs/queens/approved/nested-resource-providers.html .. _Request Traits During Scheduling: https://specs.openstack.org/openstack/nova-specs/specs/queens/approved/request-traits-in-nova.html .. _filter allocation candidates by aggregate membership: https://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/alloc-candidates-member-of.html +.. _perform granular allocation candidate requests: http://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/granular-resource-requests.html Deployment ========== @@ -284,8 +286,8 @@ Rocky (18.0.0) ~~~~~~~~~~~~~~ * The minimum Placement API microversion required by the *nova-scheduler* - service is ``1.24`` in order to - `filter allocation candidates by aggregate membership`_. + service is ``1.25`` in order to + `perform granular allocation candidate requests`_. This means you must upgrade the placement service before upgrading any *nova-scheduler* services to Rocky. * The ``nova-api`` service now requires the ``[placement]`` section to be diff --git a/nova/cmd/status.py b/nova/cmd/status.py index 2d477815dcaf..102bd32dfb75 100644 --- a/nova/cmd/status.py +++ b/nova/cmd/status.py @@ -199,12 +199,11 @@ class UpgradeCommands(object): versions = self._placement_get("/") max_version = pkg_resources.parse_version( versions["versions"][0]["max_version"]) - # NOTE(mriedem): 1.24 is required by nova-scheduler to be able - # to request multiple member_of parameters to - # GET /allocation_candidates. + # NOTE(efried): 1.25 is required by nova-scheduler to make granular + # resource requests to GET /allocation_candidates. # NOTE: If you bump this version, remember to update the history # section in the nova-status man page (doc/source/cli/nova-status). - needs_version = pkg_resources.parse_version("1.24") + needs_version = pkg_resources.parse_version("1.25") if max_version < needs_version: msg = (_('Placement API version %(needed)s needed, ' 'you have %(current)s.') % diff --git a/nova/tests/unit/cmd/test_status.py b/nova/tests/unit/cmd/test_status.py index dc2a0d196bff..6d727d5990fe 100644 --- a/nova/tests/unit/cmd/test_status.py +++ b/nova/tests/unit/cmd/test_status.py @@ -209,7 +209,7 @@ class TestPlacementCheck(test.NoDBTestCase): "versions": [ { "min_version": "1.0", - "max_version": "1.24", + "max_version": "1.25", "id": "v1.0" } ] @@ -229,7 +229,7 @@ class TestPlacementCheck(test.NoDBTestCase): "versions": [ { "min_version": "1.0", - "max_version": "1.24", + "max_version": "1.25", "id": "v1.0" } ] @@ -250,7 +250,7 @@ class TestPlacementCheck(test.NoDBTestCase): } res = self.cmd._check_placement() self.assertEqual(status.UpgradeCheckCode.FAILURE, res.code) - self.assertIn('Placement API version 1.24 needed, you have 0.9', + self.assertIn('Placement API version 1.25 needed, you have 0.9', res.details)