ansible / awx

AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is one of the upstream projects for Red Hat Ansible Automation Platform.
Other
13.85k stars 3.4k forks source link

aruba_command fails from awx but not from ansible-playbook and just for some aruba switch devices #6995

Closed DidierTHEILLAC closed 4 years ago

DidierTHEILLAC commented 4 years ago
ISSUE TYPE
SUMMARY

The same playbook fails on some aruba switch models if launched from AWX but works perfectly if launched from the command line by ansible-playbook.

ENVIRONMENT
STEPS TO REPRODUCE

Launch the playbook below from AWX

=> This playbook always run well for Aruba model : JL262A, Software revision : WC.16.09.0001, if launched from ansible-playbook or from AWX

=> This playbook always run well for Aruba model : J9729A C, Software revision : WB.16.02.0012 if launched from ansible-playbook

=> This playbook always failed for Aruba model : J9729A C, Software revision : WB.16.02.0012 if launched from awx

EXPECTED RESULTS

Below the logs from the ansible-playbook command

TASK [run multiple commands and evaluate the output] ** task path: /home/DITH/use-case_sgtsf/aruba.yml:7 <10.152.34.222> using connection plugin network_cli (was local) <10.152.34.222> starting connection from persistent connection plugin <10.152.34.222> local domain socket does not exist, starting it <10.152.34.222> control socket path is /home/DITH/.ansible/pc/b6d623c819 <10.152.34.222> local domain socket listeners started successfully <10.152.34.222> loaded cliconf plugin aruba from path /usr/lib/python2.7/site-packages/ansible/plugins/cliconf/aruba.py for network_os aruba <10.152.34.222> <10.152.34.222> local domain socket path is /home/DITH/.ansible/pc/b6d623c819 <10.152.34.222> socket_path: /home/DITH/.ansible/pc/b6d623c819 <10.152.34.222> ESTABLISH LOCAL CONNECTION FOR USER: DITH <10.152.34.222> EXEC /bin/sh -c 'echo ~DITH && sleep 0' <10.152.34.222> EXEC /bin/sh -c '( umask 77 && mkdir -p "echo /home/DITH/.ansible/tmp"&& mkdir /home/DITH/.ansible/tmp/ansible-tmp-1589209591.81-4918-229245487885886 && echo ansible-tmp-1589209591.81-4918-229245487885886="echo /home/DITH/.ansible/tmp/ansible-tmp-1589209591.81-4918-229245487885886" ) && sleep 0' Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/network/aruba/init.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/network/common/utils.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/six/init.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/network/common/parsing.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/network/common/init.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/network/init.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/basic.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/network/aruba/aruba.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/init.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/_collections_compat.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/network.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/parsing/init.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/parsing/convert_bool.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/_text.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/text/formatters.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/validation.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/text/converters.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/pycompat24.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/text/init.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/process.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/_utils.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/parameters.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/_json_compat.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/sys_info.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/file.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/collections.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/distro/init.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/distro/_distro.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/connection.py Using module_utils file /usr/lib/python2.7/site-packages/ansible/module_utils/common/json.py Attempting python interpreter discovery <10.152.34.222> EXEC /bin/sh -c 'echo PLATFORM; uname; echo FOUND; command -v '"'"'/usr/bin/python'"'"'; command -v '"'"'python3.7'"'"'; command -v '"'"'python3.6'"'"'; command -v '"'"'python3.5'"'"'; command -v '"'"'python2.7'"'"'; command -v '"'"'python2.6'"'"'; command -v '"'"'/usr/libexec/platform-python'"'"'; command -v '"'"'/usr/bin/python3'"'"'; command -v '"'"'python'"'"'; echo ENDFOUND && sleep 0' <10.152.34.222> EXEC /bin/sh -c '/usr/bin/python && sleep 0' Using module file /usr/lib/python2.7/site-packages/ansible/modules/network/aruba/aruba_command.py <10.152.34.222> PUT /home/DITH/.ansible/tmp/ansible-local-49071eAUEg/tmpa2eciC TO /home/DITH/.ansible/tmp/ansible-tmp-1589209591.81-4918-229245487885886/AnsiballZ_aruba_command.py <10.152.34.222> EXEC /bin/sh -c 'chmod u+x /home/DITH/.ansible/tmp/ansible-tmp-1589209591.81-4918-229245487885886/ /home/DITH/.ansible/tmp/ansible-tmp-1589209591.81-4918-229245487885886/AnsiballZ_aruba_command.py && sleep 0' <10.152.34.222> EXEC /bin/sh -c '/usr/bin/python /home/DITH/.ansible/tmp/ansible-tmp-1589209591.81-4918-229245487885886/AnsiballZ_aruba_command.py && sleep 0' <10.152.34.222> EXEC /bin/sh -c 'rm -f -r /home/DITH/.ansible/tmp/ansible-tmp-1589209591.81-4918-229245487885886/ > /dev/null 2>&1 && sleep 0' ok: [FR3811-LT-CSW01] => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "invocation": { "module_args": { "commands": [ "show system",

ACTUAL RESULTS

TASK [run multiple commands and evaluate the output] *** task path: /tmp/awx_200_j406904x/project/aruba.yml:7 <10.152.34.222> using connection plugin network_cli (was local) <10.152.34.222> starting connection from persistent connection plugin <10.152.34.222> local domain socket does not exist, starting it <10.152.34.222> control socket path is /var/lib/awx/.ansible/pc/7213216e49 <10.152.34.222> local domain socket listeners started successfully <10.152.34.222> loaded cliconf plugin aruba from path /var/lib/awx/venv/ansible/lib/python3.6/site-packages/ansible/plugins/cliconf/aruba.py for network_os aruba <10.152.34.222> <10.152.34.222> local domain socket path is /var/lib/awx/.ansible/pc/7213216e49 <10.152.34.222> socket_path: /var/lib/awx/.ansible/pc/7213216e49 The full traceback is: Traceback (most recent call last): File "/var/lib/awx/venv/ansible/lib/python3.6/site-packages/ansible/executor/task_executor.py", line 146, in run res = self._execute() File "/var/lib/awx/venv/ansible/lib/python3.6/site-packages/ansible/executor/task_executor.py", line 645, in _execute result = self._handler.run(task_vars=variables) File "/var/lib/awx/venv/ansible/lib/python3.6/site-packages/ansible/plugins/action/aruba.py", line 77, in run out = conn.get_prompt() File "/var/lib/awx/venv/ansible/lib/python3.6/site-packages/ansible/module_utils/connection.py", line 185, in rpc raise ConnectionError(to_text(msg, errors='surrogate_then_replace'), code=code) ansible.module_utils.connection.ConnectionError: Failed to authenticate: Authentication timeout. fatal: [FR3811-LT-CSW01]: FAILED! => { "msg": "Unexpected failure during module execution.", "stdout": "" }

ADDITIONAL INFORMATION
ryanpetrello commented 4 years ago

Hey @DidierTHEILLAC,

This issue tracker is for tracking feature enhancements and bugs to AWX itself.

Given that you're seeing intermittent:

ansible.module_utils.connection.ConnectionError: Failed to authenticate: Authentication timeout.

I suspect there's something up w/ your setup, not AWX itself (since in the end, AWX is just forking an ansible-playbook process).

If you need help troubleshooting an AWX install, try our mailing list or IRC channel:

http://webchat.freenode.net/?channels=ansible-awx https://groups.google.com/forum/#!forum/awx-project

@qalthos @abenokraitis anything in particular stand out to you here?

abenokraitis commented 4 years ago

Yeah this should be posted to the ansible community not AWX, and the module used above is primarily used for Aruba wireless devices (not switches). You probably want to use the aruba switch collection: https://galaxy.ansible.com/arubanetworks/aoscx