Sign inSign up

napalmautomation/napalm

By napalmautomation

•Updated over 5 years ago

Official NAPALM Docker image

Image
3

2.9K

napalmautomation/napalm repository overview

PyPI PyPI versions Actions Build Code Style

⁠NAPALM

NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) is a Python library that implements a set of functions to interact with different router vendor devices using a unified API.

NAPALM logo

NAPALM supports several methods to connect to the devices, to manipulate configurations or to retrieve data.

⁠Supported Network Operating Systems

Please check the following link⁠ to see which devices are supported. Make sure you understand the caveats⁠.

⁠Documentation

Before using the library, please read the documentation at: Read the Docs⁠

You can also watch a live demo⁠ of NAPALM to see what it is and what it can do for you.

⁠Install

pip install napalm

Note: Beginning with release 3.0.0 and later, NAPALM offers support for Python 3.6+ only.

⁠Upgrading

We plan to upgrade napalm as fast as possible. Adding new methods and bugfixes. To upgrade napalm it's a simple as repeating the steps you performed while installing but adding the -U flag. For example:

pip install napalm -U

We will be posting news on our slack channel and on Twitter.

⁠Automation Frameworks

Due to its flexibility, NAPALM can be integrated in widely used automation frameworks.

⁠Ansible

Please check napalm-ansible⁠ for existing Ansible modules leveraging the NAPALM API. Make sure you read the documentation and you understand how it works before trying to use it.

⁠SaltStack

Beginning with release code named Carbon (2016.11), NAPALM is fully integrated⁠ in SaltStack - no additional modules required. For setup recommendations, please see napalm-salt⁠. For documentation and usage examples, you can check the modules documentation, starting from the release notes⁠ and this blog post⁠.

⁠StackStorm

NAPALM is usable from StackStorm using the NAPALM integration pack⁠. See that repository for instructions on installing and configuring the pack to work with StackStorm. General StackStorm documentation can be found at https://docs.stackstorm.com/⁠, and StackStorm can be easily spun up for testing using Vagrant⁠ or Docker⁠.

⁠Contact

⁠Slack

Slack is probably the easiest way to get help with NAPALM. You can find us in the channel napalm on the network.toCode()⁠ team.

⁠FAQ

If you have any issues using NAPALM or encounter any errors, before submitting any questions (directly by email or on Slack), please go through the following checklist:

  • Make sure you have the latest release installed. We release very often, so upgrading to the latest version might help in many cases.
  • Double check you are able to access the device using the credentials provided.
  • Does your device meet the minimum requirements⁠?
  • Some operating systems have some specific constraints⁠. (e.g. have you enabled the XML agent on IOS-XR, or the NXAPI feature on NXOS?)
  • Are you able to connect to the device using NAPALM? Check using napalm CLI to get_facts:
$ napalm --vendor VENDOR --user USERNAME --password PASSWORD --optional_args OPTIONAL_ARGS HOSTNAME call get_facts

Where vendor, username, password and hostname are mandatory. Optional arguments⁠ are specified as comma separated values.

Example:

$ napalm --vendor junos --user napalm --password dbejmujz --optional_args 'port=12202, config_lock=False' edge01.bjm01 call get_facts

In case you have any errors, please review the steps above - this looks like a problem with your environment setup.

In order to get help faster, when submitting a bug/error make sure to include all the details requested.

⁠News

⁠Blog Posts

⁠Presentations

⁠Podcasts

⁠Authors

⁠Thanks

This project is maintained by David Barroso, Mircea Ulinic, and Kirk Byers and a set of other contributors.

Originally it was hosted by the Spotify⁠ organization but due to the many contributions received by third parties we agreed creating a dedicated organization for NAPALM and give a big thanks to Spotify⁠ for the support.

Tag summary

Content type

Image

Digest

Size

160.2 MB

Last updated

over 5 years ago

docker pull napalmautomation/napalm