"The Python library dubbed Napalm - short for Network Automation and Programmability Abstraction Layer with Multivendor support - helps interact with devices from various vendors though a unified set of commands. It currently supports Arista, Juniper, Cisco (IOS-XR) and FortiGate. It provides methods to replace or merge the configurations on the devices, view a diff, commit the changes, or roll them back. It also provides an Ansible plugin, which enables administrators to push configurations directly from Ansible playbooks. Napalm is open source and available on Github: https://github.com/spotify/napalm We will present more details about Napalm, how to use it and show in a demo how to instantaneously configure a set of multivendor devices."
Notes:
Based on Ansible server mgmt system.Requires the ability to run an ansible agent on the network device. Works on Juniper and Arista. Not on Cisco IOS or NX-OS.
Works on IOS-XR with python library - need to look at library and see what they did to make it work with XR and whether that could be adapted to IOS or NX-OS. https://github.com/fooelisa/pyiosxr/
Device must support atomic changes and provide a config change interface. Would need to write library to emulate that capability since not supported in IOS or NX-OS.
Changes are idempotent, logs for everything done. Can get diffs prior to commit. Ansible provides a sophisticated framework for changes, and napalm python scripts apply configs to JunOS and EoS boxes.
No comments:
Post a Comment