From 6182b82195e76e21097ffd9769f85b03ab39bbb3 Mon Sep 17 00:00:00 2001 From: Matthew Booth Date: Thu, 12 Apr 2018 14:27:13 +0100 Subject: [PATCH] Rename recreate to evacuate in driver signatures This is a source of confusion, and we've already renamed it in a few places. See removed TODO items in ComputeManager. Change-Id: Ifdcca4cdf6c28269a0126b81f5c9aa71fc2dc5a0 --- nova/compute/manager.py | 14 +++++--------- nova/exception.py | 4 ++-- nova/tests/unit/compute/test_compute.py | 4 ++-- nova/tests/unit/compute/test_compute_mgr.py | 2 +- nova/tests/unit/virt/ironic/test_driver.py | 4 ++-- nova/tests/unit/virt/libvirt/test_driver.py | 4 ++-- nova/tests/unit/virt/powervm/test_driver.py | 2 +- nova/tests/unit/virt/vmwareapi/test_driver_api.py | 2 +- nova/virt/driver.py | 6 +++--- nova/virt/fake.py | 2 +- nova/virt/hyperv/driver.py | 2 +- nova/virt/ironic/driver.py | 6 +++--- nova/virt/libvirt/driver.py | 2 +- nova/virt/powervm/driver.py | 2 +- nova/virt/vmwareapi/driver.py | 2 +- nova/virt/xenapi/driver.py | 2 +- 16 files changed, 28 insertions(+), 32 deletions(-) diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 275ec84420eb..796a2e46b9ef 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -2764,14 +2764,14 @@ class ComputeManager(manager.Manager): injected_files, admin_password, allocations, bdms, detach_block_devices, attach_block_devices, network_info=None, - recreate=False, block_device_info=None, + evacuate=False, block_device_info=None, preserve_ephemeral=False): if preserve_ephemeral: # The default code path does not support preserving ephemeral # partitions. raise exception.PreserveEphemeralNotSupported() - if recreate: + if evacuate: detach_block_devices(context, bdms) else: self._power_off_instance(context, instance, clean_shutdown=True) @@ -2982,10 +2982,8 @@ class ComputeManager(manager.Manager): hints = self._get_scheduler_hints({}, request_spec) self._validate_instance_group_policy(context, instance, hints) - # TODO(mriedem): Rename the supports_recreate driver capability - # to supports_evacuate. - if not self.driver.capabilities.get("supports_recreate", False): - raise exception.InstanceRecreateNotSupported + if not self.driver.capabilities.get("supports_evacuate", False): + raise exception.InstanceEvacuateNotSupported self._check_instance_exists(context, instance) @@ -3090,8 +3088,6 @@ class ComputeManager(manager.Manager): files = self._decode_files(injected_files) - # TODO(mriedem): Rename recreate->evacuate in the driver rebuild - # method signature. kwargs = dict( context=context, instance=instance, @@ -3105,7 +3101,7 @@ class ComputeManager(manager.Manager): block_device_info=block_device_info, network_info=network_info, preserve_ephemeral=preserve_ephemeral, - recreate=evacuate) + evacuate=evacuate) try: with instance.mutated_migration_context(): self.driver.rebuild(**kwargs) diff --git a/nova/exception.py b/nova/exception.py index 2eee0f3f7af6..090ff7e9c17a 100644 --- a/nova/exception.py +++ b/nova/exception.py @@ -1601,8 +1601,8 @@ class CryptoCRLFileNotFound(FileNotFound): msg_fmt = _("The CRL file for %(project)s could not be found") -class InstanceRecreateNotSupported(Invalid): - msg_fmt = _('Instance recreate is not supported.') +class InstanceEvacuateNotSupported(Invalid): + msg_fmt = _('Instance evacuate is not supported.') class DBNotAllowed(NovaException): diff --git a/nova/tests/unit/compute/test_compute.py b/nova/tests/unit/compute/test_compute.py index feb8565e6a2f..a30af2538619 100644 --- a/nova/tests/unit/compute/test_compute.py +++ b/nova/tests/unit/compute/test_compute.py @@ -12757,10 +12757,10 @@ class EvacuateHostTestCase(BaseTestCase): def test_driver_does_not_support_recreate(self): with mock.patch.dict(self.compute.driver.capabilities, - supports_recreate=False): + supports_evacuate=False): self.stub_out('nova.virt.fake.FakeDriver.instance_on_disk', lambda *a, **kw: True) - self.assertRaises(exception.InstanceRecreateNotSupported, + self.assertRaises(exception.InstanceEvacuateNotSupported, lambda: self._rebuild(on_shared_storage=True)) @mock.patch.object(fake.FakeDriver, 'spawn') diff --git a/nova/tests/unit/compute/test_compute_mgr.py b/nova/tests/unit/compute/test_compute_mgr.py index e9ac918a209f..821a017ea9a5 100644 --- a/nova/tests/unit/compute/test_compute_mgr.py +++ b/nova/tests/unit/compute/test_compute_mgr.py @@ -4204,7 +4204,7 @@ class ComputeManagerUnitTestCase(test.NoDBTestCase): detach_block_devices=_detach, attach_block_devices=_attach, network_info=None, - recreate=False, + evacuate=False, block_device_info=None, preserve_ephemeral=False) diff --git a/nova/tests/unit/virt/ironic/test_driver.py b/nova/tests/unit/virt/ironic/test_driver.py index 6829af1e24df..1c473bf45172 100644 --- a/nova/tests/unit/virt/ironic/test_driver.py +++ b/nova/tests/unit/virt/ironic/test_driver.py @@ -128,8 +128,8 @@ class IronicDriverTestCase(test.NoDBTestCase): self.assertFalse(self.driver.capabilities['has_imagecache'], 'Driver capabilities for \'has_imagecache\'' 'is invalid') - self.assertFalse(self.driver.capabilities['supports_recreate'], - 'Driver capabilities for \'supports_recreate\'' + self.assertFalse(self.driver.capabilities['supports_evacuate'], + 'Driver capabilities for \'supports_evacuate\'' 'is invalid') self.assertFalse(self.driver.capabilities[ 'supports_migrate_to_same_host'], diff --git a/nova/tests/unit/virt/libvirt/test_driver.py b/nova/tests/unit/virt/libvirt/test_driver.py index c75fe30d45ac..f879cd701d7b 100644 --- a/nova/tests/unit/virt/libvirt/test_driver.py +++ b/nova/tests/unit/virt/libvirt/test_driver.py @@ -840,8 +840,8 @@ class LibvirtConnTestCase(test.NoDBTestCase, self.assertTrue(drvr.capabilities['has_imagecache'], 'Driver capabilities for \'has_imagecache\' ' 'is invalid') - self.assertTrue(drvr.capabilities['supports_recreate'], - 'Driver capabilities for \'supports_recreate\' ' + self.assertTrue(drvr.capabilities['supports_evacuate'], + 'Driver capabilities for \'supports_evacuate\' ' 'is invalid') self.assertFalse(drvr.capabilities['supports_migrate_to_same_host'], 'Driver capabilities for ' diff --git a/nova/tests/unit/virt/powervm/test_driver.py b/nova/tests/unit/virt/powervm/test_driver.py index ed3c85e00f62..691c59aa9691 100644 --- a/nova/tests/unit/virt/powervm/test_driver.py +++ b/nova/tests/unit/virt/powervm/test_driver.py @@ -59,7 +59,7 @@ class TestPowerVMDriver(test.NoDBTestCase): set(self.drv.capabilities)) # check the values for each capability self.assertFalse(self.drv.capabilities['has_imagecache']) - self.assertFalse(self.drv.capabilities['supports_recreate']) + self.assertFalse(self.drv.capabilities['supports_evacuate']) self.assertFalse( self.drv.capabilities['supports_migrate_to_same_host']) self.assertTrue(self.drv.capabilities['supports_attach_interface']) diff --git a/nova/tests/unit/virt/vmwareapi/test_driver_api.py b/nova/tests/unit/virt/vmwareapi/test_driver_api.py index cf4749575ccc..53be0ee0bc39 100644 --- a/nova/tests/unit/virt/vmwareapi/test_driver_api.py +++ b/nova/tests/unit/virt/vmwareapi/test_driver_api.py @@ -284,7 +284,7 @@ class VMwareAPIVMTestCase(test.NoDBTestCase, def test_driver_capabilities(self): self.assertTrue(self.conn.capabilities['has_imagecache']) - self.assertFalse(self.conn.capabilities['supports_recreate']) + self.assertFalse(self.conn.capabilities['supports_evacuate']) self.assertTrue( self.conn.capabilities['supports_migrate_to_same_host']) diff --git a/nova/virt/driver.py b/nova/virt/driver.py index 597807f6d51e..e1dd5f37a3af 100644 --- a/nova/virt/driver.py +++ b/nova/virt/driver.py @@ -123,7 +123,7 @@ class ComputeDriver(object): capabilities = { "has_imagecache": False, - "supports_recreate": False, + "supports_evacuate": False, "supports_migrate_to_same_host": False, "supports_attach_interface": False, "supports_device_tagging": False, @@ -231,7 +231,7 @@ class ComputeDriver(object): def rebuild(self, context, instance, image_meta, injected_files, admin_password, allocations, bdms, detach_block_devices, attach_block_devices, network_info=None, - recreate=False, block_device_info=None, + evacuate=False, block_device_info=None, preserve_ephemeral=False): """Destroy and re-make this instance. @@ -263,7 +263,7 @@ class ComputeDriver(object): nova.compute.manager.ComputeManager:_rebuild_default_impl for usage. :param network_info: instance network information - :param recreate: True if the instance is being recreated on a new + :param evacuate: True if the instance is being recreated on a new hypervisor - all the cleanup of old state is skipped. :param block_device_info: Information about block devices to be attached to the instance. diff --git a/nova/virt/fake.py b/nova/virt/fake.py index 33fa195c7486..480ded63a5b0 100644 --- a/nova/virt/fake.py +++ b/nova/virt/fake.py @@ -123,7 +123,7 @@ class Resources(object): class FakeDriver(driver.ComputeDriver): capabilities = { "has_imagecache": True, - "supports_recreate": True, + "supports_evacuate": True, "supports_migrate_to_same_host": True, "supports_attach_interface": True, "supports_tagged_attach_interface": True, diff --git a/nova/virt/hyperv/driver.py b/nova/virt/hyperv/driver.py index 8cb229b59ed4..e7aec537fb2d 100644 --- a/nova/virt/hyperv/driver.py +++ b/nova/virt/hyperv/driver.py @@ -94,7 +94,7 @@ exception_conversion_map = { class HyperVDriver(driver.ComputeDriver): capabilities = { "has_imagecache": True, - "supports_recreate": False, + "supports_evacuate": False, "supports_migrate_to_same_host": False, "supports_attach_interface": True, "supports_device_tagging": True, diff --git a/nova/virt/ironic/driver.py b/nova/virt/ironic/driver.py index 88e17268cb33..fa0f2628bc95 100644 --- a/nova/virt/ironic/driver.py +++ b/nova/virt/ironic/driver.py @@ -131,7 +131,7 @@ class IronicDriver(virt_driver.ComputeDriver): """Hypervisor driver for Ironic - bare metal provisioning.""" capabilities = {"has_imagecache": False, - "supports_recreate": False, + "supports_evacuate": False, "supports_migrate_to_same_host": False, "supports_attach_interface": True, "supports_multiattach": False @@ -1496,7 +1496,7 @@ class IronicDriver(virt_driver.ComputeDriver): def rebuild(self, context, instance, image_meta, injected_files, admin_password, allocations, bdms, detach_block_devices, attach_block_devices, network_info=None, - recreate=False, block_device_info=None, + evacuate=False, block_device_info=None, preserve_ephemeral=False): """Rebuild/redeploy an instance. @@ -1530,7 +1530,7 @@ class IronicDriver(virt_driver.ComputeDriver): usage. Ignored by this driver. :param network_info: Instance network information. Ignored by this driver. - :param recreate: Boolean value; if True the instance is + :param evacuate: Boolean value; if True the instance is recreated on a new hypervisor - all the cleanup of old state is skipped. Ignored by this driver. :param block_device_info: Instance block device diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index 1a439cbe2d6b..604747b28472 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -335,7 +335,7 @@ MIN_MIGRATION_SPEED_BW = 1 # 1 MiB/s class LibvirtDriver(driver.ComputeDriver): capabilities = { "has_imagecache": True, - "supports_recreate": True, + "supports_evacuate": True, "supports_migrate_to_same_host": False, "supports_attach_interface": True, "supports_device_tagging": True, diff --git a/nova/virt/powervm/driver.py b/nova/virt/powervm/driver.py index f2b40061ba8e..5c359349d2a7 100644 --- a/nova/virt/powervm/driver.py +++ b/nova/virt/powervm/driver.py @@ -57,7 +57,7 @@ class PowerVMDriver(driver.ComputeDriver): # capabilities on the instance rather than on the class. self.capabilities = { 'has_imagecache': False, - 'supports_recreate': False, + 'supports_evacuate': False, 'supports_migrate_to_same_host': False, 'supports_attach_interface': True, 'supports_device_tagging': False, diff --git a/nova/virt/vmwareapi/driver.py b/nova/virt/vmwareapi/driver.py index d8f3854c86cd..117495ea5c8e 100644 --- a/nova/virt/vmwareapi/driver.py +++ b/nova/virt/vmwareapi/driver.py @@ -63,7 +63,7 @@ class VMwareVCDriver(driver.ComputeDriver): capabilities = { "has_imagecache": True, - "supports_recreate": False, + "supports_evacuate": False, "supports_migrate_to_same_host": True, "supports_attach_interface": True, "supports_multiattach": False diff --git a/nova/virt/xenapi/driver.py b/nova/virt/xenapi/driver.py index aaf5a119fa49..bb5ddbe88b7c 100644 --- a/nova/virt/xenapi/driver.py +++ b/nova/virt/xenapi/driver.py @@ -69,7 +69,7 @@ class XenAPIDriver(driver.ComputeDriver): """A connection to XenServer or Xen Cloud Platform.""" capabilities = { "has_imagecache": False, - "supports_recreate": False, + "supports_evacuate": False, "supports_migrate_to_same_host": False, "supports_attach_interface": True, "supports_device_tagging": True,