如何解决Ansible / vmware_guest_network 添加后不连接网卡
我们需要为 Vmware 上的多个虚拟机添加一个新的 NIC。 为此,我们使用 ansible 2.9.3 和 Python 版本 = 2.7.5
这是添加的主要剧本:
---
-
become: false
gather_facts: false
hosts: srvlist
tasks:
-
vmware_guest_network:
hostname: "{{ vcenter_hostname }}"
password: "{{ vcenter_password }}"
username: "{{ vcenter_username }}"
validate_certs: false
cluster: "{{ vm_cluster }}"
datacenter: "{{ vm_datacenter }}"
gather_network_info: false
name: "{{ vm_name }}"
networks:
-
device_type: vmxnet3
dvswitch_name: SWITCH1
name: "TESTPORTGROUP|TEST_APP"
start_connected: true
state: new
connected: true
delegate_to: localhost
vars:
vcenter_hostname: "any.sample.ip"
vcenter_password: mypassword
vcenter_username: administrator
vm_name: myNewDuplicatedVM
vm_cluster: ANY_CLUSTER_NAME
vm_datacenter: ANY_DATACENTER_NAME
Playbook 部分工作,这里的问题是新网卡在创建后没有连接,我们可以看到属性设置正确:
start_connected: true
state: new
connected: true
我们还可以看到 name
中的 networks
变量使用了相应端口组的标签/名称:name: "TESTPORTGROUP|TEST_APP"
记住这将是一个新的 NIC;这意味着我们有一个已经在工作。
现在,当我使用 vmware_guest_network
获取详细信息只是为了从 VM 收集详细信息时,它显示的名称与预期不同:
ok: [vcenter_ip] => {
"vminfo": {
"changed": false,"failed": false,"network_data": {
"0": {
"allow_guest_ctl": true,"connected": true,"device_type": "VMXNET3","label": "Network adapter 1","mac_addr": "00:50:56:89:78:42","name": "DVSwitch: d9 27 09 50 0e ty b7 e2-91 b0 52 1d 6b 79 26 45","start_connected": true,"unit_number": 7,"wake_onlan": true
},"1": {
"allow_guest_ctl": true,"connected": false,"label": "Network adapter 2","mac_addr": "00:50:56:89:a1:65","name": "TESTPORTGROUP|TEST_APP","unit_number": 8,"wake_onlan": true
}
}
}
第一个是已经存在的 NIC,第二个是新的并且没有连接,如您所见。 我不知道为什么没有连接,也不知道为什么名称不同。 我理解在定制阶段出现错误时,nic 保持断开连接状态,但 vmlogs 或 ansible 中没有显示错误。
我也尝试使用整个低级交换机名称,但正如我所料,ansible 失败并说端口组不存在。
这可能是一个错误,或者我实际上缺少一些配置。
解决方法
您是使用 vmware-workstation 还是 vsphere 来托管您的虚拟机? 如果您使用的是 vsphere/vcenter,一个简单的方法是使用 powerCLI 来管理所有带有 vsphere API 的虚拟机。只需使用 New-NetworkAdapter cmdlet 添加新网卡,您就可以配置 vs/vds、vlan、网卡类型等。让您在应用任何更改之前拍摄快照。
new-networkadapter -vm <vmname> -NetworkName "<Port group name>" -Type "VMXNET3" -startconnected
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。