Merge "HyperV: ensure config drives are copied as well during resizes" into stable/newton

This commit is contained in:
Jenkins 2016-10-17 00:56:19 +00:00 committed by Gerrit Code Review
commit 8ad4ec4586
2 changed files with 15 additions and 9 deletions

View File

@ -61,6 +61,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)]
@ -69,7 +74,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(
@ -94,8 +99,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)

View File

@ -72,12 +72,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)