virt: Remove 'set_bootable' API

Change-Id: I02b4e5b48c4974c426b8b576292f27f50565fb4f
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
Stephen Finucane 2020-08-31 17:31:41 +01:00
parent 39fe22161c
commit caa5f9ef94
4 changed files with 6 additions and 49 deletions

View File

@ -9990,13 +9990,6 @@ class ComputeManager(manager.Manager):
"DELETED but still present on host.", "DELETED but still present on host.",
instance.name, instance=instance) instance.name, instance=instance)
try: try:
try:
# disable starting the instance
self.driver.set_bootable(instance, False)
except NotImplementedError:
LOG.debug("set_bootable is not implemented "
"for the current driver")
# and power it off
self.driver.power_off(instance) self.driver.power_off(instance)
except Exception: except Exception:
LOG.warning("Failed to power off instance", LOG.warning("Failed to power off instance",

View File

@ -7047,10 +7047,10 @@ class ComputeTestCase(BaseTestCase,
@mock.patch.object(compute_manager.ComputeManager, @mock.patch.object(compute_manager.ComputeManager,
'_get_instances_on_driver') '_get_instances_on_driver')
@mock.patch.object(fake.FakeDriver, "set_bootable")
@mock.patch.object(fake.FakeDriver, "power_off") @mock.patch.object(fake.FakeDriver, "power_off")
def test_cleanup_running_deleted_instances_shutdown(self, mock_power, def test_cleanup_running_deleted_instances_shutdown(
mock_set, mock_get): self, mock_power, mock_get,
):
ctxt, inst1, inst2 = self._test_cleanup_running('shutdown') ctxt, inst1, inst2 = self._test_cleanup_running('shutdown')
mock_get.return_value = [inst1, inst2] mock_get.return_value = [inst1, inst2]
@ -7060,34 +7060,13 @@ class ComputeTestCase(BaseTestCase,
{'deleted': True, {'deleted': True,
'soft_deleted': False}) 'soft_deleted': False})
mock_power.assert_has_calls([mock.call(inst1), mock.call(inst2)]) mock_power.assert_has_calls([mock.call(inst1), mock.call(inst2)])
mock_set.assert_has_calls([mock.call(inst1, False),
mock.call(inst2, False)])
@mock.patch.object(compute_manager.ComputeManager, @mock.patch.object(compute_manager.ComputeManager,
'_get_instances_on_driver') '_get_instances_on_driver')
@mock.patch.object(fake.FakeDriver, "set_bootable")
@mock.patch.object(fake.FakeDriver, "power_off") @mock.patch.object(fake.FakeDriver, "power_off")
def test_cleanup_running_deleted_instances_shutdown_notimpl(self, def test_cleanup_running_deleted_instances_shutdown_error(
mock_power, mock_set, mock_get): self, mock_power, mock_get,
ctxt, inst1, inst2 = self._test_cleanup_running('shutdown') ):
mock_get.return_value = [inst1, inst2]
mock_set.side_effect = [NotImplementedError, NotImplementedError]
self.compute._cleanup_running_deleted_instances(ctxt)
mock_get.assert_called_once_with(ctxt,
{'deleted': True,
'soft_deleted': False})
mock_set.assert_has_calls([mock.call(inst1, False),
mock.call(inst2, False)])
mock_power.assert_has_calls([mock.call(inst1), mock.call(inst2)])
@mock.patch.object(compute_manager.ComputeManager,
'_get_instances_on_driver')
@mock.patch.object(fake.FakeDriver, "set_bootable")
@mock.patch.object(fake.FakeDriver, "power_off")
def test_cleanup_running_deleted_instances_shutdown_error(self, mock_power,
mock_set, mock_get):
ctxt, inst1, inst2 = self._test_cleanup_running('shutdown') ctxt, inst1, inst2 = self._test_cleanup_running('shutdown')
e = test.TestingException('bad') e = test.TestingException('bad')
mock_get.return_value = [inst1, inst2] mock_get.return_value = [inst1, inst2]
@ -7099,8 +7078,6 @@ class ComputeTestCase(BaseTestCase,
{'deleted': True, {'deleted': True,
'soft_deleted': False}) 'soft_deleted': False})
mock_power.assert_has_calls([mock.call(inst1), mock.call(inst2)]) mock_power.assert_has_calls([mock.call(inst1), mock.call(inst2)])
mock_set.assert_has_calls([mock.call(inst1, False),
mock.call(inst2, False)])
@mock.patch.object(compute_manager.ComputeManager, @mock.patch.object(compute_manager.ComputeManager,
'_get_instances_on_driver') '_get_instances_on_driver')

View File

@ -736,10 +736,6 @@ class _VirtDriverTestCase(_FakeDriverBackendTestCase):
self.connection.emit_event(started_event) self.connection.emit_event(started_event)
callback.assert_called_once_with(started_event) callback.assert_called_once_with(started_event)
def test_set_bootable(self):
self.assertRaises(NotImplementedError, self.connection.set_bootable,
'instance', True)
@catch_notimplementederror @catch_notimplementederror
def test_get_instance_disk_info(self): def test_get_instance_disk_info(self):
# This should be implemented by any driver that supports live migrate. # This should be implemented by any driver that supports live migrate.

View File

@ -866,15 +866,6 @@ class ComputeDriver(object):
""" """
raise NotImplementedError() raise NotImplementedError()
# TODO(stephenfin): This was only implemented (properly) for XenAPI and
# should be removed.
def set_bootable(self, instance, is_bootable):
"""Set the ability to power on/off an instance.
:param instance: nova.objects.instance.Instance
"""
raise NotImplementedError()
def unrescue( def unrescue(
self, self,
context: nova_context.RequestContext, context: nova_context.RequestContext,