[FROG] Error with Ansible - socket_path must be a value

Saqib Ilyas msaqib at gmail.com
Tue Jul 13 15:19:02 UTC 2021


Hi
I have started a few FRR containers using containerlab. From the host
running the container, I can ping the router just fine. Then, I try to
interact with the router using Ansible. When I use the facter module,
things work just fine. However, when I use the Ansible frr.frr module, I
get the following error:

An exception occurred during task execution. To see the full traceback, use
-vvv. The error was: AssertionError: socket_path must be a value
fatal: [172.20.20.4]: FAILED! => {"changed": false, "module_stderr":
"Traceback (most recent call last):\n  File
\"/root/.ansible/tmp/ansible-tmp-1626187837.4416695-33984649570835/AnsiballZ_frr_facts.py\",
line 102, in <module>\n    _ansiballz_main()\n  File
\"/root/.ansible/tmp/ansible-tmp-1626187837.4416695-33984649570835/AnsiballZ_frr_facts.py\",
line 94, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path,
ANSIBALLZ_PARAMS)\n  File
\"/root/.ansible/tmp/ansible-tmp-1626187837.4416695-33984649570835/AnsiballZ_frr_facts.py\",
line 40, in invoke_module\n
 runpy.run_module(mod_name='ansible_collections.frr.frr.plugins.modules.frr_facts',
init_globals=None, run_name='__main__', alter_sys=True)\n  File
\"/usr/lib/python3.8/runpy.py\", line 207, in run_module\n    return
_run_module_code(code, init_globals, run_name, mod_spec)\n  File
\"/usr/lib/python3.8/runpy.py\", line 97, in _run_module_code\n
 _run_code(code, mod_globals, init_globals,\n  File
\"/usr/lib/python3.8/runpy.py\", line 87, in _run_code\n    exec(code,
run_globals)\n  File
\"/tmp/ansible_frr.frr.frr_facts_payload_0vramok4/ansible_frr.frr.frr_facts_payload.zip/ansible_collections/frr/frr/plugins/modules/frr_facts.py\",
line 425, in <module>\n  File
\"/tmp/ansible_frr.frr.frr_facts_payload_0vramok4/ansible_frr.frr.frr_facts_payload.zip/ansible_collections/frr/frr/plugins/modules/frr_facts.py\",
line 410, in main\n  File
\"/tmp/ansible_frr.frr.frr_facts_payload_0vramok4/ansible_frr.frr.frr_facts_payload.zip/ansible_collections/frr/frr/plugins/modules/frr_facts.py\",
line 134, in __init__\n  File
\"/tmp/ansible_frr.frr.frr_facts_payload_0vramok4/ansible_frr.frr.frr_facts_payload.zip/ansible_collections/frr/frr/plugins/module_utils/network/frr/frr.py\",
line 18, in get_capabilities\n  File
\"/tmp/ansible_frr.frr.frr_facts_payload_0vramok4/ansible_frr.frr.frr_facts_payload.zip/ansible/module_utils/connection.py\",
line 121, in __init__\nAssertionError: socket_path must be a value\n",
"module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the
exact error", "rc": 1}
An exception occurred during task execution. To see the full traceback, use
-vvv. The error was: AssertionError: socket_path must be a value
fatal: [172.20.20.6]: FAILED! => {"changed": false, "module_stderr":
"Traceback (most recent call last):\n  File
\"/root/.ansible/tmp/ansible-tmp-1626187837.3930752-95082556581940/AnsiballZ_frr_facts.py\",
line 102, in <module>\n    _ansiballz_main()\n  File
\"/root/.ansible/tmp/ansible-tmp-1626187837.3930752-95082556581940/AnsiballZ_frr_facts.py\",
line 94, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path,
ANSIBALLZ_PARAMS)\n  File
\"/root/.ansible/tmp/ansible-tmp-1626187837.3930752-95082556581940/AnsiballZ_frr_facts.py\",
line 40, in invoke_module\n
 runpy.run_module(mod_name='ansible_collections.frr.frr.plugins.modules.frr_facts',
init_globals=None, run_name='__main__', alter_sys=True)\n  File
\"/usr/lib/python3.8/runpy.py\", line 207, in run_module\n    return
_run_module_code(code, init_globals, run_name, mod_spec)\n  File
\"/usr/lib/python3.8/runpy.py\", line 97, in _run_module_code\n
 _run_code(code, mod_globals, init_globals,\n  File
\"/usr/lib/python3.8/runpy.py\", line 87, in _run_code\n    exec(code,
run_globals)\n  File
\"/tmp/ansible_frr.frr.frr_facts_payload_y1xygkr8/ansible_frr.frr.frr_facts_payload.zip/ansible_collections/frr/frr/plugins/modules/frr_facts.py\",
line 425, in <module>\n  File
\"/tmp/ansible_frr.frr.frr_facts_payload_y1xygkr8/ansible_frr.frr.frr_facts_payload.zip/ansible_collections/frr/frr/plugins/modules/frr_facts.py\",
line 410, in main\n  File
\"/tmp/ansible_frr.frr.frr_facts_payload_y1xygkr8/ansible_frr.frr.frr_facts_payload.zip/ansible_collections/frr/frr/plugins/modules/frr_facts.py\",
line 134, in __init__\n  File
\"/tmp/ansible_frr.frr.frr_facts_payload_y1xygkr8/ansible_frr.frr.frr_facts_payload.zip/ansible_collections/frr/frr/plugins/module_utils/network/frr/frr.py\",
line 18, in get_capabilities\n  File
\"/tmp/ansible_frr.frr.frr_facts_payload_y1xygkr8/ansible_frr.frr.frr_facts_payload.zip/ansible/module_utils/connection.py\",
line 121, in __init__\nAssertionError: socket_path must be a value\n",
"module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the
exact error", "rc": 1}

My Ansible playbook is:

- name: testing facts
hosts: routers
tasks:
- name: testing
ansible.builtin.setup:
gather_subset:
- '!all'
- '!any'
- facter
- name: Do not collect hardware facts
frr.frr.frr_facts:
gather_subset:
- '!hardware'

I read that Ansible FRR module uses SSH to communicate with the devices.
However, I can't seem to ssh into the FRR router. Could that be the reason?
How do I fix it?
Thanks and best regards
-- 
Saqib
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.frrouting.org/pipermail/frog/attachments/20210713/413182a4/attachment.htm>


More information about the frog mailing list