- Access exclusive content
- Connect with peers
- Share your expertise
- Find support resources
04-26-2021 06:14 AM
Hi
I'm using using ansible collections "paloaltonetworks.panos" and ended up with the below error.
TASK [retireve api-key]
fatal: [192.168.0.120]: FAILED! => {"changed": false, "msg": "Missing required library \"pandevice\"."}
I'm still wonder why its pointing to pandevice when I already installed pan-os-python. I thought pandevice is only for role- PaloAltoNetworks.paloaltonetworks. does pandevice required for collections as well?
Its really confusing which modules will support which library( pan-python, pandevice, pan-os-python)
Playbook
---
- hosts: palo
gather_facts: true
collections:
- paloaltonetworks.panos
tasks:
- name: Grab Credentials
include_vars: 'secrets.yml'
no_log: 'yes'
- name: retireve api-key
panos_api_key:
provider: '{{ palo_provider }}'
register: auth
any_errors_fatal: true
Can you someone help me?
04-27-2021 06:50 AM
Hi @sridhar15, the below worked for me, taking your playbook as the groundwork.
There is a repo of example playbooks here which might help you: https://github.com/PaloAltoNetworks/ansible-playbooks
More details on pandevice -> pan-os-python here: https://github.com/PaloAltoNetworks/pan-os-python#upgrade-from-pandevice
---
- hosts: '{{ target | default("firewall") }}'
connection: local
gather_facts: true
collections:
- paloaltonetworks.panos
vars:
palo_provider:
ip_address: '{{ ip_address }}'
username: '{{ username | default(omit) }}'
password: '{{ password | default(omit) }}'
api_key: '{{ api_key | default(omit) }}'
tasks:
- name: Grab Credentials
include_vars: 'secrets.yml'
no_log: 'yes'
- name: retireve api-key
panos_api_key:
provider: '{{ palo_provider }}'
register: auth
any_errors_fatal: true
04-27-2021 08:52 AM
The error message hasn't been updated to say "pan-os-python" yet, but it is indeed checking for the pan-os-python library first.
Since you say pan-os-python is installed but Ansible is not finding it, this likely means that you have multiple python environments setup (knowingly or unknowingly), and the python environment that Ansible is running in does not have pan-os-python installed.
06-01-2021 12:42 AM
As Gfreeman is saying if you run python --version what you see as the default version? You may installed "pan-os-python" under python2 or python3 (pip2 or pip3) but not under the default version of python.
https://linuxize.com/post/how-to-install-pip-on-ubuntu-20.04/
https://dev.to/meetsohail/change-the-python3-default-version-in-ubuntu-1ekb
You can also create docker image and a container with ansible and the corect python than changing things and environmentals in your main operational system:
https://phoenixnap.com/kb/how-to-commit-changes-to-docker-image
Click Accept as Solution to acknowledge that the answer to your question has been provided.
The button appears next to the replies on topics you’ve started. The member who gave the solution and all future visitors to this topic will appreciate it!
These simple actions take just seconds of your time, but go a long way in showing appreciation for community members and the LIVEcommunity as a whole!
The LIVEcommunity thanks you for your participation!