nornir_ansible
nornir_ansible copied to clipboard
Nornir's Ansible inventory plugin
nornir ansible
Ansible Inventory plugin for nornir.
Install
In most cases installation via pip is the simplest and best way to install nornir_ansible.
pip install nornir_ansible
Basic Example
In your nornir configuration, set the inventory plugin value to AnsibleInventory
---
inventory:
plugin: AnsibleInventory
options:
hostsfile: "inventory.yaml"
The hostsfile
inventory option argument should point to a valid Ansible inventory file, in this case a yaml style
inventory such as:
---
all:
vars:
ansible_python_interpreter: "/usr/bin/python3"
username: "vrnetlab"
password: "VR-netlab9"
children:
sea:
hosts:
sea-eos-1:
ansible_host: "172.18.0.14"
sea-nxos-1:
ansible_host: "172.18.0.12"
children:
arista-eos:
hosts:
sea-eos-1:
vars:
platform: "eos"
cisco-nxos:
hosts:
sea-nxos-1:
vars:
platform: "nxos"
Initialize your nornir object and validate the appropriate inventory plugin was loaded, and the inventory file was parsed:
>>> from nornir import InitNornir
>>> nr = InitNornir(config_file="config.yaml")
>>> print(nr.config.inventory.plugin)
<class 'nornir_ansible.plugins.inventory.ansible.AnsibleInventory'>
>>> print(nr.inventory.hosts)
{'sea-eos-1': Host: sea-eos-1, 'sea-nxos-1': Host: sea-nxos-1}
>>>