首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pyVmomi获取vCenter网络的IP

使用pyVmomi获取vCenter网络的IP
EN

Stack Overflow用户
提问于 2018-01-23 00:32:36
回答 1查看 1.8K关注 0票数 0

我使用pyVmomi在我们的vCenter上创建VM。我们有一些网络,比如“PRD-DB”。我可以使用pyVmomi将VM的网络接口更改为'PRD-DB‘。

我知道此网络地址是10.125.10.0/24。但我找不到使用pyVmomi获取此网络IP地址的方法。是什么将IP连接到网络?

编辑得更准确:如何检索可分配给虚拟机网卡的可用VLAN列表?我可以检索与这些VLAN对应的网络地址吗?

EN

回答 1

Stack Overflow用户

发布于 2018-11-07 12:56:14

您是否正在尝试仅获取每个虚拟机的ip地址?

如果是这样的话,您可以在vim.VirtualMachine上使用CreateContainerView通过guest对象从您的vCentre获取每个VM的IP地址。尽管您需要安装VMWare工具来收集来宾对象中的大部分信息。

代码语言:javascript
复制
serviceInstance = SmartConnect(host=host,user=user,pwd=password,port=443)
atexit.register(Disconnect, serviceInstance)
content = serviceInstance.RetrieveContent()
vm_view = content.viewManager.CreateContainerView(content.rootFolder,[vim.VirtualMachine],True)

# Loop through the vms and print the ipAddress
for vm in vm_view.view:
    print(vm.guest.ipAddress)

如果您正在尝试一种更高级的方法,我建议您遵循vmware github页面上提供的getvnicinfo.py示例。这实际上是通过一个更详细的视图来获取每个虚拟机的信息。尽管这似乎不能提供IP地址。

要查看主机的可用vlans,请按照以下示例操作。

代码语言:javascript
复制
hosts = content.viewManager.CreateContainerView(content.rootFolder,[vim.HostSystem],True) 
for host in hosts.view:
    for network in host.network:
        switch = network.config.distributedVirtualSwitch
        for portgroup in switch.portgroup:
            print(portgroup.name) # This will print the vlan names
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48386221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档