Skip to content

Commit ffde527

Browse files
committed
Skip root migration when already on desired pool
1 parent 8dba93e commit ffde527

File tree

1 file changed

+21
-17
lines changed

1 file changed

+21
-17
lines changed

liveMigrateVirtualMachine.py

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -275,24 +275,28 @@ def liveMigrateVirtualMachine(c=None, DEBUG=0, DRYRUN=1, vmname='', toCluster=''
275275
(root_disk.name, zwps_name))
276276
print("Note: then migrate the VM and its disks and finally move ROOT disk to a CWPS pool at %s" % toCluster)
277277

278-
if DRYRUN == 1:
279-
message = "Would have migrated ROOT disk %s of VM %s to ZWPS pool %s" %\
280-
(root_disk.name, vm.instancename, zwps_name)
281-
c.print_message(message=message, message_type="Note", to_slack=to_slack)
282-
if multirun:
283-
return True
284-
sys.exit(1)
278+
# Check if volume is already on correct storage
279+
if root_disk.storage == zwps_name:
280+
print("Warning: No need to migrate volume %s -- already on the desired storage pool. Skipping." % root_disk.name)
281+
else:
282+
if DRYRUN == 1:
283+
message = "Would have migrated ROOT disk %s of VM %s to ZWPS pool %s" % \
284+
(root_disk.name, vm.instancename, zwps_name)
285+
c.print_message(message=message, message_type="Note", to_slack=to_slack)
286+
if multirun:
287+
return True
288+
sys.exit(1)
285289

286-
message = "Migrating ROOT disk of %s VM %s to ZWPS pool %s" % (root_disk.name, vm.instancename, zwps_name)
287-
c.print_message(message=message, message_type="Note", to_slack=to_slack)
288-
target_storage_pool_data = c.getStoragePool(poolName=zwps_name)
289-
result = c.migrateVolume(volid=root_disk.id, storageid=target_storage_pool_data[0].id, live=True)
290-
if result == 1:
291-
message = "Migrate volume %s (%s) failed -- exiting." % (root_disk.name, root_disk.id)
292-
c.print_message(message=message, message_type="Error", to_slack=to_slack)
293-
if multirun:
294-
return True
295-
sys.exit(1)
290+
message = "Migrating ROOT disk of %s VM %s to ZWPS pool %s" % (root_disk.name, vm.instancename, zwps_name)
291+
c.print_message(message=message, message_type="Note", to_slack=to_slack)
292+
target_storage_pool_data = c.getStoragePool(poolName=zwps_name)
293+
result = c.migrateVolume(volid=root_disk.id, storageid=target_storage_pool_data[0].id, live=True)
294+
if result == 1:
295+
message = "Migrate volume %s (%s) failed -- exiting." % (root_disk.name, root_disk.id)
296+
c.print_message(message=message, message_type="Error", to_slack=to_slack)
297+
if multirun:
298+
return True
299+
sys.exit(1)
296300

297301
# VM now runs with root disk at ZWPS
298302

0 commit comments

Comments
 (0)