0

如果正在搜索的虚拟机不存在,返回输出的延迟大约为一分钟。如果正在搜索的虚拟机确实存在,则延迟大约为两秒。我知道我正在达到超时值,但是否有更快的方法来解决搜索失败?我们有非常大的 vSphere 环境,所以在实验室中运行良好,但产品 ;)

def getobject(vimtype, name):
    obj = None
    container = content.viewManager.CreateContainerView(content.rootFolder, vimtype, True)
    for c in container.view:
        if c.name == name:
            obj = c
            break
    return obj

vm = getobject([vim.VirtualMachine], "vm name")

print(vm)
4

1 回答 1

0

我不知道您使用 pyVmomi(Web API、GUI、CMD 工具)的确切目的是什么,但请注意,您必须考虑通过其 UUID 搜索 VM 的选项,这大约需要 1-2 秒,即使环境有一千台虚拟机。

当您迭代 1000 多个虚拟机并按名称搜索特定虚拟机时,您无法逃避时间等待。

就像您没有对 1000 个数字的数组进行排序,而您正在搜索数字 658,谁知道该数字在哪里,并且当数组增长时,时间也在增长。

请注意此代码:

按 UUID 搜索 VM

于 2017-08-06T19:30:11.167 回答