问题描述
我目前正在开展一个项目,以基于模板自动化 VM 部署。为了继续,我使用 Ansible 2.10 和 pyvmomi 7.0.1。
我在尝试定义 Pvlan id (51) 时遇到问题,对于我的客人,这是我的剧本:
---
- hosts: localhost
gather_facts: no
vars:
vcenter_server: "100.64.31.5"
vcenter_user: "xxxxx"
vcenter_pass: 'xxxxxx'
datacenter_name: "xxxxxx"
cluster_name: "xxxxxx"
tasks:
- name: Clone the template
vmware_guest:
hostname: "{{ vcenter_server }}"
username: "{{ vcenter_user }}"
password: "{{ vcenter_pass }}"
validate_certs: False
name: NewVmName
template: "mytemplate"
datacenter: "{{ datacenter_name }}"
folder: "/vm"
cluster: "{{ cluster_name }}"
datastore: "SAN08T2lunHDS1"
networks:
- vlan: 51
ip: 100.64.67.13
netmask: 255.255.240.0
type: static
但我不断收到以下错误:
AttributeError: 'vim.dvs.VmwaredistributedVirtualSwitch.PvlanSpec' object has no attribute 'vlanId'
我已经检查了我对 Vswitch、Datastore 和 VM 的用户权限,这边没有什么要声明的。
解决方法
好的,刚刚发现如何继续,而不是使用 vlan ID,您应该使用端口组名称。
要继续,一旦连接到您的 Vcenter :
- 单击 VMware Host Client 清单中的网络,然后单击端口组。 (或 Ctrl + Shift + N)
- 右键单击您的 vlan => 更新设置
- 端口组名称是“名称”字段