Network Automation with Napalm (Week 11) PDF

Summary

This presentation covers network automation using Napalm, a Python library for interacting with various network devices. It explains the concepts of APIs and how Napalm uses a unified API to simplify network management tasks. The document also includes information on different network components, protocols, and operations.

Full Transcript

NETWORK AUTOMATION Working with Napalm Week 11 NAPALM  Network  Automation and  Programmability  Abstraction  Layer with  Multivendor WHAT IS NAPALM  It’s a python package  Open Source  Unified API for multiple vendors  Used when no available API  Provides...

NETWORK AUTOMATION Working with Napalm Week 11 NAPALM  Network  Automation and  Programmability  Abstraction  Layer with  Multivendor WHAT IS NAPALM  It’s a python package  Open Source  Unified API for multiple vendors  Used when no available API  Provides methods to manipulate config  Provides methods to retrieve data WHAT? WHY?  An API (Application Programming Interface) is an interface between multiple applications. It means that it allows two applications to communicate.  An API follows the principle of question and answer, exactly as humans do. WHAT IS AN API? DEMO STARTING WITH APIS Configurations are getting huge and complex! Handover the network – are you crazy? Mutual trade? Going over to the dark side Have I seen the future? GOALS… WELL MORE HOPES AND DREAMS! Network Automation GOALS NON- GOALS Infrastructure as Remove all human/cli code input Source control No proprietary Initial provisioning software needed Configurati on manageme nt Operational ABOUT NAPALM NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) A Python library that implements a set of functions to interact with different network device Operating Systems using a unified API.  Packets  Different protocols  Border Gateway Protocol (BGP)  Open Shortest Path First (OSPF)  Intermediate System to Intermediate System (IS-IS)  Connections  Port- Channels/VPC  Virtual Private Networks (VPN)  Ethernet NETWORK COMPONENTS NAPALM SUPPORT MATRIX IOS-XR NXOS NX-OS SSH IOS EOS JUNOS Driver Name iosxr nxos nxos_ssh ios eos junos Structured data no Yes No No Yes Yes Minimum version 5.1.0 6.1 12.4(20)T 4.15.0F 12.1 Backend library pyIOSXR pynxos netmiko netmiko pyeapi junos-eznc NX-API support on the Nexus 5k, 6k and 7k families was introduced in version 7.2 NX-OS. SSH driver will support earlier versions of NX-OS and uses unstructured data WHAT CAN YOU DO WITH NAPALM? Configuration replace: Replace the entire running- configuration with a completely new configuration or Configuration merge: Merge a set of changes from a file into the running-configuration Configuration compare: Compare your new proposed configuration file with the running- configuration © 2019 Cisco and/or its affiliates. All rights reserved. Cisco Public DEVNET- 1599 1 3 WHAT CAN YOU DO WITH NAPALM? Discard: Revert the candidate configuration file back to the current running-configuration; reset the merge configuration file back to an empty file Commit: Deploy the staged configuration. This can be either an entire new file (for replace operations) or a merge file Rollback: Revert the running configuration back to a file that was saved prior to the previous commit DATA INFORMATION GATHERING cod e {get request} hos runnin t g provide detail COMPLIANCE / REPORTING cod expecte e generat d compar hos e e t running change diff DEPLOYMENT OPERATIONS make changes cod candidat e generat e hos e t runnin g merge/ replace apply changes

Use Quizgecko on...
Browser
Browser