【发布时间】:2020-03-10 11:13:04
【问题描述】:
我在尝试将 OVA 上传到 vSphere 时遇到了一个基于 pyVmomi 构建的脚本的问题。此脚本在与 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。
任何建议都将不胜感激,无论是此处的代码修复,还是不需要网络连接到计算主机的替代库/工具。
【问题讨论】:
标签: python upload vmware pyvmomi ovf