@@ -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