使用Ansible 2.9.6更改VMware VM端口组
我的脚本没有更改VM网络适配器的端口组,我做错了什么 假设我想将当前名为“A”的端口组更改为另一个名为“B”的端口组 我得到的输出有变化,但在虚拟机设置中没有变化使用Ansible 2.9.6更改VMware VM端口组,ansible,vmware,Ansible,Vmware,我的脚本没有更改VM网络适配器的端口组,我做错了什么 假设我想将当前名为“A”的端口组更改为另一个名为“B”的端口组 我得到的输出有变化,但在虚拟机设置中没有变化 TASK [Changing Portgroup for Network Adapter 1] ****************************************************************************** changed: [localhost -> localhost] 我
TASK [Changing Portgroup for Network Adapter 1]
******************************************************************************
changed: [localhost -> localhost]
我发现删除和添加网络适配器会改变端口组,但当我这样做时,我无法添加我最初拥有的网络适配器类型Flexible
Edit1:在将Ansible更新到2.9.12之后,我在运行脚本时得到了OK输出,因此它实际上没有改变任何东西
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
- name: Change network
community.vmware.vmware_guest_network:
validate_certs: no
hostname: '{{ vc_host }}'
username: '{{ vc_user }}'
password: '{{ vc_pass }}'
name: '{{ vm_name }}'
label: "Network adapter 1"
network_name: "B"
state: present
delegate_to: localhost
编辑3:
我让它与vmware社区模块一起工作。(谢谢@sky jokerxx)
首先,我使用以下命令安装它:
ansible-galaxy collection install community.vmware
然后使用如下模块:
$OldNetwork = "PG old"
$NewNetwork = "PG new"
Get-VM -Name $args[0] |Get-NetworkAdapter |Where {$_.NetworkName -eq $OldNetwork } |Set-NetworkAdapter -NetworkName $NewNetwork -Confirm:$false
- name: Change network
community.vmware.vmware_guest_network:
validate_certs: no
hostname: '{{ vc_host }}'
username: '{{ vc_user }}'
password: '{{ vc_pass }}'
name: '{{ vm_name }}'
label: "Network adapter 1"
network_name: "B"
state: present
delegate_to: localhost
vmware\u guest\u网络
模块存在很多问题
以下vmware\u guest\u网络
模块解决了一些问题
在以下步骤中,您可以使用上述模块
# 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 ..
也许它已经修复了,那么试一试怎么样?vmware\u guest\u网络模块有很多问题 以下
vmware\u guest\u网络
模块解决了一些问题
在以下步骤中,您可以使用上述模块
# 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 ..
也许已经修好了,试一试怎么样?在centos8上遇到了与ansible相同的问题。感谢您发布它将不起作用的帖子,以及解决方法。在centos8上遇到了与ansible相同的问题。谢谢你的帖子,它不会工作,以及周围的工作。谢谢你的帮助。模块在Ansible 2.10中仍然不起作用。我尝试了社区一,它的工作!谢谢谢谢你的帮助。模块在Ansible 2.10中仍然不起作用。我尝试了社区一,它的工作!谢谢