简体   繁体   中英

Ansible - got an unexpected keyword argument - check_invalid_arguments

I'm getting error when trying to run Azure VirtualMachine Extension module in ansible. Error - got an unexpected keyword argument . Need help to resolve the issue.

  - 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

Error:

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
}

I had a similar problem and resolved it by upgrading my Ansible version.
Originally had v2.9.6 and upgraded to v2.12.4.

Steps taken:

Uninstall: sudo apt remove ansible

Install using pip3: pip3 install ansible

Install system-wide using apt: sudo apt install ansible

Check version: ansible --version

(Commands where executed on Ubuntu srv 20.04LTS).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM