Update nova-status & docs: require placement 1.25

Change I496e8d64907fdcb0e2da255725aed1fc529725f2 made nova-scheduler
require placement >= 1.25 so this change updates the minimum required
version checked in the nova-status upgrade check command along with the
upgrade docs.

related to blueprint: granular-resource-requests

Change-Id: I0a17ee362461a8ae2113804687799bb9d9216110
This commit is contained in:
Eric Fried 2018-06-13 09:56:25 -05:00
parent ca7d23a3e7
commit 20da4ee469
4 changed files with 11 additions and 10 deletions

View File

@ -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

View File

@ -56,10 +56,12 @@ changed or be partially complete at this time.
* `The Traits API - Manage Traits with ResourceProvider <http://specs.openstack.org/openstack/nova-specs/specs/pike/approved/resource-provider-traits.html>`_
* `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

View File

@ -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.') %

View File

@ -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)