[英]Ansible - got an unexpected keyword argument - check_invalid_arguments
嘗試在 ansible 中運行Azure VirtualMachine Extension
模塊時出現錯誤。錯誤 - got an unexpected keyword argument
。 需要幫助來解決問題。
- name: create Azure vm extension to enable HTTPS WinRM listener
azure_rm_virtualmachine_extension:
name: "winrm-extension"
resource_group: "{{ resource_group }}"
virtual_machine_name: "{{ item.invocation.module_args.tags.hostname }}"
publisher: Microsoft.Compute
virtual_machine_extension_type: CustomScriptExtension
type_handler_version: 1.9
settings: '{"commandToExecute": "powershell.exe -ExecutionPolicy ByPass -EncodedCommand {{winrm_enable_script}}"}'
auto_upgrade_minor_version: true
with_items: "{{ azure_nic.results }}"
loop_control:
label: "{{ item.invocation.module_args.tags.hostname }}"
register: azure_vm_ext
錯誤:
TASK [create Azure vm extension to enable HTTPS WinRM listener] **************************************************************************************************************************************************************************************************************
task path: /home/ansible/azure_ansible/azure_playbook.yaml:48
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: ansible
<127.0.0.1> EXEC /bin/sh -c 'echo ~ansible && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/ansible/.ansible/tmp `"&& mkdir "` echo /home/ansible/.ansible/tmp/ansible-tmp-1635021345.7221916-3079-69569921370297 `" && echo ansible-tmp-1635021345.7221916-3079-69569921370297="` echo /home/ansible/.ansible/tmp/ansible-tmp-1635021345.7221916-3079-69569921370297 `" ) && sleep 0'
Using module file /home/ansible/.ansible/roles/azure.azure_modules/library/_azure_rm_virtualmachine_extension.py
<127.0.0.1> PUT /home/ansible/.ansible/tmp/ansible-local-2993sfin7blt/tmpl484jblk TO /home/ansible/.ansible/tmp/ansible-tmp-1635021345.7221916-3079-69569921370297/AnsiballZ__azure_rm_virtualmachine_extension.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /home/ansible/.ansible/tmp/ansible-tmp-1635021345.7221916-3079-69569921370297/ /home/ansible/.ansible/tmp/ansible-tmp-1635021345.7221916-3079-69569921370297/AnsiballZ__azure_rm_virtualmachine_extension.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/home/ansible/azure_ansible/ansible/bin/python3 /home/ansible/.ansible/tmp/ansible-tmp-1635021345.7221916-3079-69569921370297/AnsiballZ__azure_rm_virtualmachine_extension.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /home/ansible/.ansible/tmp/ansible-tmp-1635021345.7221916-3079-69569921370297/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
File "/home/ansible/.ansible/tmp/ansible-tmp-1635021345.7221916-3079-69569921370297/AnsiballZ__azure_rm_virtualmachine_extension.py", line 100, in <module>
_ansiballz_main()
File "/home/ansible/.ansible/tmp/ansible-tmp-1635021345.7221916-3079-69569921370297/AnsiballZ__azure_rm_virtualmachine_extension.py", line 92, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/home/ansible/.ansible/tmp/ansible-tmp-1635021345.7221916-3079-69569921370297/AnsiballZ__azure_rm_virtualmachine_extension.py", line 40, in invoke_module
runpy.run_module(mod_name='ansible.modules.azure_rm_virtualmachine_extension', init_globals=dict(_module_fqn='ansible.modules.azure_rm_virtualmachine_extension', _modlib_path=modlib_path),
File "/usr/lib/python3.8/runpy.py", line 207, in run_module
return _run_module_code(code, init_globals, run_name, mod_spec)
File "/usr/lib/python3.8/runpy.py", line 97, in _run_module_code
_run_code(code, mod_globals, init_globals,
File "/usr/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/tmp/ansible_azure_rm_virtualmachine_extension_payload_f9qb4nrk/ansible_azure_rm_virtualmachine_extension_payload.zip/ansible/modules/azure_rm_virtualmachine_extension.py", line 337, in <module>
File "/tmp/ansible_azure_rm_virtualmachine_extension_payload_f9qb4nrk/ansible_azure_rm_virtualmachine_extension_payload.zip/ansible/modules/azure_rm_virtualmachine_extension.py", line 333, in main
File "/tmp/ansible_azure_rm_virtualmachine_extension_payload_f9qb4nrk/ansible_azure_rm_virtualmachine_extension_payload.zip/ansible/modules/azure_rm_virtualmachine_extension.py", line 203, in __init__
File "/tmp/ansible_azure_rm_virtualmachine_extension_payload_f9qb4nrk/ansible_azure_rm_virtualmachine_extension_payload.zip/ansible/module_utils/azure_rm_common.py", line 268, in __init__
TypeError: __init__() got an unexpected keyword argument 'check_invalid_arguments'
fatal: [localhost]: FAILED! => {
"changed": false,
"module_stderr": "Traceback (most recent call last):\n File \"/home/ansible/.ansible/tmp/ansible-tmp-1635021345.7221916-3079-69569921370297/AnsiballZ__azure_rm_virtualmachine_extension.py\", line 100, in <module>\n _ansiballz_main()\n File \"/home/ansible/.ansible/tmp/ansible-tmp-1635021345.7221916-3079-69569921370297/AnsiballZ__azure_rm_virtualmachine_extension.py\", line 92, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/home/ansible/.ansible/tmp/ansible-tmp-1635021345.7221916-3079-69569921370297/AnsiballZ__azure_rm_virtualmachine_extension.py\", line 40, in invoke_module\n runpy.run_module(mod_name='ansible.modules.azure_rm_virtualmachine_extension', init_globals=dict(_module_fqn='ansible.modules.azure_rm_virtualmachine_extension', _modlib_path=modlib_path),\n File \"/usr/lib/python3.8/runpy.py\", line 207, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File \"/usr/lib/python3.8/runpy.py\", line 97, in _run_module_code\n _run_code(code, mod_globals, init_globals,\n File \"/usr/lib/python3.8/runpy.py\", line 87, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_azure_rm_virtualmachine_extension_payload_f9qb4nrk/ansible_azure_rm_virtualmachine_extension_payload.zip/ansible/modules/azure_rm_virtualmachine_extension.py\", line 337, in <module>\n File \"/tmp/ansible_azure_rm_virtualmachine_extension_payload_f9qb4nrk/ansible_azure_rm_virtualmachine_extension_payload.zip/ansible/modules/azure_rm_virtualmachine_extension.py\", line 333, in main\n File \"/tmp/ansible_azure_rm_virtualmachine_extension_payload_f9qb4nrk/ansible_azure_rm_virtualmachine_extension_payload.zip/ansible/modules/azure_rm_virtualmachine_extension.py\", line 203, in __init__\n File \"/tmp/ansible_azure_rm_virtualmachine_extension_payload_f9qb4nrk/ansible_azure_rm_virtualmachine_extension_payload.zip/ansible/module_utils/azure_rm_common.py\", line 268, in __init__\nTypeError: __init__() got an unexpected keyword argument 'check_invalid_arguments'\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}
我有一個類似的問題並通過升級我的 Ansible 版本解決了它。
最初有 v2.9.6 並升級到 v2.12.4。
采取的步驟:
卸載:
sudo apt remove ansible
使用 pip3 安裝:
pip3 install ansible
使用 apt 在系統范圍內安裝:
sudo apt install ansible
檢查版本:
ansible --version
(在 Ubuntu srv 20.04LTS 上執行的命令)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.