ansible / ansible

Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com.
https://www.ansible.com/
GNU General Public License v3.0
62.65k stars 23.86k forks source link

Unable to decode JSON from response to exec_command #70275

Closed 11gingerbread closed 4 years ago

11gingerbread commented 4 years ago
SUMMARY

show version command is not successful for aruba_command module

ISSUE TYPE
ANSIBLE VERSION
ansible 2.9.10
  config file = /etc/ansible/cisco_updates/ansible.cfg
  configured module search path = [u'/root/.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, Apr  2 2020, 13:16:51) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
CONFIGURATION
ANSIBLE_FORCE_COLOR(/etc/ansible/cisco_updates/ansible.cfg) = True
COMMAND_WARNINGS(/etc/ansible/cisco_updates/ansible.cfg) = False
DEFAULT_FORKS(/etc/ansible/cisco_updates/ansible.cfg) = 100
DEFAULT_GATHER_SUBSET(/etc/ansible/cisco_updates/ansible.cfg) = [u'min']
DEFAULT_HOST_LIST(/etc/ansible/cisco_updates/ansible.cfg) = [u'/etc/ansible/cisco_updates/inventory/template/hosts']
DEFAULT_LOG_PATH(/etc/ansible/cisco_updates/ansible.cfg) = /etc/ansible/cisco_updates/ansible.log
DEFAULT_ROLES_PATH(/etc/ansible/cisco_updates/ansible.cfg) = [u'/etc/ansible/cisco_updates/roles']
DEFAULT_UNDEFINED_VAR_BEHAVIOR(/etc/ansible/cisco_updates/ansible.cfg) = True
DEPRECATION_WARNINGS(/etc/ansible/cisco_updates/ansible.cfg) = False
HOST_KEY_CHECKING(/etc/ansible/cisco_updates/ansible.cfg) = False
STRING_CONVERSION_ACTION(/etc/ansible/cisco_updates/ansible.cfg) = ignore
OS / ENVIRONMENT

CVS-DEMO-2530# show version

Image stamp: /ws/swbuildm/rel_zootopia_qaoff/code/build/lakes(swbuildm_rel_zootopia_qaoff_rel_zootopia) Jun 12 2019 23:44:02 YA.16.09.0001 186 Boot Image: Primary

Boot ROM Version: YA.15.20

STEPS TO REPRODUCE

ansible-playbook -i ./inventory/template/PROD_ENV_aruba-sw_TEST_LOGIN ./playbooks/TEST_ENV_aruba-rtr_BackupRunningConfig.yml -vvvvv

---
- name: ARUBA SWITCHES BACKUP RUNNING CONFIG
  hosts: POC
  connection: network_cli
  gather_facts: False

  tasks:

  - name: run show version on remote devices
    aruba_command:
      commands: show version
    register: all_facts
  - debug: msg="{{ all_facts.stdout_lines }}"
EXPECTED RESULTS

Image stamp: /ws/swbuildm/rel_zootopia_qaoff/code/build/lakes(swbuildm_rel_zootopia_qaoff_rel_zootopia) Jun 12 2019 23:44:02 YA.16.09.0001 186 Boot Image: Primary

Boot ROM Version: YA.15.20

ACTUAL RESULTS

aruba_version module is unable to run command "show version" on Switch with hostname "DEMO_ARUBA_SWITCH_RI"

ansible-playbook 2.9.10
  config file = /etc/ansible/cisco_updates/ansible.cfg
  configured module search path = [u'/root/.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-playbook
  python version = 2.7.5 (default, Apr  2 2020, 13:16:51) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
Using /etc/ansible/cisco_updates/ansible.cfg as config file
setting up inventory plugins
host_list declined parsing /etc/ansible/cisco_updates/inventory/template/PROD_ENV_aruba-sw_TEST_LOGIN as it did not pass its verify_file() method
script declined parsing /etc/ansible/cisco_updates/inventory/template/PROD_ENV_aruba-sw_TEST_LOGIN as it did not pass its verify_file() method
auto declined parsing /etc/ansible/cisco_updates/inventory/template/PROD_ENV_aruba-sw_TEST_LOGIN as it did not pass its verify_file() method
Parsed /etc/ansible/cisco_updates/inventory/template/PROD_ENV_aruba-sw_TEST_LOGIN inventory source with ini plugin
Loading callback plugin default of type stdout, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/default.pyc

PLAYBOOK: TEST_ENV_aruba-rtr_BackupRunningConfig.yml ********************************************************************************************************
Positional arguments: ./playbooks/TEST_ENV_aruba-rtr_BackupRunningConfig.yml
become_method: sudo
inventory: (u'/etc/ansible/cisco_updates/inventory/template/PROD_ENV_aruba-sw_TEST_LOGIN',)
forks: 100
tags: (u'all',)
verbosity: 5
connection: smart
timeout: 10
1 plays in ./playbooks/TEST_ENV_aruba-rtr_BackupRunningConfig.yml

PLAY [ARUBA SWITCHES BACKUP RUNNING CONFIG] *****************************************************************************************************************
META: ran handlers

TASK [run show version on remote devices] *******************************************************************************************************************
task path: /etc/ansible/cisco_updates/playbooks/TEST_ENV_aruba-rtr_BackupRunningConfig.yml:20
<DEMO_ARUBA_SWITCH_RI> using connection plugin network_cli (was local)
<DEMO_ARUBA_SWITCH_RI> starting connection from persistent connection plugin
<DEMO_ARUBA_SWITCH_RI> local domain socket does not exist, starting it
<DEMO_ARUBA_SWITCH_RI> control socket path is /root/.ansible/pc/c2957408cb
<DEMO_ARUBA_SWITCH_RI> local domain socket listeners started successfully
<DEMO_ARUBA_SWITCH_RI> loaded cliconf plugin aruba from path /usr/lib/python2.7/site-packages/ansible/plugins/cliconf/aruba.py for network_os aruba
<DEMO_ARUBA_SWITCH_RI>
<DEMO_ARUBA_SWITCH_RI> local domain socket path is /root/.ansible/pc/c2957408cb
<DEMO_ARUBA_SWITCH_RI> socket_path: /root/.ansible/pc/c2957408cb
<DEMO_ARUBA_SWITCH_RI> ESTABLISH LOCAL CONNECTION FOR USER: root
<DEMO_ARUBA_SWITCH_RI> EXEC /bin/sh -c 'echo ~root && sleep 0'
<DEMO_ARUBA_SWITCH_RI> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir /root/.ansible/tmp/ansible-tmp-1593032791.91-1484-250151934949839 && echo ansible-tmp-1593032791.91-1484-250151934949839="` echo /root/.ansible/tmp/ansible-tmp-1593032791.91-1484-250151934949839 `" ) && 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/compat/selectors.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/compat/__init__.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/compat/_selectors2.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
<DEMO_ARUBA_SWITCH_RI> Attempting python interpreter discovery
<DEMO_ARUBA_SWITCH_RI> 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'
<DEMO_ARUBA_SWITCH_RI> 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
<DEMO_ARUBA_SWITCH_RI> PUT /root/.ansible/tmp/ansible-local-1475wrk2YP/tmpxzI09D TO /root/.ansible/tmp/ansible-tmp-1593032791.91-1484-250151934949839/AnsiballZ_aruba_command.py
<DEMO_ARUBA_SWITCH_RI> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1593032791.91-1484-250151934949839/ /root/.ansible/tmp/ansible-tmp-1593032791.91-1484-250151934949839/AnsiballZ_aruba_command.py && sleep 0'
<DEMO_ARUBA_SWITCH_RI> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1593032791.91-1484-250151934949839/AnsiballZ_aruba_command.py && sleep 0'
<DEMO_ARUBA_SWITCH_RI> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1593032791.91-1484-250151934949839/ > /dev/null 2>&1 && sleep 0'
fatal: [DEMO_ARUBA_SWITCH_RI]: FAILED! => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "invocation": {
        "module_args": {
            "commands": [
                "show version"
            ],
            "host": null,
            "interval": 1,
            "match": "all",
            "password": null,
            "port": null,
            "provider": {
                "host": null,
                "password": null,
                "port": null,
                "ssh_keyfile": null,
                "timeout": null,
                "username": null
            },
            "retries": 10,
            "ssh_keyfile": null,
            "timeout": null,
            "username": null,
            "wait_for": null
        }
    },
    "msg": "Unable to decode JSON from response to exec_command({\"answer\": null, \"command\": \"show version\", \"prompt\": null}). Received 'None'.",
    "rc": 1
ansibot commented 4 years ago

Files identified in the description:

If these files are incorrect, please update the component name section of the description or use the !component bot command.

click here for bot help

ansibot commented 4 years ago

@11gingerbread, just so you are aware we have a dedicated Working Group for network. You can find other people interested in this in #ansible-network on Freenode IRC For more information about communities, meetings and agendas see https://github.com/ansible/community

click here for bot help

sivel commented 4 years ago

Thank you very much for your interest in Ansible. This plugin is no longer maintained in this repository and has been migrated to https://github.com/ansible-collections/community.network

Please re-submit this issue in the above repository.

If you have further questions please stop by IRC or the mailing list: