我遇到了一个基于pyVmomi的脚本问题,试图将OVA上传到vSphere。该脚本在具有与vCenter网络连接但不与计算主机具有网络连接的VM上运行。
该脚本与社区示例https://github.com/vmware/pyvmomi-community-samples/blob/master/samples/deploy_ovf.py非常相似。从租约中获得的URL是针对其中一台计算主机而不是vCenter的,即与以下行等效:https://github.com/vmware/pyvmomi-community-samples/blob/master/samples/deploy_ovf.py#L197。当我们以后使用请求上传到该地址时,这显然不起作用,因为我们没有网络连接。
最终,我们遇到了以下形式的错误:
pyVmomi.VmomiSupport.SystemError: (vmodl.fault.SystemError) {
dynamicType = <unset>,
dynamicProperty = (vmodl.DynamicProperty) [],
msg = <unset>,
faultCause = <unset>,
faultMessage = (vmodl.LocalizableMessage) [],
reason = "HTTPSConnectionPool(host='10.2.3.4', port=443): Max retries exceeded with url: /nfc/52479c2d-e906-c312-7ee3-fe108cae2d7e/disk-0.vmdk (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f8970337fd0>: Failed to establish a new connection: [Errno 110] Connection timed out',))"
}
10.2.3.4
是计算主机而不是vCenter。
任何建议,无论是这里的代码修复还是不需要网络到计算主机的替代库/工具,都将不胜感激。
我有同样的问题-供应商确认,虽然它们都可以从Web GUI到VCenter无缝运行,但在使用pyvimomi / ansible / terraform / powershell时,您需要直接的主机IP连接。