Hi, The CloudStack API that the GUI is invoking is migrateVirtualMachineWithVolume (which is expected since I’m asking to migrate a VM from a host in one cluster to a host in another cluster).
A MigrateWithStorageCommand is sent to VmwareResource, which eventually calls VirtualMachineMO.changeDatastore. public boolean changeDatastore(VirtualMachineRelocateSpec relocateSpec) throws Exception { ManagedObjectReference morTask = _context.getVimClient().getService().relocateVMTask(_mor, relocateSpec, VirtualMachineMovePriority.DEFAULT_PRIORITY); boolean result = _context.getVimClient().waitForTask(morTask); if (result) { _context.waitForTaskProgressDone(morTask); return true; } else { s_logger.error("VMware RelocateVM_Task to change datastore failed due to " + TaskMO.getTaskFailureInfo(_context, morTask)); } return false; } The parameter, VirtualMachineRelocateSpec, looks like this: http://imgur.com/a/vtKcq (datastore-66 is the target datastore) The following error message is returned: Required property datastore is missing from data object of type VirtualMachineRelocateSpecDiskLocator while parsing serialized DataObject of type vim.vm.RelocateSpec.DiskLocator at line 1, column 327 while parsing property "disk" of static type ArrayOfVirtualMachineRelocateSpecDiskLocator while parsing serialized DataObject of type vim.vm.RelocateSpec at line 1, column 187 while parsing call information for method RelocateVM_Task at line 1, column 110 while parsing SOAP body at line 1, column 102 while parsing SOAP envelope at line 1, column 38 while parsing HTTP request for method relocate on object of type vim.VirtualMachine at line 1, column 0 Thoughts? Thanks! Mike On 3/22/17, 11:50 PM, "Sergey Levitskiy" <sergey.levits...@autodesk.com> wrote: Can you trace which API call being used and what parameters were specified? migrateVirtualMachineWithVolumeAttempts vs migrateVirtualMachine