Ansible SSH connection to SAN

msmith
Thu, 02 Oct 2025 12:13:10 +0000
Get Help

Hi

I am trying to use Ansible to gather audit info from a SAN which has no specific Ansible module (Dell PowerVault ME4024). I am attempting to use a Cisco IOS network_cli connection as the SAN provides a CLI via SSH with a ‘#’ prompt like Cisco enable mode. I have used the same technique with fs.com switches, but on the SAN it is always giving me a command timeout error. I have also tried an ansible.builtin.raw connection but it attempts to use /bin/sh to run the ‘show versions’ command. Is there another method I could use?

Here’s the task in the play -

- name: Gather Audit Info
    ansible.netcommon.cli_command:
    command: |
      show versions
  register: show
  vars:
    ansible_command_timeout: 30

Here’s the error (with -vvvv) -

The full traceback is:
  File "/usr/lib/python3/dist-packages/ansible_collections/ansible/netcommon/plugins/modules/cli_command.py", line 171, in main
    response = connection.get(**module.params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/ansible/module_utils/connection.py", line 200, in __rpc__
    raise ConnectionError(to_text(msg, errors='surrogate_then_replace'), code=code)
fatal: [xxx]: FAILED! => changed=false
  invocation:
    module_args:
      answer: null
      check_all: false
      command: |-
        show versions
      newline: true
      prompt: null
      sendonly: false
  msg: |-
    command timeout triggered, timeout value is 30 secs.
    See the timeout setting options in the Network Debug and Troubleshooting Guide.

Ansible 2.16 on Ubuntu 24.04.3 -

xxx@xxx:~/ansible$ ansible --version
 19081 1759406889.19854: starting run
ansible [core 2.16.3]
  config file = /home/xxx/ansible/ansible.cfg
  configured module search path = ['/home/xxx/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3/dist-packages/ansible
  ansible collection location = /home/xxx/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.12.3 (main, Aug 14 2025, 17:47:21) [GCC 13.3.0] (/usr/bin/python3)
  jinja version = 3.1.2
  libyaml = True
xxx@xxx:~/ansible$

Finally here’s an SSH connection to the SAN from the Linux host that’s running Ansible -

xxx@xxx:~/ansible$ ssh master@xxx
(master@xxx) Password:

DELL EMC ME4024
System Name: xxx
System Location: xxx
Version: GT280R014-01
# show versions
                Controller A Versions        Controller B Versions
                ---------------------        ---------------------
Bundle Version: GT280R014-01                 GT280R014-01
Build Date:     Mon Nov 20 02:24:06 MST 2023 Mon Nov 20 02:24:06 MST 2023

Success: Command completed successfully. (2025-10-02 11:16:12)
# exit

Connection to xxx closed.
xxx@xxx:~/ansible$

Thanks,

Mike

1 post - 1 participant