diff --git a/hyperv/nova/migrationops.py b/hyperv/nova/migrationops.py index 66669fa0..c0641096 100644 --- a/hyperv/nova/migrationops.py +++ b/hyperv/nova/migrationops.py @@ -69,12 +69,10 @@ class MigrationOps(object): self._pathutils.makedirs(dest_path) for disk_file in disk_files: - # Skip the config drive as the instance is already configured - if os.path.basename(disk_file).lower() != 'configdrive.vhd': - LOG.debug('Copying disk "%(disk_file)s" to ' - '"%(dest_path)s"', - {'disk_file': disk_file, 'dest_path': dest_path}) - self._pathutils.copy(disk_file, dest_path) + LOG.debug('Copying disk "%(disk_file)s" to ' + '"%(dest_path)s"', + {'disk_file': disk_file, 'dest_path': dest_path}) + self._pathutils.copy(disk_file, dest_path) self._pathutils.move_folder_files(instance_path, revert_path) diff --git a/hyperv/tests/unit/test_migrationops.py b/hyperv/tests/unit/test_migrationops.py index 91af4649..73a7fd9a 100644 --- a/hyperv/tests/unit/test_migrationops.py +++ b/hyperv/tests/unit/test_migrationops.py @@ -59,6 +59,11 @@ class MigrationOpsTestCase(test_base.HyperVBaseTestCase): check_shared_storage.return_value = shared_storage self._migrationops._pathutils.exists.return_value = True + fake_disk_files = [os.path.join(instance_path, disk_name) + for disk_name in + ['root.vhd', 'configdrive.vhd', 'configdrive.iso', + 'eph0.vhd', 'eph1.vhdx']] + expected_get_dir = [mock.call(mock.sentinel.instance_name), mock.call(mock.sentinel.instance_name, mock.sentinel.dest_path)] @@ -67,7 +72,7 @@ class MigrationOpsTestCase(test_base.HyperVBaseTestCase): self._migrationops._migrate_disk_files( instance_name=mock.sentinel.instance_name, - disk_files=[self._FAKE_DISK], + disk_files=fake_disk_files, dest=mock.sentinel.dest_path) self._migrationops._pathutils.exists.assert_called_once_with( @@ -90,8 +95,11 @@ class MigrationOpsTestCase(test_base.HyperVBaseTestCase): self._migrationops._pathutils.get_instance_dir.assert_has_calls( expected_get_dir) - self._migrationops._pathutils.copy.assert_called_once_with( - self._FAKE_DISK, fake_dest_path) + self._migrationops._pathutils.copy.assert_has_calls( + mock.call(fake_disk_file, fake_dest_path) + for fake_disk_file in fake_disk_files) + self.assertEqual(len(fake_disk_files), + self._migrationops._pathutils.copy.call_count) self._migrationops._pathutils.move_folder_files.assert_has_calls( expected_move_calls)