2016-10-27 33 views
0

我有2個ESXi主機和vCenter實例。我在Ubuntu 16.04上安裝了VIX API軟件包,並嘗試克隆VM。要做到這一點,我使用了documentation的樣本。 不幸的是,我的程序與該消息執行下面的代碼之後崩潰(連接到主機和開口VM進程正常工作): 「操作不支持指定的參數」VIX API克隆調用 - 指定參數不支持該操作

的代碼:

jobHandle = VixVM_Clone(vmHandle, 
        VIX_INVALID_HANDLE, 
        VIX_CLONETYPE_FULL, 
        "[datastore1] mytemp-21_linked/mytemp-21_linked.vmx", 
        0, 
        VIX_INVALID_HANDLE, 
        NULL, 
        NULL); 

值得注意的是,在文檔示例中,使用了VIX_SERVICEPROVIDER_VMWARE_WORKSTATION主機類型,因爲我沒有找到任何有關ESXi和vCenter限制的信息(VIX_SERVICEPROVIDER_VMWARE_VI_SERVER類型),因此也應該支持。 我的電話有什麼問題?

另外,我看到類似的東西there,但是對問題的描述很糟糕。

+1

VIX對於vSphere而言幾乎已經死了(請參閱https://developercenter.vmware.com/web/sdk/60/vix或https:// www .vmware.com/support/developer/vix-api/VIX-1.15-ReleaseNotes.html),所以你應該改變它,轉而使用webservices SDK(https://www.vmware.com/support/developer/vc-sdk /)或類似pyvmomi(https://github.com/vmware/pyvmomi)。 – YSK

回答

0

來自VIXAPI操作的克隆是而不是受VMware Server支持。我面臨同樣的問題,在連接到主機時,應通過VIX_SERVICEPROVIDER_VMWARE_WORKSTATION來設置和連接主機類型。

您可以在here找到完整的兼容性列表,或在支持文檔中要求你上面它提到上市:「VMware工作站6.5(不支持的VMware服務器上)」

隨着YSK提到在上面的評論中,這是vSphere支持的最後一個VIX SDK版本。一組VIX Guest操作API已集成到vSphere WebServices SDK中。以下是關於如何遷移到vSphere SDK的VMware文章:https://www.vmware.com/support/developer/vix-api/guestOps50_technote.pdf

+1

謝謝!我很難在文件中找到這個限制。但是正如YSK所言,事實上 - 最好使用web服務SDK。 –