diff --git a/src/tm_mad/vcenter/mv b/src/tm_mad/vcenter/mv index 1a2cce4d7c..3b10d555e9 100755 --- a/src/tm_mad/vcenter/mv +++ b/src/tm_mad/vcenter/mv @@ -42,8 +42,16 @@ begin exit 0 if OpenNebula.is_disk?(dst_path) exit 0 if src == dst - # TODO: considerations about dsid argument, should be different to origin dsid - VCenterDriver::VirtualMachine.migrate_routine(vmid, host_orig, host_dest) + one_client = OpenNebula::Client.new + vm = OpenNebula::VirtualMachine.new_with_id(vmid, one_client) + vm.info + src_ds = vm.to_hash["VM"]["HISTORY_RECORDS"]["HISTORY"][-2]["DS_ID"] + + if src_ds == dsid + VCenterDriver::VirtualMachine.migrate_routine(vmid, host_orig, host_dest) + else + VCenterDriver::VirtualMachine.migrate_routine(vmid, host_orig, host_dest, dsid) + end rescue StandardError => e message = "Cannot migrate for VM #{vmid}"\