Fix rebuild compute RPC API exception for rolling-upgrades
By I0d889691de1af6875603a9f0f174590229e7be18 we broke rebuild for Yoga or older computes. By I9660d42937ad62d647afc6be965f166cc5631392 we broke rebuild for Zed computes. Fixing this by making the parameters optional. Change-Id: I0ca04045f8ac742e2b50490cbe5efccaee45c5c0 Closed-Bug: #2040264
This commit is contained in:
parent
21fd0c430c
commit
ee9ed0f7c6
@ -3747,7 +3747,7 @@ class ComputeManager(manager.Manager):
|
|||||||
bdms, recreate, on_shared_storage,
|
bdms, recreate, on_shared_storage,
|
||||||
preserve_ephemeral, migration,
|
preserve_ephemeral, migration,
|
||||||
scheduled_node, limits, request_spec, accel_uuids,
|
scheduled_node, limits, request_spec, accel_uuids,
|
||||||
reimage_boot_volume, target_state):
|
reimage_boot_volume=None, target_state=None):
|
||||||
"""Destroy and re-make this instance.
|
"""Destroy and re-make this instance.
|
||||||
|
|
||||||
A 'rebuild' effectively purges all existing data from the system and
|
A 'rebuild' effectively purges all existing data from the system and
|
||||||
@ -3781,8 +3781,9 @@ class ComputeManager(manager.Manager):
|
|||||||
:param accel_uuids: a list of cyborg ARQ uuids
|
:param accel_uuids: a list of cyborg ARQ uuids
|
||||||
:param reimage_boot_volume: Boolean to specify whether the user has
|
:param reimage_boot_volume: Boolean to specify whether the user has
|
||||||
explicitly requested to rebuild a boot
|
explicitly requested to rebuild a boot
|
||||||
volume
|
volume or None if RPC version is <=6.0
|
||||||
:param target_state: Set a target state for the evacuated instance.
|
:param target_state: Set a target state for the evacuated instance or
|
||||||
|
None if RPC version is <=6.1.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
# recreate=True means the instance is being evacuated from a failed
|
# recreate=True means the instance is being evacuated from a failed
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from nova.tests import fixtures as nova_fixtures
|
from nova.tests import fixtures as nova_fixtures
|
||||||
from nova.tests.functional.api import client
|
|
||||||
from nova.tests.functional import integrated_helpers
|
from nova.tests.functional import integrated_helpers
|
||||||
|
|
||||||
|
|
||||||
@ -46,23 +45,11 @@ class ComputeVersion6xPinnedRpcTests(integrated_helpers._IntegratedTestBase):
|
|||||||
|
|
||||||
# We automatically pin to 6.0 if old computes are Yoga or older.
|
# We automatically pin to 6.0 if old computes are Yoga or older.
|
||||||
def test_rebuild_instance_6_0(self):
|
def test_rebuild_instance_6_0(self):
|
||||||
e = self.assertRaises(client.OpenStackApiException,
|
self._test_rebuild_instance_with_compute_rpc_pin('6.0')
|
||||||
self._test_rebuild_instance_with_compute_rpc_pin, '6.0')
|
|
||||||
self.assertEqual(500, e.response.status_code)
|
|
||||||
# NOTE(sbauza): This returns a TypeError because of
|
|
||||||
# 'reimage_boot_volume' and 'target_state' parameters missing from the
|
|
||||||
# rcpapi caller.
|
|
||||||
self.assertIn('TypeError', e.response.text)
|
|
||||||
|
|
||||||
# We automatically pin to 6.1 if old computes are Zed.
|
# We automatically pin to 6.1 if old computes are Zed.
|
||||||
def test_rebuild_instance_6_1(self):
|
def test_rebuild_instance_6_1(self):
|
||||||
e = self.assertRaises(client.OpenStackApiException,
|
self._test_rebuild_instance_with_compute_rpc_pin('6.1')
|
||||||
self._test_rebuild_instance_with_compute_rpc_pin, '6.1')
|
|
||||||
self.assertEqual(500, e.response.status_code)
|
|
||||||
# NOTE(sbauza): This returns a TypeError because of
|
|
||||||
# 'reimage_boot_volume' and 'target_state' parameters missing from the
|
|
||||||
# rcpapi caller.
|
|
||||||
self.assertIn('TypeError', e.response.text)
|
|
||||||
|
|
||||||
# We automatically pin to 6.2 if old computes are 2023.1.
|
# We automatically pin to 6.2 if old computes are 2023.1.
|
||||||
def test_rebuild_instance_6_2(self):
|
def test_rebuild_instance_6_2(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user