Skip to content

Junos ansible module breaks on Ansible 2.9 #465

@mtucker502

Description

@mtucker502

Issue Type

  • Bug Report

module_utils/juniper_junos_common.py

Info

Juniper.Junos role and Python libraries version

$ ansible --version
ansible 2.9.0
  config file = /Users/matucker/Downloads/git/junos-ansible-examples/junos/ansible.cfg
  configured module search path = [u'/Users/matucker/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/matucker/Downloads/git/junos-ansible-examples/venv/lib/python2.7/site-packages/ansible
  executable location = /Users/matucker/Downloads/git/junos-ansible-examples/venv/bin/ansible
  python version = 2.7.10 (default, Feb 22 2019, 21:55:15) [GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)]
$ pip freeze
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
ansible==2.9.0
bcrypt==3.1.7
cffi==1.13.2
cryptography==2.8
enum34==1.1.6
ipaddress==1.0.23
Jinja2==2.10.3
junos-eznc==2.3.0
lxml==4.4.1
MarkupSafe==1.1.1
ncclient==0.6.6
netaddr==0.7.19
paramiko==2.6.0
pycparser==2.19
PyNaCl==1.3.0
pyparsing==2.4.2
pyserial==3.4
PyYAML==5.1.2
scp==0.13.2
selectors2==2.0.1
six==1.12.0
transitions==0.7.1
yamlordereddictloader==0.4.0
$ ansible-config dump --only-changed
DEFAULT_HOST_LIST(/Users/matucker/Downloads/git/junos-ansible-examples/junos/ansible.cfg) = [u'/Users/matucker/Downloads/git/junos-ansible-examples/junos/hosts']
HOST_KEY_CHECKING(/Users/matucker/Downloads/git/junos-ansible-examples/junos/ansible.cfg) = False

OS / Environment

N/A

Summary

ansible/ansible#61621
ansible/ansible#64324

Steps to reproduce

Try to use any juniper_junos_* module with Ansible 2.9.

    - name: Run Commands
      juniper_junos_command:
        user: "{{ ansible_user }}"
        passwd: "{{ ansible_password }}"
        host: "{{ ansible_host }}"
        port: "{{ ansible_port }}"
        commands: "show version"
        formats: text
        dest: "{{playbook_dir}}/output/{{ inventory_hostname }}.txt"

Expected results

No import errors.

Actual results

The full traceback is:
Traceback (most recent call last):
  File "/Users/matucker/.ansible/tmp/ansible-tmp-1572894354.81-100059189556901/AnsiballZ_juniper_junos_command.py", line 102, in <module>
    _ansiballz_main()
  File "/Users/matucker/.ansible/tmp/ansible-tmp-1572894354.81-100059189556901/AnsiballZ_juniper_junos_command.py", line 94, in _ansiballz_main
    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
  File "/Users/matucker/.ansible/tmp/ansible-tmp-1572894354.81-100059189556901/AnsiballZ_juniper_junos_command.py", line 40, in invoke_module
    runpy.run_module(mod_name='ansible.modules.juniper_junos_command', init_globals=None, run_name='__main__', alter_sys=False)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 180, in run_module
    fname, loader, pkg_name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/var/folders/04/g24gg21176zflhxqzl_82y9c0000gn/T/ansible_juniper_junos_command_payload_A6fDzi/ansible_juniper_junos_command_payload.zip/ansible/modules/juniper_junos_command.py", line 312, in <module>
  File "/var/folders/04/g24gg21176zflhxqzl_82y9c0000gn/T/ansible_juniper_junos_command_payload_A6fDzi/ansible_juniper_junos_command_payload.zip/ansible/module_utils/juniper_junos_common.py", line 39, in <module>
  File "/Users/matucker/Downloads/git/junos-ansible-examples/venv/lib/python2.7/site-packages/ansible/plugins/action/__init__.py", line 22, in <module>
    from ansible.executor.module_common import modify_module
  File "/Users/matucker/Downloads/git/junos-ansible-examples/venv/lib/python2.7/site-packages/ansible/executor/module_common.py", line 38, in <module>
    from ansible.executor.powershell import module_manifest as ps_manifest
  File "/Users/matucker/Downloads/git/junos-ansible-examples/venv/lib/python2.7/site-packages/ansible/executor/powershell/module_manifest.py", line 26, in <module>
    from ansible.plugins.loader import ps_module_utils_loader
  File "/Users/matucker/Downloads/git/junos-ansible-examples/venv/lib/python2.7/site-packages/ansible/plugins/loader.py", line 22, in <module>
    from ansible.parsing.utils.yaml import from_yaml
  File "/Users/matucker/Downloads/git/junos-ansible-examples/venv/lib/python2.7/site-packages/ansible/parsing/utils/yaml.py", line 19, in <module>
    from ansible.parsing.ajson import AnsibleJSONDecoder
  File "/Users/matucker/Downloads/git/junos-ansible-examples/venv/lib/python2.7/site-packages/ansible/parsing/ajson.py", line 11, in <module>
    from ansible.module_utils.common.json import AnsibleJSONEncoder
ImportError: No module named json

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions