ansible-junos-stdlib: junos-eznc required version - not correct

States that >= 1.2.2 is required, but 1.3.1 is installed when running playbook to update configuration.

PLAY [NTP Update] **************************************************************

TASK [Checking NETCONF connectivity] *******************************************
ok: [MY-SRX]

TASK [junos_install_config] ****************************************************
fatal: [MY-SRX]: FAILED! => {"changed": false, "failed": true, "msg": "junos-eznc >= 1.2.2 is required for this module"}

PLAY RECAP *********************************************************************
MY-SRX     : ok=1    changed=0    unreachable=0    failed=1

(env) MAC:~/Ansible-JunOS/junos-deploy$pip list | grep junos-eznc
junos-eznc (1.3.1)

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 25 (11 by maintainers)

Most upvoted comments

Hi can you try to define the variable ansible_python_interpreter You can put it inside your inventory or any variable file

## Inside your inventory
[all:vars]
ansible_python_interpreter=/usr/local/bin/python

For me It solved some issues related to python environment

Closing this issue.

Ansible actually only uses the shebang line to determine that the module is written in Python. If the line contains python, it is assumed to be a module written in Python.

Ansible best practice is that the line actually be:

#!/usr/bin/python

Regardless of the Python path in the shebang line, Ansible executes the module with the Python interpreter specified by the ansible_python_interpreter inventory variable. (note: this is an inventory variable, not an environment variable, configuration variable, or playbook variable.)

The value of ansible_python_interpreter defaults to /usr/bin/python. If your Python is in another location, you MUST set the ansible_python_interpreter variable to the correct value for your installation in the inventory file.