我使用 ansible 2.9.10 并拥有在 vm vcenter 上运行 powershell 脚本的剧本。 该剧本适用于某些机器,有些机器会永远卡住而没有任何错误。 所有虚拟机都相同(相同的 Windows 模板)
---
- hosts: localhost
connection: local
vars:
vars_files:
- vars.yml
tasks:
- name: "load VPN"
vmware_vm_shell:
cluster: "{{ cluster }}"
datacenter: "{{ datacenter }}"
hostname: "{{ vcenter_server }}"
username: "{{ vcenter_user }}"
password: "{{ vcenter_pass }}"
folder: "{{ folder }}"
vm_id: "{{ name }}"
vm_username: "{{ vm_username }}"
vm_password: "{{ vm_password }}"
vm_shell: 'C:\Windows\System32\WindowsPowershell\v1.0\powershell.exe'
vm_shell_args: -ExecutionPolicy Bypass -File C:\SW\vpn.ps1
vm_shell_cwd: 'C:\MYDIR'
wait_for_process: yes
validate_certs: no
delegate_to: localhost
register: shell_command_output
- debug:
msg: "{{ shell_command_output }}"
如果我手动运行它,我会看到它卡在这里:
TASK [load VPN] **********************************************************************************************************************
task path: /root/ansible/api/base/vm-playbooks/install_vpn.yml:8
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /tmp/.ansible/tmp/ansible-tmp-1615384930.8184772-37874402704912 `" && echo ansible-tmp-1615384930.8184772-37874402704912="` echo /tmp/.ansible/tmp/ansible-tmp-1615384930.8184772-37874402704912 `" ) && sleep 0'
Using module file /usr/local/lib/python3.6/dist-packages/ansible/modules/cloud/vmware/vmware_vm_shell.py
<localhost> PUT /tmp/.ansible/tmp/ansible-local-103875urmwcpf8/tmpsckzefh6 TO /tmp/.ansible/tmp/ansible-tmp-1615384930.8184772-37874402704912/AnsiballZ_vmware_vm_shell.py
<localhost> EXEC /bin/sh -c 'chmod u+x /tmp/.ansible/tmp/ansible-tmp-1615384930.8184772-37874402704912/ /tmp/.ansible/tmp/ansible-tmp-1615384930.8184772-37874402704912/AnsiballZ_vmware_vm_shell.py && sleep 0'
<localhost> EXEC /bin/sh -c '/usr/bin/env python3 /tmp/.ansible/tmp/ansible-tmp-1615384930.8184772-37874402704912/AnsiballZ_vmware_vm_shell.py && sleep 0'
我该如何解决这个问题?