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