NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) is python library that implements a set of functions to interact with different vendors using a unified API.
NAPALM supports several methods to connect to the devices, to manipulate configuration and to retrieve data.
- EOS - Using pyeapi. You need version 4.14.6M or superior.
- JunOS - Using junos-eznc
- IOS-XR - Using pyIOSXR
- FortiOS - Using pyFG
EOS | JunOS | IOS-XR | FortiOS | |
---|---|---|---|---|
Name | eos | junos | iosxr | fortios |
Config Management | Full | Full | Full | Full |
Atomic Changes | Yes | Yes | Yes | No |
Rollback | Yes | Yes | Yes | Yes |
Before using the library, please, read the documentation (link below). Specially the "caveats" section:
See the Read the Docs
You can also watch a live demo of NAPALM to see what it is and what it can do for you.
To install, execute:
pip install napalm
There is an ansible module provided by this API. Make sure you read the documentation and you understand how it works before trying to use it.
If you have any questions, join the users' mailing list at [email protected] and if you are developer and want to contribute to NAPALM feel free to join to the developers' mailing list at [email protected]
You can find the homologous IRC channels on freenode #napalm-automation and #napalm-dev. Feel free to join if you prefer a more direct approach.
- David Barroso ([email protected])
- Elisa Jasinska ([email protected])