diff --git a/nova/compute/manager.py b/nova/compute/manager.py index b2de71ccddf..92097d8ad99 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -9990,13 +9990,6 @@ def _cleanup_running_deleted_instances(self, context): "DELETED but still present on host.", instance.name, instance=instance) 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) except Exception: LOG.warning("Failed to power off instance", diff --git a/nova/tests/unit/compute/test_compute.py b/nova/tests/unit/compute/test_compute.py index ddd0f5fc06e..cbb0e2f64d3 100644 --- a/nova/tests/unit/compute/test_compute.py +++ b/nova/tests/unit/compute/test_compute.py @@ -7047,10 +7047,10 @@ def test_cleanup_running_deleted_instances_reap(self, mock_get_uuid, @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(self, mock_power, - mock_set, mock_get): + def test_cleanup_running_deleted_instances_shutdown( + self, mock_power, mock_get, + ): ctxt, inst1, inst2 = self._test_cleanup_running('shutdown') mock_get.return_value = [inst1, inst2] @@ -7060,34 +7060,13 @@ def test_cleanup_running_deleted_instances_shutdown(self, mock_power, {'deleted': True, 'soft_deleted': False}) 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, '_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_notimpl(self, - mock_power, mock_set, 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): + def test_cleanup_running_deleted_instances_shutdown_error( + self, mock_power, mock_get, + ): ctxt, inst1, inst2 = self._test_cleanup_running('shutdown') e = test.TestingException('bad') mock_get.return_value = [inst1, inst2] @@ -7099,8 +7078,6 @@ def test_cleanup_running_deleted_instances_shutdown_error(self, mock_power, {'deleted': True, 'soft_deleted': False}) 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, '_get_instances_on_driver') diff --git a/nova/tests/unit/virt/test_virt_drivers.py b/nova/tests/unit/virt/test_virt_drivers.py index 051c8652943..ed1ea943e6e 100644 --- a/nova/tests/unit/virt/test_virt_drivers.py +++ b/nova/tests/unit/virt/test_virt_drivers.py @@ -736,10 +736,6 @@ def test_emit_unicode_event(self): self.connection.emit_event(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 def test_get_instance_disk_info(self): # This should be implemented by any driver that supports live migrate. diff --git a/nova/virt/driver.py b/nova/virt/driver.py index 5a1f4d2d4ac..d5243245bbf 100644 --- a/nova/virt/driver.py +++ b/nova/virt/driver.py @@ -866,15 +866,6 @@ def rescue(self, context, instance, network_info, image_meta, """ 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( self, context: nova_context.RequestContext,