diff --git a/doc/source/man/nova-status.rst b/doc/source/man/nova-status.rst index 032cf69ced4f..ae92a16db851 100644 --- a/doc/source/man/nova-status.rst +++ b/doc/source/man/nova-status.rst @@ -95,6 +95,11 @@ Upgrade Placement service. More information on the Placement service can be found at: ``_ + **16.0.0 (Pike)** + + * Checks for the Placement API are modified to require version 1.4, that + is needed in Pike and further for nova-scheduler to work correctly. + SEE ALSO ======== diff --git a/nova/cmd/status.py b/nova/cmd/status.py index d3bce8a1ae6d..1137905fa200 100644 --- a/nova/cmd/status.py +++ b/nova/cmd/status.py @@ -201,10 +201,9 @@ class UpgradeCommands(object): try: versions = self._placement_get("/") max_version = float(versions["versions"][0]["max_version"]) - # The required version is a bit tricky but we know that we at least - # need 1.0 for Newton computes. This minimum might change in the - # future. - needs_version = 1.0 + # NOTE(rpodolyaka): 1.4 is needed in Pike and further as + # FilterScheduler will no longer fall back to not using placement + needs_version = 1.4 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 ce742f4ea947..1d0a0784170c 100644 --- a/nova/tests/unit/cmd/test_status.py +++ b/nova/tests/unit/cmd/test_status.py @@ -210,7 +210,7 @@ class TestPlacementCheck(test.NoDBTestCase): "versions": [ { "min_version": "1.0", - "max_version": "1.0", + "max_version": "1.4", "id": "v1.0" } ] @@ -231,7 +231,7 @@ class TestPlacementCheck(test.NoDBTestCase): } res = self.cmd._check_placement() self.assertEqual(status.UpgradeCheckCode.FAILURE, res.code) - self.assertIn('Placement API version 1.0 needed, you have 0.9', + self.assertIn('Placement API version 1.4 needed, you have 0.9', res.details) diff --git a/releasenotes/notes/no-placement-fallback-5db2d0645f51aca8.yaml b/releasenotes/notes/no-placement-fallback-5db2d0645f51aca8.yaml index 133da5fb2d46..7c50eac5c12e 100644 --- a/releasenotes/notes/no-placement-fallback-5db2d0645f51aca8.yaml +++ b/releasenotes/notes/no-placement-fallback-5db2d0645f51aca8.yaml @@ -3,4 +3,6 @@ upgrade: - In Ocata, the nova-scheduler would fall back to not calling the placement service during instance boot if old computes were running. That compatibility mode is no longer present in Pike, and - as such, the scheduler fully depends on the placement service. \ No newline at end of file + as such, the scheduler fully depends on the placement service. + This effectively means that in Pike Nova requires Placement API + version 1.4 (Ocata).