DNACPF: Cisco DNA - Cisco Programmability Integration Fundamentals

This 3-day, instructor-led, Cisco DNA Center course that will help you to become familiar with programmable infrastructure concepts and integrations that support Cisco SD-Access, DNA Center, and the Cisco Catalyst 9000 Series switch programming. In this course you will learn about production solutions that run on or interact with IOS-XE on the Catalyst 9000 switches.


The primary audience for this course is as follows:

  • Network Operations team with SD-Access solution
  • Network admin staff that deal with Software Defined Networking
  • Network Administrators
  • Network Architects
  • Network Engineers


To attend this course you should have the following knowledge and skills:

  • Familiarity with Catalyst 9k Switches
  • Familiarity with DNA Center and SD-Access

Course objectives

Upon completing this course, the learner will be able to meet these overall objectives:

  • Describe what is SDN and Network Programmability
  • Describe use cases and examples of Catalyst 9000 programmability
  • Learn about Python and how it automates the Catalyst 9000
  • Understand object-oriented programming
  • Understand SD-Access
  • Discuss how to apply Cisco Software-Defined Access programmatically
  • Understand the Use Cases and Problems Solved with SDN programmability
  • Explain an overview of OpenFlow and Network Controllers
  • Explain an overview of Human Interaction DevOps-Style

Course content

Module 1: SD-Access Introduction

SDA Quick Overview
SDA Key Benefits
Technical Overview: LISP, Cisco Trustsec, VXLAN
Network Fabric
SDA Overlay Key Components: Control Plane, Data Plane, Policy Plane
SDA Fabric Roles & Terminology

Module 2: SDA Wireless Architecture

SDA Wireless Architecture Overview
SDA Wireless Benefits
Policy Rollout
Wireless Integration in SDA Fabric

Module 3: SDA Deployment

Digital Network Architecture
Campus Fabric Automation
Smart CLI
Programmable APIs
DNA Center – SD-Access WorkFlow

Module 4: SDA Center Ecosystems Integrations

Event Notifications and Webhooks
Integrations Overview
DevOps Integrations
ChatOps Integrations
Use Cases

Module 5: DNA Assurance

DNA Center Architecture
Cisco DNA Assurance Introduction
DNA Assurance Architecture
Telemetry Collection Overview
DNA Assurance Getting Started
Full Stack Visibility
Network & Client Experience
Intelligent Capture
Real Time Monitoring RF
Path Trace
Sensor-based Proactive Monitoring
Application Experience
Issue Remediation
AI Network Analytics
Machine Reasoning

Module 6: Python Programming

Programmability Overview
APIs Primer
Python Foundation Overview
Lists, Tuples & Dictionaries
Control Sentences
Error Handling (Exceptions)

Module 7: Programming SDA and DNA Center

DNA Center Architecture Overview
DNA Controller
DNA Center Automation
DNA Center APIs
Building DNA Center Applications

Module 8: Cisco Catalyst 9K Introduction

Intent Based Networking
Cisco Catalyst 9K Features and Characteristics
Cisco Catalyst 9K IOS-XE
Catalyst 9K Platform Support
Linux Service Containers Introduction
Python Programmability Introduction
Zero-Touch Provisioning, iPXE, PnP
CLI – Legacy, Python CLI, Guest Shell

Module 9: Catalyst 9K and Cisco Application Framework

Cisco Application Framework / Virtual Service Infra (IOX)
Cisco Catalyst 9K Application Hosting
Application Hosting Value Proposition
Catalyst 9K Switching Application Ecosystem
Virtual Machines
Containers: General LXC (Linux Service Containers), GuestShell (pre-packaged LXC)
Other pre-packaged LXCs, ie PerfSonar
Python Programmability in Depth
Python API
Zero Touch Provisioning (ZTP) and Plug ’n Play

Module 10: Catalyst 9K EEM Python Module

EEM Overview
Python Scripting in EEM
EEM Python Package
Python-Supported EEM Actions
EEM CLI Library Command Extensions

Module 11: Data Models & Model Driven Programmability

Why Models are Important
YANG data models: Native models, IETF models, OpenConfig models
Data Encoding: XML, JSON
YANG Tools: YANG Explorer, YANG Catalog, Pyang
NetConf: History, Protocol layers, Operations, Messages, Using NetConf
RESTConf: History, Protocol layers, Operations, Messages, Using RestConf
Telemetry Introduction

Module 12: Model Driven Telemetry

Yang Data Streaming
Telemetry History
Collectors & Renderers
ELK: Elastic Search, Logstash, Kibana
TIG: Telegraph, Influx, Grafana
Quick Start with Docker
Publication Types
Telemetry Subscriptions
IOS-XE 16.x and 17.x Yang Model Support
Yang Model Metadata
CLI and XML Configuration Examples

Module 13: 3rd Party Integrations


Lab Outline:

Lab 1: Intro DNA Center
Lab 2: DNA Assurance
Lab 3: DNA Center API Discovery
Lab 4: Setup Machine for Development
Lab 5: Python Overview
Lab 6: Programming Cisco DNA Center
Lab 7: Managing the Guest Shell
Lab 8: Running Python Scripts as Part of EEM Applet Actions
Lab 10: YANG Data Modeling & YANG Explorer, YANG Catalog and pYANG
Lab 11: Catalyst 9K - Application Hosting
Lab 12: Programming Telemetry
Lab 13: Integrating DNAC with ServiceNow
Lab 14: Integrating DNAC with Splunk

Other relevant courses

12. September
2 days
Classroom Virtual
27. June
5 days
Classroom Virtual On Demand
30. May
5 days
Classroom Virtual On Demand Guaranteed to run