如何使用ansible更改vmware网络适配器
How to change vmware network adapter with ansible
我使用的是 ansible 2.9.2,我需要更换 vmware 特定虚拟机上的网络适配器。
在我的 vcenter 虚拟机设置中,我看到:
Networks: Vlan_12
我的剧本没有看到那个网络名称。
tasks:
- name: Changing network adapter
vmware_guest_network:
datacenter: "{{ datacenter"}}
hostname: "{{ vcenter_server }}"
username: "{{ vcenter_user }}"
password: "{{ vcenter_pass }}"
folder: "{{ folder }}"
cluster: "{{ cluster }}"
validate_certs: no
name: test
networks:
- name: "Vlan_12"
vlan: "Vlan_12"
connected: false
state: absent
register: output
我收到这个错误:
致命的:[本地主机]:失败! => {"changed":错误,"msg":"Network 'Vlan_12' does not exist."}
我正在尝试用另一个名为 Vlan_13 的网络适配器替换 vlan_12,因此我首先尝试删除现有的网络适配器。在 ansible 文档中,他们的示例非常有限。
谢谢。
您需要关闭特定于 vmware 的机器,以便您可以更换网络适配器:
tasks:
- name: Changing network adapter
vmware_guest_network:
datacenter: "{{ datacenter"}}
hostname: "{{ vcenter_server }}"
username: "{{ vcenter_user }}"
password: "{{ vcenter_pass }}"
folder: "{{ folder }}"
cluster: "{{ cluster }}"
validate_certs: no
name: test
networks:
- name: "Vlan_12"
label: "Network adapter 1"
connected: False
state: absent
- label: "Network adapter 1"
state: new
connected: True
name: Vlan_13
此 playbook 删除了当前的网络适配器,并添加了新的适配器。我找不到改变的方法。仅删除和添加。
您不必在 addin/removing 联网时关闭机器。
您可以 remove/add 即时网卡,至少在 linux 虚拟机上,不确定 Win 虚拟机。
更改网络直播效果很好。您只需要 state: present、当前接口的标签(几乎可以肯定 'Network adapter 1',这是第一个网络接口的默认值),以及您要连接到此的端口组的名称接口.
这是我一直在使用的剧本:
---
- hosts: localhost
gather_facts: no
tasks:
- name: migrate network
vmware_guest_network:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: '{{ datacenter }}'
validate_certs: False
name: '{{ vm_hostname }}'
gather_network_info: False
networks:
- state: present
label: "Network adapter 1"
name: '{{ new_net_name }}'
delegate_to: localhost
我使用的是 ansible 2.9.2,我需要更换 vmware 特定虚拟机上的网络适配器。
在我的 vcenter 虚拟机设置中,我看到:
Networks: Vlan_12
我的剧本没有看到那个网络名称。
tasks:
- name: Changing network adapter
vmware_guest_network:
datacenter: "{{ datacenter"}}
hostname: "{{ vcenter_server }}"
username: "{{ vcenter_user }}"
password: "{{ vcenter_pass }}"
folder: "{{ folder }}"
cluster: "{{ cluster }}"
validate_certs: no
name: test
networks:
- name: "Vlan_12"
vlan: "Vlan_12"
connected: false
state: absent
register: output
我收到这个错误: 致命的:[本地主机]:失败! => {"changed":错误,"msg":"Network 'Vlan_12' does not exist."}
我正在尝试用另一个名为 Vlan_13 的网络适配器替换 vlan_12,因此我首先尝试删除现有的网络适配器。在 ansible 文档中,他们的示例非常有限。 谢谢。
您需要关闭特定于 vmware 的机器,以便您可以更换网络适配器:
tasks:
- name: Changing network adapter
vmware_guest_network:
datacenter: "{{ datacenter"}}
hostname: "{{ vcenter_server }}"
username: "{{ vcenter_user }}"
password: "{{ vcenter_pass }}"
folder: "{{ folder }}"
cluster: "{{ cluster }}"
validate_certs: no
name: test
networks:
- name: "Vlan_12"
label: "Network adapter 1"
connected: False
state: absent
- label: "Network adapter 1"
state: new
connected: True
name: Vlan_13
此 playbook 删除了当前的网络适配器,并添加了新的适配器。我找不到改变的方法。仅删除和添加。
您不必在 addin/removing 联网时关闭机器。 您可以 remove/add 即时网卡,至少在 linux 虚拟机上,不确定 Win 虚拟机。
更改网络直播效果很好。您只需要 state: present、当前接口的标签(几乎可以肯定 'Network adapter 1',这是第一个网络接口的默认值),以及您要连接到此的端口组的名称接口.
这是我一直在使用的剧本:
---
- hosts: localhost
gather_facts: no
tasks:
- name: migrate network
vmware_guest_network:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datacenter: '{{ datacenter }}'
validate_certs: False
name: '{{ vm_hostname }}'
gather_network_info: False
networks:
- state: present
label: "Network adapter 1"
name: '{{ new_net_name }}'
delegate_to: localhost