Duration
5 days
Prerequisites
The knowledge and skills that a learner must have before attending this course are:
Baseline Python knowledge
CCNA/CCNP level network background
Learning Objectives
Upon completing this course, the learner will be able to:
Understand the basics of Network Programmability
Use basic Linux commands and configure networking
Write and troubleshoot Python scripts
Understand and use REST and NETCONF programmability interfaces of various Cisco controllers and devices
Consume and comprehend YANG data models
Know DevOps and Agile software development methodologies
Practical application of Ansible automation tool
Module 1: Network Programmability Fundamentals Introduction to Network Programmability
- Linux Primer for Network Engineers
- Linux Networking
- Python Foundations for Network Engineers – Part 1
- Python Foundations for Network Engineers – Part 2
- Writing and Troubleshooting Python Scripts
- Python Libraries
Module 2: APIs and Automation Protocols Introduction to Network APIs and Protocols
- Cisco ASA REST API
- NX-OS Programmability
- Cisco IOS XE APIs
- Cisco IOS XR APIs
Module 3: Data Models YANG Data Modeling
- YANG Tools
Module 4: SDN Controllers Introduction to Controller Networking
- OpenDaylight
- Cisco APIC-EM
- Cisco Application Centric Infrastructure
- Cisco Element and Domain Managers
Module 5: Network Operations Software Development Methodologies
- Introduction to DevOps
- Version Control
- Automated Testing
- Continuous Integration
- Configuration Management and Automation Tools
- Labs: Discovery 1: Using the Linux Command Line
- Discovery 2: Linux Networking
- Discovery 3: Python Foundations—Part 1
- Discovery 4: Python Foundations – Part 2
- Discovery 5: Writing and Troubles
- Challenge 6: Interacting with the Cisco IOS XR NETCONF API
- Challenge 7: Securing the Management Plane
- Discovery 12: Validating YANG Models Using Yang Validator
- Discovery 13: Writing a Custom YANG Model
- Discovery 14: Viewing and Validating YANG Models with pyang
- Discovery 15: Generate Python Bindings with ydk-gen
- Discovery 16: Navigating YANG-Explorer
- Challenge 8: BGP Configuration Change using ydk-py (with OC BGP models)
- Discovery 17: Network Discovery Configuration
- Discovery 18: APIC-EM Network Discovery and RBAC
- Discovery 19: Consuming the APIC-EM API
- Discovery 20: ACI Fabric Discovery
- Discovery 21: Creating Objects with APIC GUI
- Discovery 22: Navigating the Object Model
- Discovery 23: Using API Inspector
- Discovery 24: Using ARYA
- Discovery 25: CLI Emulation
- Discovery 26: ACI Diagram Tool
- Discovery 27: ACI Toolkit — Lint
- Discovery 28: Using the APIC REST API
- Discovery 29: GitHub Pull Request
- Discovery 30: Working with Git
- Discovery 31: DevNet Sandbox
- Discovery 32: DevNet Learning Labs
- Discovery 33: DevNet GitHub
- Discovery 34: Integration Testing
- Challenge 9: Tenant Provisioning with Ansible
- Discovery 35: Compliance Checks with Ansible
Programme scope, delivery arrangements and suitability are confirmed during enquiry.