Package: napalm
NAPALMNAPALM (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 supports several methods to connect to the devices, to manipulate configurations or to retrieve data.Supported Network Operating SystemsPlease check the followinglinkto see which devices are supported. Make sure you understand thecaveats.DocumentationBefore using the library, please read the documentation at:Read the DocsYou can also watch alive demoof NAPALM to see what it is and what it can do for you.Installpip install napalmNote: Beginning with release 4.0.0 and later, NAPALM offers support for
Python 3.7+ only.Note: Beginning with release 3.0.0 and later, NAPALM offers support for
Python 3.6+ only.UpgradingWe 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-Uflag. For example:pip install napalm -UWe will be posting news on our slack channel and on Twitter.Automation FrameworksDue to its flexibility, NAPALM can be integrated in widely used automation frameworks.AnsiblePlease checknapalm-ansiblefor existing Ansible modules leveraging the NAPALM API. Make sure you read the documentation and you understand how it works before trying to use it.SaltStackBeginning with release code namedCarbon(2016.11),NAPALM is fully integratedin SaltStack - no additional modules required. For setup recommendations, please seenapalm-salt. For documentation and usage examples, you can check the modules documentation, starting from therelease notesandthis blog post.StackStormNAPALM is usable from StackStorm using theNAPALM integration pack. See that repository for instructions on installing and configuring the pack to work with StackStorm. General StackStorm documentation can be found athttps://docs.stackstorm.com/, and StackStorm can be easily spun up for testing usingVagrantorDocker.ContactSlackSlack is probably the easiest way to get help with NAPALM. You can find us in the channelnapalmon thenetwork.toCode()team.FAQIf 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 minimumrequirements?Some operating systems have some specificconstraints. (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--vendorVENDOR--userUSERNAME--passwordPASSWORD--optional_argsOPTIONAL_ARGSHOSTNAMEcallget_factsWhere vendor, username, password and hostname are mandatory.Optional argumentsare specified as comma separated values.Example:$napalm--vendorjunos--usernapalm--passworddbejmujz--optional_args'port=12202, config_lock=False'edge01.bjm01callget_factsIn 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.NewsBlog PostsNAPALM, Ansible, and Cisco IOSby Kirk ByersAdding Cisco IOS support to NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support)by Gabriele GerbinoNetwork orchestration with Salt and NAPALMby Mircea UlinicNetwork Configuration Consistency with StackStorm and NAPALMby Matt OswaltPresentationsNANOG 64 Presentation & Demoby David Barroso and Elisa JasinskaNetnod Autumn Meeting 2015 Presentationby David BarrosoAutomating IXP Device Configurations with Ansible at the Euro-IX Forumby Elisa JasinskaNetwork Automation with Salt and NAPALM at NANOG 68;video;recorded demoby Mircea UlinicPodcastsNAPALM: Integrating Ansible with Network Devices on Software Gone Wildwith David Barroso and Elisa JasinskaAuthorsDavid Barroso (dbarrosop@dravetech.com)Mircea Ulinic (ping@mirceaulinic.net)Kirk Byers (ktbyers@twb-tech.com)Elisa Jasinska (elisa@bigwaveit.org)Many others, check thecontributorspage for details.ThanksThis project is maintained by David Barroso, Mircea Ulinic, and Kirk Byers and a set of other contributors.Originally it was hosted by theSpotifyorganization but due to the many contributions received by third parties we agreed creating a dedicated organization for NAPALM and give a big thanks toSpotifyfor the support.