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
    
    

Reply via email to