通过pyvmomi / vSphere将VM添加到VLAN

时间:2014-06-02 19:19:29

标签: python vmware vsphere vlan

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

1 个答案:

答案 0 :(得分:2)

来自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是网络的名称(端口组)。其余的都是不言自明的。