1

我想从特定集群中获取所有数据存储。我将把它用于我的 vapp 部署。

我尝试了以下代码段:

clusters = server.get_clusters()
for c_mor, c_name in clusters.items():
    for ds_mor, name in server.get_datastores(from_mor=c_mor).items():
        props = VIProperty(server, ds_mor)
        print props.name

但是,这并没有给我列表。我究竟做错了什么?

4

2 回答 2

0

回答这个问题已经晚了。这是我的代码。

from pysphere import VIServer, VIProperty 

server = VIServer() 
server.connect(server, username, password) 

for ds_mor, name in server.get_hosts().items(): 
    props = VIProperty(server, ds_mor) 
    for item in props.datastore :
        print item.info.name

server.disconnect() 
于 2014-06-20T02:21:14.587 回答
0

老问题,但如果外面有人正在寻找解决方案(这是谷歌的第一个结果),这将直接从数据存储中收集信息:

from pysphere import VIServer, VIProperty
import ssl

default_context = ssl._create_default_https_context
server = VIServer()
#user = the-user-to-connect-to-vsphere
#password = the-password-from-the-user
#host = the-vsphere-hostname-or-ip
try:
    ssl._create_default_https_context = ssl._create_unverified_context
    server.connect(host, user, password)
    for ds_mor, name in server.get_datastores().items():
        props = VIProperty(server, ds_mor)
        print "Datastore name: ", name
    server.disconnect()

finally:
    ssl._create_default_https_context = default_context

这将连接到自签名的 VSphere,这在 Intranet 中很常见。

于 2016-08-25T20:36:50.733 回答