Network Automation with Napalm (Week 11) PDF
Document Details
Uploaded by Deleted User
Tags
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