diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 2e83f07ae67d..834bf42d6b10 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -1796,6 +1796,8 @@ class ComputeManager(manager.Manager): instance=instance) self._cleanup_allocated_networks(context, instance, requested_networks) + self._cleanup_volumes(context, instance.uuid, + block_device_mapping, raise_exc=False) compute_utils.add_instance_fault_from_exc(context, instance, e, sys.exc_info(), fault_message=e.kwargs['reason']) diff --git a/nova/tests/unit/compute/test_compute_mgr.py b/nova/tests/unit/compute/test_compute_mgr.py index 394a1a462065..9c3b224abfa6 100644 --- a/nova/tests/unit/compute/test_compute_mgr.py +++ b/nova/tests/unit/compute/test_compute_mgr.py @@ -3776,6 +3776,9 @@ class ComputeManagerBuildInstanceTestCase(test.NoDBTestCase): self.block_device_mapping, self.node, self.limits, {}) mock_clean_net.assert_called_once_with(self.context, self.instance, self.requested_networks) + mock_clean_vol.assert_called_once_with(self.context, + self.instance.uuid, self.block_device_mapping, + raise_exc=False) mock_add.assert_called_once_with(self.context, self.instance, mock.ANY, mock.ANY, fault_message=mock.ANY) mock_nil.assert_called_once_with(self.instance)