【问题标题】:Add VM to VLAN through pyvmomi / vSphere通过 pyvmomi / vSphere 将 VM 添加到 VLAN
【发布时间】:2014-07-22 23:51:03
【问题描述】:

我搜索了文档 (http://pubs.vmware.com/vsphere-55/index.jsp),但找不到任何关于将虚拟机添加到 vlan 的信息。有很多关于创建和配置它们的信息,但没有如何通过 pyvmomi(或 esxcli,如果需要)向它们添加虚拟机。我很确定它可以完成,因为您可以通过 vSphere 客户端轻松完成,但我希望以自动化方式完成。

【问题讨论】:

  • 文档建议更改 VirtualEthernetCardDistributedVirtualPortBackingInfo (pubs.vmware.com/vsphere-55/…) 中的端口组。现在问题是将其传播到服务器。
  • 原来这仅适用于分布式虚拟端口组。标准的在下面使用我的答案。

标签: python vmware vsphere vlan


【解决方案1】:

https://github.com/rreubenur/vmware-python-examples/blob/master/clone_vm_on_each_host/reconfigure_vnics.py 的代码最终帮助了我很多:

nicspec = vim.vm.device.VirtualDeviceSpec()
nicspec.operation = vim.vm.device.VirtualDeviceSpec.Operation.add
nicspec.device = nic_type
nicspec.device.wakeOnLanEnabled = True
nicspec.device.deviceInfo = vim.Description()
nicspec.device.backing = vim.vm.device.VirtualEthernetCard.NetworkBackingInfo()
nicspec.device.backing.network = self.get_obj(content, [vim.Network], net_name)
nicspec.device.backing.deviceName = net_name

nicspec.device.connectable = vim.vm.device.VirtualDevice.ConnectInfo()
nicspec.device.connectable.startConnected = True
nicspec.device.connectable.allowGuestControl = True

devices.append(nicspec)

vmconf = vim.vm.ConfigSpec(deviceChange=devices)

允许我创建正确的配置对象以连接到标准交换机上的虚拟网络。

nic_type 是网络设备的类型(e1000、pc32 等),net_name 是网络的名称(端口组)。其余的很不言自明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 2014-07-26
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    相关资源
    最近更新 更多