Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error with junipernetworks.junos.junos_facts #121

Closed
misch42 opened this issue Nov 6, 2020 · 2 comments
Closed

Error with junipernetworks.junos.junos_facts #121

misch42 opened this issue Nov 6, 2020 · 2 comments

Comments

@misch42
Copy link

misch42 commented Nov 6, 2020

SUMMARY

I tried to run the juniper fact gather playbook from the example. But with gather_network_resources: all I get an error.

ISSUE TYPE
  • Bug Report
COMPONENT NAME

junipernetworks.junos.junos_facts

ANSIBLE VERSION
ansible 2.10.3
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/usr/local/lib/python3.6/site-packages/napalm_ansible']
  ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.6.8 (default, Apr 16 2020, 01:36:27) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]
CONFIGURATION
DEFAULT_MODULE_PATH(/etc/ansible/ansible.cfg) = ['/usr/local/lib/python3.6/site-packages/napalm_ansible']
OS / ENVIRONMENT

CentOS Linux release 8.2.2004 (Core)

STEPS TO REPRODUCE

Install ansible with pip. Install junipernetworks with ansible-galaxy.
My playbook fails:

---
- name: Test
  hosts: switch03
  gather_facts: False
  vars:
    ansible_network_os: junipernetworks.junos.junos
  
  tasks:
  - name: Test
    junipernetworks.junos.junos_command:
      commands: show verison

  - name: Facts
    junipernetworks.junos.junos_facts:
      gather_subset: config
      gather_network_resources: all
EXPECTED RESULTS

shows facts.

ACTUAL RESULTS
The full traceback is:
Traceback (most recent call last):
  File "/home/misch/.ansible/tmp/ansible-local-8564egev84je/ansible-tmp-1604664421.3118272-8613-165773920193520/AnsiballZ_junos_facts.py", line 102, in <module>
    _ansiballz_main()
  File "/home/misch/.ansible/tmp/ansible-local-8564egev84je/ansible-tmp-1604664421.3118272-8613-165773920193520/AnsiballZ_junos_facts.py", line 94, in _ansiballz_main
    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
  File "/home/misch/.ansible/tmp/ansible-local-8564egev84je/ansible-tmp-1604664421.3118272-8613-165773920193520/AnsiballZ_junos_facts.py", line 40, in invoke_module
    runpy.run_module(mod_name='ansible_collections.junipernetworks.junos.plugins.modules.junos_facts', init_globals=None, run_name='__main__', alter_sys=True)
  File "/usr/lib64/python3.6/runpy.py", line 205, in run_module
    return _run_module_code(code, init_globals, run_name, mod_spec)
  File "/usr/lib64/python3.6/runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmp/ansible_junipernetworks.junos.junos_facts_payload_44vkk0ka/ansible_junipernetworks.junos.junos_facts_payload.zip/ansible_collections/junipernetworks/junos/plugins/modules/junos_facts.py", line 147, in <module>                                                                                                                              
  File "/tmp/ansible_junipernetworks.junos.junos_facts_payload_44vkk0ka/ansible_junipernetworks.junos.junos_facts_payload.zip/ansible_collections/junipernetworks/junos/plugins/modules/junos_facts.py", line 138, in main                                                                                                                                  
  File "/tmp/ansible_junipernetworks.junos.junos_facts_payload_44vkk0ka/ansible_junipernetworks.junos.junos_facts_payload.zip/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/facts.py", line 115, in get_facts                                                                                                          
  File "/tmp/ansible_junipernetworks.junos.junos_facts_payload_44vkk0ka/ansible_junipernetworks.junos.junos_facts_payload.zip/ansible_collections/ansible/netcommon/plugins/module_utils/network/common/facts/facts.py", line 128, in get_network_resources_facts                                                                                           
  File "/tmp/ansible_junipernetworks.junos.junos_facts_payload_44vkk0ka/ansible_junipernetworks.junos.junos_facts_payload.zip/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/acl_interfaces/acl_interfaces.py", line 90, in populate_facts                                                                              
  File "/tmp/ansible_junipernetworks.junos.junos_facts_payload_44vkk0ka/ansible_junipernetworks.junos.junos_facts_payload.zip/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/acl_interfaces/acl_interfaces.py", line 127, in render_config                                                                              
TypeError: list indices must be integers or slices, not str
fatal: [switch03]: FAILED! => {
    "changed": false,
    "module_stderr": "Traceback (most recent call last):\n  File \"/home/misch/.ansible/tmp/ansible-local-8564egev84je/ansible-tmp-1604664421.3118272-8613-165773920193520/AnsiballZ_junos_facts.py\", line 102, in <module>\n    _ansiballz_main()\n  File \"/home/misch/.ansible/tmp/ansible-local-8564egev84je/ansible-tmp-1604664421.3118272-8613-165773920193520/AnsiballZ_junos_facts.py\", line 94, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/home/misch/.ansible/tmp/ansible-local-8564egev84je/ansible-tmp-1604664421.3118272-8613-165773920193520/AnsiballZ_junos_facts.py\", line 40, in invoke_module\n    runpy.run_module(mod_name='ansible_collections.junipernetworks.junos.plugins.modules.junos_facts', init_globals=None, run_name='__main__', alter_sys=True)\n  File \"/usr/lib64/python3.6/runpy.py\", line 205, in run_module\n    return _run_module_code(code, init_globals, run_name, mod_spec)\n  File \"/usr/lib64/python3.6/runpy.py\", line 96, in _run_module_code\n    mod_name, mod_spec, pkg_name, script_name)\n  File \"/usr/lib64/python3.6/runpy.py\", line 85, in _run_code\n    exec(code, run_globals)\n  File \"/tmp/ansible_junipernetworks.junos.junos_facts_payload_44vkk0ka/ansible_junipernetworks.junos.junos_facts_payload.zip/ansible_collections/junipernetworks/junos/plugins/modules/junos_facts.py\", line 147, in <module>\n  File \"/tmp/ansible_junipernetworks.junos.junos_facts_payload_44vkk0ka/ansible_junipernetworks.junos.junos_facts_payload.zip/ansible_collections/junipernetworks/junos/plugins/modules/junos_facts.py\", line 138, in main\n  File \"/tmp/ansible_junipernetworks.junos.junos_facts_payload_44vkk0ka/ansible_junipernetworks.junos.junos_facts_payload.zip/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/facts.py\", line 115, in get_facts\n  File \"/tmp/ansible_junipernetworks.junos.junos_facts_payload_44vkk0ka/ansible_junipernetworks.junos.junos_facts_payload.zip/ansible_collections/ansible/netcommon/plugins/module_utils/network/common/facts/facts.py\", line 128, in get_network_resources_facts\n  File \"/tmp/ansible_junipernetworks.junos.junos_facts_payload_44vkk0ka/ansible_junipernetworks.junos.junos_facts_payload.zip/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/acl_interfaces/acl_interfaces.py\", line 90, in populate_facts\n  File \"/tmp/ansible_junipernetworks.junos.junos_facts_payload_44vkk0ka/ansible_junipernetworks.junos.junos_facts_payload.zip/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/acl_interfaces/acl_interfaces.py\", line 127, in render_config\nTypeError: list indices must be integers or slices, not str\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 1
}
ADDITIONAL INFO

When I leave out the last list, so only have

  - name: Facts
    junipernetworks.junos.junos_facts:
      gather_subset: config

my playbook works.

@rohitthakur2590
Copy link
Collaborator

@misch42 Can you try this fix #124

@misch42
Copy link
Author

misch42 commented Nov 10, 2020

works for me.

@misch42 misch42 closed this as completed Nov 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants