I'm running VMWare ESX server 4.0, and want to automate testing on several major Windows OS' using VIX 1.10. Started off by downloading VIX 1.10, and putting the VI-Server-2.0.0 dlls into my classpath. When i call VixVM_Open after a connect, it returns error 4000 : VIX_E_VM_NOT_FOUND. This seems strange, considering that the event monitor in the vSphere client reports:
Find virtual machine by datastore path
Completed
root
9/13/2010 11:23:02 AM
9/13/2010 11:23:02 AM
9/13/2010 11:23:02 AM
And shows a green tick indicating the process has gone through successfully. As a result of this failed step, i have no vmHandle to perform guest operations in the VM. Any ideas on why this could be failing to find the vmx path specified. I know for sure it does exist. Thoughts ?
Here is the sample code of my openVM method ...
-
jobHandle = VixGuest.instance.VixVM_Open(hostHandle[0], vmxPath, null, null);
result = VixGuest.instance.VixJob_Wait(jobHandle, VIX_PROPERTY_JOB_RESULT_HANDLE, vmHandle, VIX_PROPERTY_NONE);
if (result != VIX_OK) {
log.error("Error in opening VM: " + result);
}
VixGuest.instance.Vix_ReleaseHandle(jobHandle);
return vmHandle;
-
FYI, I'm developing the implementation of the VIX API in Java.