Unable to handle local instance connections
- Dominant language
- Cython
- Stars
- 79
- Forks
- 47
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 6
Description
##### SUMMARY
On spinning up a network device in the local instance, libssh fails to connect via ssh while running a playbook. Anything other than local works fine.
##### ISSUE TYPE
- Bug Report
##### PYLISSH and LIBSSH VERSION
```paste below
ansible-pylibssh==0.3.0
Source : libssh-0.9.6-1.fc35.src.rpm
```
##### OS / ENVIRONMENT
##### STEPS TO REPRODUCE
```
ansbile.cfg
--------------
[persistent_connection]
ssh_type = libssh
```
```paste below
inventory
------------
[iosDevice1]
localhost
[iosDevice1:vars]
ansible_network_os=ios
ansible_user=user
ansible_password=pass
ansible_connection=network_cli
ansible_network_cli_ssh_type=libssh
ansible_become=true
ansible_ssh_port=8022
```
```
playbook.yml
--------------
---
- name: Tests libssh
hosts: iosDevice1
gather_facts: no
tasks:
- name: Gathering vlans
cisco.ios.ios_facts:
gather_subset: ['!all', '!min']
gather_network_resources: ['vlans']
```
##### EXPECTED RESULTS
Works properly with connection paramiko, same should be with libssh
##### ACTUAL RESULTS
fails with ` ssh connection failed: ssh connect failed: Connection refused`
```paste below
TASK [Gathering vlans] **************************************************************************************************************************************************************
task path: /home/machine/Work/Area51/vlan_bug_fact.yml:6
redirecting (type: connection) ansible.builtin.network_cli to ansible.netcommon.network_cli
redirecting (type: terminal) ansible.builtin.ios to cisco.ios.ios
redirecting (type: cliconf) ansible.builtin.ios to cisco.ios.ios
attempting to start connection
using connection plugin ansible.netcommon.network_cli
Found ansible-connection at path /home/machine/MyVnvs/dev38/bin/ansible-connection
local domain socket does not exist, starting it
control socket path is /home/machine/.ansible/pc/15955bcd40
redirecting (type: connection) ansible.builtin.network_cli to ansible.netcommon.network_cli
Loading collection ansible.netcommon from /home/machine/Work/Area51/collections/ansible_collections/ansible/netcommon
redirecting (type: terminal) ansible.builtin.ios to cisco.ios.ios
Loading collection cisco.ios from /home/machine/Work/Area51/collections/ansible_collections/cisco/ios
redirecting (type: cliconf) ansible.builtin.ios to cisco.ios.ios
local domain socket listeners started successfully
loaded cliconf plugin ansible_collections.cisco.ios.plugins.cliconf.ios from path /home/machine/Work/Area51/collections/ansible_collections/cisco/ios/plugins/cliconf/ios.py for network_os ios
ssh type is set to libssh
local domain socket path is /home/machine/.ansible/pc/15955bcd40
redirecting (type: action) cisco.ios.ios_facts to cisco.ios.ios
redirecting (type: action) cisco.ios.ios_facts to cisco.ios.ios
ANSIBLE_NETWORK_IMPORT_MODULES: enabled via connection option
ANSIBLE_NETWORK_IMPORT_MODULES: found cisco.ios.ios_facts at /home/machine/Work/Area51/collections/ansible_collections/cisco/ios/plugins/modules/ios_facts.py
ANSIBLE_NETWORK_IMPORT_MODULES: running cisco.ios.ios_facts
ANSIBLE_NETWORK_IMPORT_MODULES: complete
ANSIBLE_NETWORK_IMPORT_MODULES: Result: {'failed': True, 'msg': 'ssh connection failed: ssh connect failed: Connection refused', 'exception': ' File "/home/machine/Work/Area51/collections/ansible_collections/ansible/netcommon/plugins/module_utils/network/common/network.py", line 251, in get_capabilities\n capabilities = Connection(module._socket_path).get_capabilities()\n File "/home/machine/MyVnvs/dev38/lib/python3.8/site-packages/ansible/module_utils/connection.py", line 200, in __rpc__\n raise ConnectionError(to_text(msg, errors=\'surrogate_then_replace\'), code=code)\n', 'invocation': {'module_args': {'gather_subset': ['!all', '!min'], 'gather_network_resources': ['vlans'], 'available_network_resources': False, 'provider': None}}, '_ansible_parsed': True}
The full traceback is:
File "/home/machine/Work/Area51/collections/ansible_collections/ansible/netcommon/plugins/module_utils/network/common/network.py", line 251, in get_capabilities
capabilities = Connection(module._socket_path).get_capabilities()
File "/home/machine/MyVnvs/dev38/lib/python3.8/site-packages/ansible/module_utils/connection.py", line 200, in __rpc__
raise ConnectionError(to_text(msg, errors='surrogate_then_replace'), code=code)
fatal: [localhost]: FAILED! => {
"changed": false,
"invocation": {
"module_args": {
"available_network_resources": false,
"gather_network_resources": [
"vlans"
],
"gather_subset": [
"!all",
"!min"
],
"provider": null
}
},
"msg": "ssh connection failed: ssh connect failed: Connection refused"
}
```
Contributor guide
Assessment
This issue has not been assessed yet.