@@ -20448,7 +20448,8 @@ def test_cleanup_migrate_data_shared_block_storage(self,
2044820448 # is_shared_block_storage=True and destroy_disks=False.
2044920449 instance = objects.Instance(self.context, **self.test_instance)
2045020450 migrate_data = objects.LibvirtLiveMigrateData(
20451- is_shared_block_storage=True)
20451+ is_shared_block_storage=True,
20452+ is_shared_instance_path=False)
2045220453 drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI())
2045320454 drvr.cleanup(
2045420455 self.context, instance, network_info={}, destroy_disks=False,
@@ -20458,6 +20459,25 @@ def test_cleanup_migrate_data_shared_block_storage(self,
2045820459 self.assertTrue(instance.cleaned)
2045920460 save.assert_called_once_with()
2046020461
20462+ @mock.patch.object(libvirt_driver.LibvirtDriver, 'delete_instance_files',
20463+ return_value=True)
20464+ @mock.patch.object(objects.Instance, 'save')
20465+ @mock.patch.object(libvirt_driver.LibvirtDriver, '_undefine_domain')
20466+ def test_cleanup_migrate_data_block_storage_and_share_instance_dir(
20467+ self, _undefine_domain, save, delete_instance_files
20468+ ):
20469+ # Test the case when the instance directory is on shared storage
20470+ # (e.g. NFS) and the instance is booted form volume.
20471+ instance = objects.Instance(self.context, **self.test_instance)
20472+ migrate_data = objects.LibvirtLiveMigrateData(
20473+ is_shared_block_storage=True,
20474+ is_shared_instance_path=True)
20475+ drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI())
20476+ drvr.cleanup(
20477+ self.context, instance, network_info={}, destroy_disks=False,
20478+ migrate_data=migrate_data, destroy_vifs=False)
20479+ delete_instance_files.assert_not_called()
20480+
2046120481 @mock.patch.object(libvirt_driver.LibvirtDriver, 'delete_instance_files',
2046220482 return_value=True)
2046320483 @mock.patch.object(objects.Instance, 'save')
0 commit comments