Developer

 View Only
last person joined: 3 hours ago 

Expand all | Collapse all

ANSIBLE: arubaoss_command module not returning any outputs

This thread has been viewed 20 times
  • 1.  ANSIBLE: arubaoss_command module not returning any outputs

    Posted Aug 24, 2023 11:18 AM

    Target Switch: Aruba AOS

    FW version:  YA.16.11.0013 (was previously 16.10.0015 with the same problem)
    AWX version: 21.13.0
    module version: 1.6.0
    Relevant runnin-config:

     
    ; J9773A Configuration Editor; Created on release #YA.16.11.0013
    ; Ver #14:41.44.00.04.19.02.13.98.82.34.61.18.28.f3.84.9c.63.ff.37.27:05
    hostname "ARUBA_SW.LOJA_LAB_FISICO"
    logging XXXXXXXXX
    logging XXXXXXXXX
    radius-server host 10.56.22.112 key XXXXXXXXX
    radius-server key XXXXXXXXXXXXXX
    radius-server timeout 3
    radius-server retransmit 2
    timesync ntp
    ntp unicast
    ntp server 10.56.22.74
    ntp server 124.144.124.14
    ntp enable
    no telnet-server
    time daylight-time-rule southern-hemisphere
    time timezone -180
    no web-management
    web-management ssl
    web-management idle-timeout 300
    ip default-gateway 10.61.17.193
    ip dns server-address priority 1 10.60.17.1
    ip route 0.0.0.0 0.0.0.0 10.61.17.193
    snmp-server community XXXXXXXXXXXXX
    snmp-server community XXXXXXXXXX
    snmp-server response-source dst-ip-of-request
    snmp-server location "RACK-4"
    snmpv3 enable
    snmpv3 only
    snmpv3 restricted-access
    snmpv3 group XXXXXXXX user "XXXXXXXXX" sec-model ver3
    snmpv3 user "XXXXXXXXXXX"
    aaa authentication login privilege-mode
    aaa authentication ssh login peap-mschapv2 local
    aaa authentication ssh enable peap-mschapv2 local
    aaa authentication rest login radius local
    aaa authentication rest enable radius local
    no tftp server
    loop-protect 7-15
    loop-protect 7-15 receiver-action send-recv-dis
    loop-protect disable-timer 300
    no dhcp config-file-update
    no dhcp image-file-update
    no dhcp tr69-acs-url
    password manager
    password operator

    group vars

    ---
    ansible_network_os: arubanetworks.aos_switch.arubaoss
    ANSIBLE_NETWORK_GROUP_MODULES: arubaoss
    ansible_connection: network_cli
    ansible_host_key_checking: False
    ansible_ssh_host_key_checking: False
    host_key_checking: False
    ssh_host_key_checking: False
    paramiko_host_key_checking: False
    ansible_ssh_common_args: '-o userknownhostsfile=/dev/null'

    host vars:

    ---
    ansible_host: 10.56.94.45
    sys_os: arubaos_sw
    ansible_command_timeout: 60

    Playbook task:

    - name: GET SHOW INT BRIEF OUTPUT TO PREVENT FALSE-POSITIVE
      arubanetworks.aos_switch.arubaoss_command:
        commands:
          - "show interface brief"
      register: int_brief_output_prevent
     
    - name: PRINT OUTPUT
      debug:
        msg: "{{int_brief_output_prevent}}"
    The playbook runs fine but doesnt return any values on int_brief_output_prevent . The Playbook finishes without errors.
    The same playbook runs and gets the command output when used in other target hosts. Including hosts with the same FW version.
    I ran the playbook using only this switch + another one (HP J9772A 2530-48G-PoEP Switch, same fw version) to ease the tshoot. Here is the log:
    The problematic switch is the ARUBA_SW.LOJA_LAB_FISICO "10.61.17.220".
    Notice that in "stdout_lines" there's no output return, while in the other switch, there is.
    ansible-playbook 2.9.27
      config file = None
      configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
      ansible python module location = /usr/local/lib/python3.9/site-packages/ansible
      executable location = /usr/local/bin/ansible-playbook
      python version = 3.9.16 (main, May 31 2023, 12:21:58) [GCC 8.5.0 20210514 (Red Hat 8.5.0-18)]
    No config file found; using defaults
    SSH password: 
    setting up inventory plugins
    host_list declined parsing /runner/inventory/hosts as it did not pass its verify_file() method
    Not replacing invalid character(s) "{'-'}" in group name (Access-Switches)
    [WARNING]: Invalid characters were found in group names but not replaced, use
    -vvvv to see details
    Parsed /runner/inventory/hosts inventory source with script plugin
    [WARNING]: Could not match supplied host pattern, ignoring: arubaos_sw
    statically imported: /runner/project/arubaos/tasks_arubaos.yml
    Loading callback plugin default of type stdout, v2.0 from /usr/local/lib/python3.9/site-packages/ansible/plugins/callback/default.py
    Loading callback plugin awx_display of type stdout, v2.0 from /usr/local/lib/python3.9/site-packages/ansible_runner/display_callback/callback/awx_display.py
    Skipping callback 'actionable', as we already have a stdout callback.
    Skipping callback 'awx_display', as we already have a stdout callback.
    Skipping callback 'counter_enabled', as we already have a stdout callback.
    Skipping callback 'debug', as we already have a stdout callback.
    Skipping callback 'dense', as we already have a stdout callback.
    Skipping callback 'dense', as we already have a stdout callback.
    Skipping callback 'full_skip', as we already have a stdout callback.
    Skipping callback 'json', as we already have a stdout callback.
    Skipping callback 'minimal', as we already have a stdout callback.
    Skipping callback 'null', as we already have a stdout callback.
    Skipping callback 'oneline', as we already have a stdout callback.
    Skipping callback 'selective', as we already have a stdout callback.
    Skipping callback 'skippy', as we already have a stdout callback.
    Skipping callback 'stderr', as we already have a stdout callback.
    Skipping callback 'unixy', as we already have a stdout callback.
    Skipping callback 'yaml', as we already have a stdout callback.
     
    PLAYBOOK: playbook.yml *********************************************************
    Positional arguments: playbook.yml
    verbosity: 4
    ask_pass: True
    remote_user: serv_network
    connection: smart
    timeout: 10
    become_method: sudo
    tags: ('all',)
    inventory: ('/runner/inventory/hosts',)
    extra_vars: ('@/runner/env/extravars',)
    forks: 5
    2 plays in playbook.yml
     
    PLAY [ORGANIZING NETWORK DEVICES BY SYS_OS VARIABLE] ***************************
    META: ran handlers
     
    TASK [CLASSIFY NETWORK DEVICES BY SYS_OS VARIABLE] *****************************
    task path: /runner/project/playbook.yml:5
    <10.60.17.244> attempting to start connection
    <10.60.17.244> using connection plugin network_cli
    <10.61.17.220> attempting to start connection
    <10.61.17.220> using connection plugin network_cli
    <10.61.17.220> local domain socket does not exist, starting it
    <10.61.17.220> control socket path is /root/.ansible/pc/2e0ea18e49
    <10.61.17.220> local domain socket listeners started successfully
    <10.61.17.220> loaded cliconf plugin ansible_collections.arubanetworks.aos_switch.plugins.cliconf.arubaoss from path /runner/requirements_collections/ansible_collections/arubanetworks/aos_switch/plugins/cliconf/arubaoss.py for network_os arubanetworks.aos_switch.arubaoss
    <10.61.17.220> 
    <10.61.17.220> local domain socket path is /root/.ansible/pc/2e0ea18e49
    <10.60.17.244> local domain socket does not exist, starting it
    <10.60.17.244> control socket path is /root/.ansible/pc/778d4cb671
    <10.60.17.244> local domain socket listeners started successfully
    <10.60.17.244> loaded cliconf plugin ansible_collections.arubanetworks.aos_switch.plugins.cliconf.arubaoss from path /runner/requirements_collections/ansible_collections/arubanetworks/aos_switch/plugins/cliconf/arubaoss.py for network_os arubanetworks.aos_switch.arubaoss
    <10.60.17.244> 
    <10.60.17.244> local domain socket path is /root/.ansible/pc/778d4cb671
    changed: [SW-MAG008-ASW-02-R1_CPD] => {
        "add_group": "arubaos_sw",
        "changed": true,
        "parent_groups": [
            "all"
        ]
    }
    changed: [ARUBA_SW.LOJA_LAB_FISICO] => {
        "add_group": "arubaos_sw",
        "changed": true,
        "parent_groups": [
            "all"
        ]
    }
    META: ran handlers
    META: ran handlers
     
    PLAY [arubaos_sw] **************************************************************
    META: ran handlers
     
    TASK [GET SHOW INT BRIEF OUTPUT TO PREVENT FALSE-POSITIVE] *********************
    task path: /runner/project/arubaos/tasks_arubaos.yml:1
    <10.60.17.244> attempting to start connection
    <10.60.17.244> using connection plugin network_cli
    <10.61.17.220> attempting to start connection
    <10.61.17.220> using connection plugin network_cli
    <10.60.17.244> found existing local domain socket, using it!
    <10.60.17.244> updating play_context for connection
    <10.60.17.244> 
    <10.60.17.244> local domain socket path is /root/.ansible/pc/778d4cb671
    <10.60.17.244> ESTABLISH LOCAL CONNECTION FOR USER: root
    <10.60.17.244> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-local-38z7dc4jbi `"&& mkdir "` echo /root/.ansible/tmp/ansible-local-38z7dc4jbi/ansible-tmp-1692885897.3033051-80-179184036286856 `" && echo ansible-tmp-1692885897.3033051-80-179184036286856="` echo /root/.ansible/tmp/ansible-local-38z7dc4jbi/ansible-tmp-1692885897.3033051-80-179184036286856 `" ) && sleep 0'
    <10.61.17.220> found existing local domain socket, using it!
    <10.61.17.220> updating play_context for connection
    <10.61.17.220> 
    <10.61.17.220> local domain socket path is /root/.ansible/pc/2e0ea18e49
    <10.61.17.220> ESTABLISH LOCAL CONNECTION FOR USER: root
    <10.61.17.220> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-local-38z7dc4jbi `"&& mkdir "` echo /root/.ansible/tmp/ansible-local-38z7dc4jbi/ansible-tmp-1692885897.3320997-81-56915287853620 `" && echo ansible-tmp-1692885897.3320997-81-56915287853620="` echo /root/.ansible/tmp/ansible-local-38z7dc4jbi/ansible-tmp-1692885897.3320997-81-56915287853620 `" ) && sleep 0'
    <SW-MAG008-ASW-02-R1_CPD> Attempting python interpreter discovery
    <10.60.17.244> 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'
    <ARUBA_SW.LOJA_LAB_FISICO> Attempting python interpreter discovery
    <10.61.17.220> 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.60.17.244> EXEC /bin/sh -c '/usr/bin/python && sleep 0'
    <10.61.17.220> EXEC /bin/sh -c '/usr/bin/python && sleep 0'
    Using module file /runner/requirements_collections/ansible_collections/arubanetworks/aos_switch/plugins/modules/arubaoss_command.py
    Using module file /runner/requirements_collections/ansible_collections/arubanetworks/aos_switch/plugins/modules/arubaoss_command.py
    <10.60.17.244> PUT /root/.ansible/tmp/ansible-local-38z7dc4jbi/tmpguxkkpop TO /root/.ansible/tmp/ansible-local-38z7dc4jbi/ansible-tmp-1692885897.3033051-80-179184036286856/AnsiballZ_arubaoss_command.py
    <10.61.17.220> PUT /root/.ansible/tmp/ansible-local-38z7dc4jbi/tmpuh0i1bfu TO /root/.ansible/tmp/ansible-local-38z7dc4jbi/ansible-tmp-1692885897.3320997-81-56915287853620/AnsiballZ_arubaoss_command.py
    <10.60.17.244> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-local-38z7dc4jbi/ansible-tmp-1692885897.3033051-80-179184036286856/ /root/.ansible/tmp/ansible-local-38z7dc4jbi/ansible-tmp-1692885897.3033051-80-179184036286856/AnsiballZ_arubaoss_command.py && sleep 0'
    <10.61.17.220> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-local-38z7dc4jbi/ansible-tmp-1692885897.3320997-81-56915287853620/ /root/.ansible/tmp/ansible-local-38z7dc4jbi/ansible-tmp-1692885897.3320997-81-56915287853620/AnsiballZ_arubaoss_command.py && sleep 0'
    <10.61.17.220> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-local-38z7dc4jbi/ansible-tmp-1692885897.3320997-81-56915287853620/AnsiballZ_arubaoss_command.py && sleep 0'
    <10.60.17.244> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-local-38z7dc4jbi/ansible-tmp-1692885897.3033051-80-179184036286856/AnsiballZ_arubaoss_command.py && sleep 0'
    <10.60.17.244> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-local-38z7dc4jbi/ansible-tmp-1692885897.3033051-80-179184036286856/ > /dev/null 2>&1 && sleep 0'
    [DEPRECATION WARNING]: Distribution rhel 8.7 on host SW-MAG008-ASW-02-R1_CPD 
    should use /usr/libexec/platform-python, but is using /usr/bin/python for 
    backward compatibility with prior Ansible releases. A future Ansible release 
    will default to using the discovered platform python for this host. See https:/
    /docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html 
    for more information. This feature will be removed in version 2.12. Deprecation
     warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
    ok: [SW-MAG008-ASW-02-R1_CPD] => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/bin/python"
        },
        "changed": false,
        "invocation": {
            "module_args": {
                "api_version": "None",
                "commands": [
                    "show interface brief"
                ],
                "host": null,
                "interval": 1,
                "match": "all",
                "output_file": null,
                "password": null,
                "port": null,
                "provider": null,
                "retries": 10,
                "ssh_keyfile": null,
                "timeout": null,
                "use_ssl": null,
                "username": null,
                "validate_certs": false,
                "wait_for": null
            }
        },
        "stdout": [
            "Status and Counters - Port Status\\n\\n                   | Intrusion                           MDI  Flow\\n  Port  Type       | Alert     Enabled Status Mode       Mode Ctrl\\n  ----- ---------- + --------- ------- ------ ---------- ---- ----\\n  1     100/1000T  | No        Yes     Up     100FDx     MDIX off \\n  2     100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  3     100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  4     100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  5     100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  6     100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  7     100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  8     100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  9     100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  10    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  11    100/1000T  | No        Yes     Up     1000FDx    MDI  off \\n  12    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  13    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  14    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  15    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  16    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  17    100/1000T  | No        Yes     Up     1000FDx    MDIX off \\n  18    100/1000T  | No        Yes     Up     1000FDx    MDI  off \\n  19    100/1000T  | No        Yes     Up     1000FDx    MDI  off \\n  20    100/1000T  | No        Yes     Up     1000FDx    MDIX off \\n  21    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  22    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  23    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  24    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  25    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  26    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  27    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  28    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  29    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  30    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  31    100/1000T  | No        Yes     Up     10HDx      MDIX off \\n  32    100/1000T  | No        Yes     Up     10HDx      MDIX off \\n  33    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  34    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  35    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  36    100/1000T  | No        Yes     Up     100FDx     MDIX off \\n  37    100/1000T  | No        Yes     Up     100FDx     MDIX off \\n  38    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  39    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  40    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  41    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  42    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  43    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  44    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  45    100/1000T  | No        Yes     Up     10HDx      MDIX off \\n  46    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  47    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  48    100/1000T  | No        Yes     Up     1000FDx    MDIX off \\n  49    1000LX     | No        Yes     Up     1000FDx    NA   off \\n  50               | No        Yes     Down   .               off \\n  51               | No        Yes     Down   .               off \\n  52               | No        Yes     Down   .               off"
        ],
        "stdout_lines": [
            [
                "Status and Counters - Port Status",
                "",
                "                   | Intrusion                           MDI  Flow",
                "  Port  Type       | Alert     Enabled Status Mode       Mode Ctrl",
                "  ----- ---------- + --------- ------- ------ ---------- ---- ----",
                "  1     100/1000T  | No        Yes     Up     100FDx     MDIX off ",
                "  2     100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  3     100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  4     100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                "  5     100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                "  6     100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                "  7     100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  8     100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                "  9     100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  10    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  11    100/1000T  | No        Yes     Up     1000FDx    MDI  off ",
                "  12    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                "  13    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                "  14    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  15    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  16    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                "  17    100/1000T  | No        Yes     Up     1000FDx    MDIX off ",
                "  18    100/1000T  | No        Yes     Up     1000FDx    MDI  off ",
                "  19    100/1000T  | No        Yes     Up     1000FDx    MDI  off ",
                "  20    100/1000T  | No        Yes     Up     1000FDx    MDIX off ",
                "  21    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  22    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  23    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                "  24    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  25    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                "  26    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                "  27    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  28    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  29    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                "  30    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  31    100/1000T  | No        Yes     Up     10HDx      MDIX off ",
                "  32    100/1000T  | No        Yes     Up     10HDx      MDIX off ",
                "  33    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  34    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  35    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  36    100/1000T  | No        Yes     Up     100FDx     MDIX off ",
                "  37    100/1000T  | No        Yes     Up     100FDx     MDIX off ",
                "  38    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  39    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                "  40    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  41    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  42    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                "  43    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  44    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  45    100/1000T  | No        Yes     Up     10HDx      MDIX off ",
                "  46    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  47    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                "  48    100/1000T  | No        Yes     Up     1000FDx    MDIX off ",
                "  49    1000LX     | No        Yes     Up     1000FDx    NA   off ",
                "  50               | No        Yes     Down   .               off ",
                "  51               | No        Yes     Down   .               off ",
                "  52               | No        Yes     Down   .               off"
            ]
        ]
    }
    <10.61.17.220> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-local-38z7dc4jbi/ansible-tmp-1692885897.3320997-81-56915287853620/ > /dev/null 2>&1 && sleep 0'
    [DEPRECATION WARNING]: Distribution rhel 8.7 on host ARUBA_SW.LOJA_LAB_FISICO 
    should use /usr/libexec/platform-python, but is using /usr/bin/python for 
    backward compatibility with prior Ansible releases. A future Ansible release 
    will default to using the discovered platform python for this host. See https:/
    /docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html 
    for more information. This feature will be removed in version 2.12. Deprecation
     warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
    ok: [ARUBA_SW.LOJA_LAB_FISICO] => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/bin/python"
        },
        "changed": false,
        "invocation": {
            "module_args": {
                "api_version": "None",
                "commands": [
                    "show interface brief"
                ],
                "host": null,
                "interval": 1,
                "match": "all",
                "output_file": null,
                "password": null,
                "port": null,
                "provider": null,
                "retries": 10,
                "ssh_keyfile": null,
                "timeout": null,
                "use_ssl": null,
                "username": null,
                "validate_certs": false,
                "wait_for": null
            }
        },
        "stdout": [
            ""
        ],
        "stdout_lines": [
            [
                ""
            ]
        ]
    }
     
    TASK [PRINT OUTPUT] ************************************************************
    task path: /runner/project/arubaos/tasks_arubaos.yml:7
    <10.60.17.244> attempting to start connection
    <10.60.17.244> using connection plugin network_cli
    <10.61.17.220> attempting to start connection
    <10.61.17.220> using connection plugin network_cli
    <10.60.17.244> found existing local domain socket, using it!
    <10.60.17.244> ssh connection done, setting terminal
    <10.60.17.244> loaded terminal plugin for network_os arubanetworks.aos_switch.arubaoss
    <10.60.17.244> Response received, triggered 'persistent_buffer_read_timeout' timer of 0.1 seconds
    <10.60.17.244> firing event: on_open_shell()
    <10.60.17.244> Response received, triggered 'persistent_buffer_read_timeout' timer of 0.1 seconds
    <10.60.17.244> ssh connection has completed successfully
    <10.60.17.244> Response received, triggered 'persistent_buffer_read_timeout' timer of 0.1 seconds
    <10.60.17.244> updating play_context for connection
    <10.60.17.244> 
    <10.60.17.244> local domain socket path is /root/.ansible/pc/778d4cb671
    ok: [SW-MAG008-ASW-02-R1_CPD] => {
        "msg": {
            "ansible_facts": {
                "discovered_interpreter_python": "/usr/bin/python"
            },
            "changed": false,
            "deprecations": [
                {
                    "msg": "Distribution rhel 8.7 on host SW-MAG008-ASW-02-R1_CPD should use /usr/libexec/platform-python, but is using /usr/bin/python for backward compatibility with prior Ansible releases. A future Ansible release will default to using the discovered platform python for this host. See https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information",
                    "version": "2.12"
                }
            ],
            "failed": false,
            "stdout": [
                "Status and Counters - Port Status\\n\\n                   | Intrusion                           MDI  Flow\\n  Port  Type       | Alert     Enabled Status Mode       Mode Ctrl\\n  ----- ---------- + --------- ------- ------ ---------- ---- ----\\n  1     100/1000T  | No        Yes     Up     100FDx     MDIX off \\n  2     100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  3     100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  4     100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  5     100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  6     100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  7     100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  8     100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  9     100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  10    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  11    100/1000T  | No        Yes     Up     1000FDx    MDI  off \\n  12    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  13    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  14    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  15    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  16    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  17    100/1000T  | No        Yes     Up     1000FDx    MDIX off \\n  18    100/1000T  | No        Yes     Up     1000FDx    MDI  off \\n  19    100/1000T  | No        Yes     Up     1000FDx    MDI  off \\n  20    100/1000T  | No        Yes     Up     1000FDx    MDIX off \\n  21    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  22    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  23    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  24    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  25    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  26    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  27    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  28    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  29    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  30    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  31    100/1000T  | No        Yes     Up     10HDx      MDIX off \\n  32    100/1000T  | No        Yes     Up     10HDx      MDIX off \\n  33    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  34    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  35    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  36    100/1000T  | No        Yes     Up     100FDx     MDIX off \\n  37    100/1000T  | No        Yes     Up     100FDx     MDIX off \\n  38    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  39    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  40    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  41    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  42    100/1000T  | No        Yes     Down   1000FDx    MDIX off \\n  43    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  44    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  45    100/1000T  | No        Yes     Up     10HDx      MDIX off \\n  46    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  47    100/1000T  | No        Yes     Down   1000FDx    MDI  off \\n  48    100/1000T  | No        Yes     Up     1000FDx    MDIX off \\n  49    1000LX     | No        Yes     Up     1000FDx    NA   off \\n  50               | No        Yes     Down   .               off \\n  51               | No        Yes     Down   .               off \\n  52               | No        Yes     Down   .               off"
            ],
            "stdout_lines": [
                [
                    "Status and Counters - Port Status",
                    "",
                    "                   | Intrusion                           MDI  Flow",
                    "  Port  Type       | Alert     Enabled Status Mode       Mode Ctrl",
                    "  ----- ---------- + --------- ------- ------ ---------- ---- ----",
                    "  1     100/1000T  | No        Yes     Up     100FDx     MDIX off ",
                    "  2     100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  3     100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  4     100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                    "  5     100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                    "  6     100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                    "  7     100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  8     100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                    "  9     100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  10    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  11    100/1000T  | No        Yes     Up     1000FDx    MDI  off ",
                    "  12    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                    "  13    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                    "  14    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  15    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  16    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                    "  17    100/1000T  | No        Yes     Up     1000FDx    MDIX off ",
                    "  18    100/1000T  | No        Yes     Up     1000FDx    MDI  off ",
                    "  19    100/1000T  | No        Yes     Up     1000FDx    MDI  off ",
                    "  20    100/1000T  | No        Yes     Up     1000FDx    MDIX off ",
                    "  21    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  22    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  23    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                    "  24    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  25    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                    "  26    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                    "  27    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  28    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  29    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                    "  30    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  31    100/1000T  | No        Yes     Up     10HDx      MDIX off ",
                    "  32    100/1000T  | No        Yes     Up     10HDx      MDIX off ",
                    "  33    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  34    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  35    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  36    100/1000T  | No        Yes     Up     100FDx     MDIX off ",
                    "  37    100/1000T  | No        Yes     Up     100FDx     MDIX off ",
                    "  38    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  39    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                    "  40    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  41    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  42    100/1000T  | No        Yes     Down   1000FDx    MDIX off ",
                    "  43    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  44    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  45    100/1000T  | No        Yes     Up     10HDx      MDIX off ",
                    "  46    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  47    100/1000T  | No        Yes     Down   1000FDx    MDI  off ",
                    "  48    100/1000T  | No        Yes     Up     1000FDx    MDIX off ",
                    "  49    1000LX     | No        Yes     Up     1000FDx    NA   off ",
                    "  50               | No        Yes     Down   .               off ",
                    "  51               | No        Yes     Down   .               off ",
                    "  52               | No        Yes     Down   .               off"
                ]
            ]
        }
    }
    <10.61.17.220> found existing local domain socket, using it!
    <10.61.17.220> ssh connection done, setting terminal
    <10.61.17.220> loaded terminal plugin for network_os arubanetworks.aos_switch.arubaoss
    <10.61.17.220> Response received, triggered 'persistent_buffer_read_timeout' timer of 0.1 seconds
    <10.61.17.220> firing event: on_open_shell()
    <10.61.17.220> Response received, triggered 'persistent_buffer_read_timeout' timer of 0.1 seconds
    <10.61.17.220> ssh connection has completed successfully
    <10.61.17.220> Response received, triggered 'persistent_buffer_read_timeout' timer of 0.1 seconds
    <10.61.17.220> updating play_context for connection
    <10.61.17.220> 
    <10.61.17.220> local domain socket path is /root/.ansible/pc/2e0ea18e49
    ok: [ARUBA_SW.LOJA_LAB_FISICO] => {
        "msg": {
            "ansible_facts": {
                "discovered_interpreter_python": "/usr/bin/python"
            },
            "changed": false,
            "deprecations": [
                {
                    "msg": "Distribution rhel 8.7 on host ARUBA_SW.LOJA_LAB_FISICO should use /usr/libexec/platform-python, but is using /usr/bin/python for backward compatibility with prior Ansible releases. A future Ansible release will default to using the discovered platform python for this host. See https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information",
                    "version": "2.12"
                }
            ],
            "failed": false,
            "stdout": [
                ""
            ],
            "stdout_lines": [
                [
                    ""
                ]
            ]
        }
    }
    META: ran handlers
    META: ran handlers
     
    PLAY RECAP *********************************************************************
    ARUBA_SW.LOJA_LAB_FISICO   : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
    SW-MAG008-ASW-02-R1_CPD    : ok=3    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   



  • 2.  RE: ANSIBLE: arubaoss_command module not returning any outputs

    Posted Aug 29, 2023 04:56 PM

    Are there any differences in the users or environment the two switches are in?



    ------------------------------
    Ti Chiapuzio-Wong (they/them)
    HPE Aruba Networking
    ------------------------------



  • 3.  RE: ANSIBLE: arubaoss_command module not returning any outputs

    Posted Aug 29, 2023 04:57 PM

    I figured that this issue was being caused by the delay in the ssh connection to the switch. After using the "wait_for" argument, I solved the issue.

    How do I close this post?




  • 4.  RE: ANSIBLE: arubaoss_command module not returning any outputs

    Posted Aug 29, 2023 05:04 PM

    If you could provide a sample of what you added to the playbook to make it work we can mark it as the solution in case any one else comes across this issue in the future!



    ------------------------------
    Ti Chiapuzio-Wong (they/them)
    HPE Aruba Networking
    ------------------------------



  • 5.  RE: ANSIBLE: arubaoss_command module not returning any outputs

    Posted Aug 30, 2023 06:39 AM

    Of course, Tiffany!

    Here is how the code looked before:

    - name: GET SHOW INT BRIEF OUTPUT TO PREVENT FALSE-POSITIVE
      arubanetworks.aos_switch.arubaoss_command:
        commands:
          - "show interface brief"
      register: int_brief_output_prevent

    And here is the code that fixed the issue:

    • name: GET SHOW INT BRIEF OUTPUT TO PREVENT FALSE-POSITIVE
        arubanetworks.aos_switch.arubaoss_command:
          commands:
            - "show interface brief"
          wait_for: result[0] contains Status
        register: int_brief_output_prevent

    On this way, the playbook will only proceed to the next task when the command output is effectively sent from the device to the ansible host.

    Regards.