diff --git a/nova/tests/unit/virt/libvirt/test_driver.py b/nova/tests/unit/virt/libvirt/test_driver.py index b416641d3629..60d074b3b9d3 100644 --- a/nova/tests/unit/virt/libvirt/test_driver.py +++ b/nova/tests/unit/virt/libvirt/test_driver.py @@ -19525,10 +19525,11 @@ class LibvirtConnTestCase(test.NoDBTestCase, disconnect_volume.assert_called_once_with(self.context, mock.sentinel.new_connection_info, instance) + @mock.patch.object(fileutils, 'delete_if_exists') @mock.patch('nova.virt.libvirt.guest.BlockDevice.is_job_complete') @mock.patch('nova.privsep.path.chown') def _test_live_snapshot( - self, mock_chown, mock_is_job_complete, + self, mock_chown, mock_is_job_complete, mock_delete, can_quiesce=False, require_quiesce=False): drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI()) mock_dom = mock.MagicMock() @@ -19586,6 +19587,7 @@ class LibvirtConnTestCase(test.NoDBTestCase, mock_chown.assert_called_once_with(dltfile, uid=os.getuid()) mock_snapshot.assert_called_once_with(dltfile, "qcow2", dstfile, "qcow2") + mock_delete.assert_called_once_with(dltfile) mock_define.assert_called_once_with(xmldoc) mock_quiesce.assert_any_call(mock.ANY, self.test_instance, mock.ANY, True) diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py index e8f7919972a9..e6a73be8ec08 100644 --- a/nova/virt/libvirt/driver.py +++ b/nova/virt/libvirt/driver.py @@ -2687,6 +2687,10 @@ class LibvirtDriver(driver.ComputeDriver): libvirt_utils.extract_snapshot(disk_delta, 'qcow2', out_path, image_format) + # Remove the disk_delta file once the snapshot extracted, so that + # it doesn't hang around till the snapshot gets uploaded + fileutils.delete_if_exists(disk_delta) + def _volume_snapshot_update_status(self, context, snapshot_id, status): """Send a snapshot status update to Cinder.