如何解决使用Ansible 2.9.6更改了VMware VM端口组
我的脚本没有更改VM网络适配器的端口组,我在做什么错了?
让我们假设我想将当前名为“ A”的端口组更改为另一个名为“ B”的端口组。
---
- hosts: localhost
gather_facts: no
vars:
vm_name: VM
tasks:
- name: Changing Portgroup for Network adapter 1
vmware_guest_network:
hostname: "{{ vc_host }}"
username: "{{ vc_user }}"
password: "{{ vc_pass }}"
validate_certs: no
name: "{{ vm_name }}"
gather_network_info: false
networks:
- label: "Network adapter 1"
name: "B"
state: present
delegate_to: localhost
register: network_info
我得到的输出是某些更改,但是在“ VM设置”中没有任何更改。
TASK [Changing Portgroup for Network Adapter 1]
******************************************************************************
changed: [localhost -> localhost]
我发现删除和添加网络适配器会更改端口组,但是当我这样做时,我无法添加网络适配器类型Flexible,
Edit1:将Ansible更新为2.9.12后,在运行脚本时我得到了确定的输出,因此它实际上并没有改变任何内容。
TASK [Changing Portgroup for Network Adapter 1] ******************************************************************************
ok: [localhost]
Edit2:经过几天的搜索,我发现无法仅通过Ansible更改端口组,因此我使用PowerCLI来帮助我完成任务。
---
- hosts: localhost
gather_facts: no
vars:
vm_name: "VM"
tasks:
- name: "Changing the portgroup for {{ vm_name }}"
win_command: 'powershell.exe -ExecutionPolicy ByPass -File C:\Scripts\change_portgroup.ps1 {{ vm_name }}'
delegate_to: WIN_SRV
powershell脚本如下所示:
$OldNetwork = "PG old"
$NewNetwork = "PG new"
Get-VM -Name $args[0] |Get-NetworkAdapter |Where {$_.NetworkName -eq $OldNetwork } |Set-NetworkAdapter -NetworkName $NewNetwork -Confirm:$false
解决方法
vmware_guest_network
模块存在很多问题。
https://github.com/ansible-collections/community.vmware/issues/378
以下vmware_guest_network
模块已解决了一些问题。
https://github.com/ansible-collections/community.vmware/pull/401
在以下过程中,您可以使用上面的模块。
# ansible-galaxy collection install community.vmware -p collections
# mkdir library
# cd library/
# curl -L https://raw.githubusercontent.com/ansible-collections/community.vmware/7ac9ebb9bf5df0f1ead3ef1a3ed35f2d4ad45622/plugins/modules/vmware_guest_network.py -O
# cd ..
https://docs.ansible.com/ansible/latest/dev_guide/developing_locally.html
也许它是固定的,那么如何尝试呢?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。