'Why am I receiving a Ansible Azure Module Error?
I'm running into the below error while running a playbook. I have tested to make sure this is isolated to the playbook / Ansible by running azure cli on it's own, and I am able to retrieve keyvault secrets / authenticate with azure as the MSI, etc.
If I use the CLI auth_source I get the below error, and I'm not exactly sure where to look. Below are my versions
ansible 2.9.25
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/dpetrino/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Aug 13 2020, 02:51:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
This is my playbook. The vault here is scratched out and in my playbook has the real vaults location
- name: "FetchSecretExample"
hosts: localhost
gather_facts: true
connection: local
tasks:
- name: Get latest version of Password
azure.azcollection.azure_rm_keyvaultsecret_info:
auth_source: msi
vault_uri: "https://vaulthere/"
name: ansible
register: Password
- name: Make vars persistant
set_fact:
ansible_password: "{{ Password.secrets[0].secret }}"
- name: Print Password
debug:
var: ansible_password
below is the error while running azure cli auth_source
fatal: [localhost]: FAILED! => {
"changed": false,
"module_stderr": "Your credentials class does not support session injection. Performance will not be at the maximum.\nTraceback (most recent call last):\n File \"/home/dpetrino/.ansible/tmp/ansible-tmp-1643293692.0336611-18179-32562301523741/AnsiballZ_azure_rm_keyvaultsecret_info.py\", line 100, in <module>\n _ansiballz_main()\n File \"/home/dpetrino/.ansible/tmp/ansible-tmp-1643293692.0336611-18179-32562301523741/AnsiballZ_azure_rm_keyvaultsecret_info.py\", line 92, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/home/dpetrino/.ansible/tmp/ansible-tmp-1643293692.0336611-18179-32562301523741/AnsiballZ_azure_rm_keyvaultsecret_info.py\", line 41, in invoke_module\n run_name='__main__', alter_sys=True)\n File \"/usr/lib64/python3.6/runpy.py\", line 205, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File \"/usr/lib64/python3.6/runpy.py\", line 96, in _run_module_code\n mod_name, mod_spec, pkg_name, script_name)\n File \"/usr/lib64/python3.6/runpy.py\", line 85, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_jtt7aa9h/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_keyvaultsecret_info.py\", line 430, in <module>\n File \"/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_jtt7aa9h/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_keyvaultsecret_info.py\", line 426, in main\n File \"/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_jtt7aa9h/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_keyvaultsecret_info.py\", line 239, in __init__\n File \"/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_jtt7aa9h/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/module_utils/azure_rm_common.py\", line 471, in __init__\n File \"/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_jtt7aa9h/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_keyvaultsecret_info.py\", line 257, in exec_module\n File \"/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_jtt7aa9h/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_keyvaultsecret_info.py\", line 315, in get_secret\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/azure/keyvault/key_vault_client.py\", line 1795, in get_secret\n response = self._client.send(request, header_parameters, **operation_config)\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/msrest/service_client.py\", line 336, in send\n pipeline_response = self.config.pipeline.run(request, **kwargs)\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/msrest/pipeline/__init__.py\", line 197, in run\n return first_node.send(pipeline_request, **kwargs) # type: ignore\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/msrest/pipeline/__init__.py\", line 150, in send\n response = self.next.send(request, **kwargs)\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/msrest/pipeline/requests.py\", line 72, in send\n return self.next.send(request, **kwargs)\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/msrest/pipeline/requests.py\", line 137, in send\n return self.next.send(request, **kwargs)\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/msrest/pipeline/__init__.py\", line 150, in send\n response = self.next.send(request, **kwargs)\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/msrest/pipeline/requests.py\", line 193, in send\n self.driver.send(request.http_request, **kwargs)\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/msrest/universal_http/requests.py\", line 333, in send\n return super(RequestsHTTPSender, self).send(request, **requests_kwargs)\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/msrest/universal_http/requests.py\", line 142, in send\n **kwargs)\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/requests/sessions.py\", line 542, in request\n resp = self.send(prep, **send_kwargs)\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/requests/sessions.py\", line 662, in send\n r = dispatch_hook('response', hooks, r, **kwargs)\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/requests/hooks.py\", line 31, in dispatch_hook\n _hook_data = hook(hook_data, **kwargs)\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/azure/keyvault/custom/key_vault_authentication.py\", line 146, in _handle_401\n security = self._get_message_security(prep, challenge)\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/azure/keyvault/custom/key_vault_authentication.py\", line 172, in _get_message_security\n scheme))\n File \"/home/dpetrino/.local/lib/python3.6/site-packages/azure/keyvault/custom/key_vault_authentication.py\", line 61, in _auth_callback_compat\n if len(inspect.getargspec(self._user_callback).args) == 3 \\\n File \"/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_jtt7aa9h/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_keyvaultsecret_info.py\", line 279, in auth_callback\nKeyError: 'client_id'\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
below is the error while running msi as the auth_source
The full traceback is: {
Traceback (most recent call last):
File "/home/dpetrino/.ansible/tmp/ansible-tmp-1643293749.9889543-18399-96986391803282/AnsiballZ_azure_rm_keyvaultsecret_info.py", line 100, in <module>
_ansiballz_main()
File "/home/dpetrino/.ansible/tmp/ansible-tmp-1643293749.9889543-18399-96986391803282/AnsiballZ_azure_rm_keyvaultsecret_info.py", line 92, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/home/dpetrino/.ansible/tmp/ansible-tmp-1643293749.9889543-18399-96986391803282/AnsiballZ_azure_rm_keyvaultsecret_info.py", line 41, in invoke_module
run_name='__main__', alter_sys=True)
File "/usr/lib64/python3.6/runpy.py", line 205, in run_module
return _run_module_code(code, init_globals, run_name, mod_spec)
File "/usr/lib64/python3.6/runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_bvhznhec/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_keyvaultsecret_info.py", line 430, in <module>
File "/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_bvhznhec/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_keyvaultsecret_info.py", line 426, in main
File "/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_bvhznhec/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_keyvaultsecret_info.py", line 239, in __init__
File "/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_bvhznhec/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/module_utils/azure_rm_common.py", line 464, in __init__
File "/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_bvhznhec/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/module_utils/azure_rm_common.py", line 1509, in __init__
KeyError: 'credential'
fatal: [localhost]: FAILED! => {
"changed": false,
"module_stderr": "Traceback (most recent call last):\n File \"/home/dpetrino/.ansible/tmp/ansible-tmp-1643293749.9889543-18399-96986391803282/AnsiballZ_azure_rm_keyvaultsecret_info.py\", line 100, in <module>\n _ansiballz_main()\n File \"/home/dpetrino/.ansible/tmp/ansible-tmp-1643293749.9889543-18399-96986391803282/AnsiballZ_azure_rm_keyvaultsecret_info.py\", line 92, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/home/dpetrino/.ansible/tmp/ansible-tmp-1643293749.9889543-18399-96986391803282/AnsiballZ_azure_rm_keyvaultsecret_info.py\", line 41, in invoke_module\n run_name='__main__', alter_sys=True)\n File \"/usr/lib64/python3.6/runpy.py\", line 205, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File \"/usr/lib64/python3.6/runpy.py\", line 96, in _run_module_code\n mod_name, mod_spec, pkg_name, script_name)\n File \"/usr/lib64/python3.6/runpy.py\", line 85, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_bvhznhec/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_keyvaultsecret_info.py\", line 430, in <module>\n File \"/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_bvhznhec/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_keyvaultsecret_info.py\", line 426, in main\n File \"/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_bvhznhec/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_keyvaultsecret_info.py\", line 239, in __init__\n File \"/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_bvhznhec/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/module_utils/azure_rm_common.py\", line 464, in __init__\n File \"/tmp/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload_bvhznhec/ansible_azure.azcollection.azure_rm_keyvaultsecret_info_payload.zip/ansible_collections/azure/azcollection/plugins/module_utils/azure_rm_common.py\", line 1509, in __init__\nKeyError: 'credential'\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}
If any additional information is needed please let me know
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
