Introduction
Cisco Programmable Fabric

About this Lab!

It has been some time now since the concept of Software Defined Networks (SDN) has entered the networking industry and marketplace. The fundamental principle of SDN is to interact with networks programmatically to deploy, control, change, and manage network devices using open interfaces. Over time, the tools for this programmatic interaction have evolved into controllers and DevOps tools that have introduced a mindset shift in the industry to representing network infrastructure as code. Two common terms for this are Infrastructure as Code (IaC) and Network as Code (NaC). The mindset change brings the managing and provisioning of infrastructure through software development practices and code instead of performing these tasks manually.




In this lab, you assume the role of a network automation engineer. You will explore various automation and programmability tools that can be used to build and deploy a VXLAN EVPN fabric. You will develop Python scripts, and Ansible playbooks to deploy and verify a VXLAN EVPN fabric using Cisco Nexus Dashboard. Cisco ND is the comprehensive management and automation solution for all Cisco Nexus and Cisco Multilayer Distributed Switching (MDS) platforms powered by Cisco NX-OS. ND provides management, automation, control, monitoring, and integration for deployments spanning LAN, SAN, and IP Fabric for Media (IPFM) fabrics. ND facilitates seamless interconnectivity, automation, and management for hybrid-cloud environments.







Using Infrastructure as Code (IaC) principles you will be developing and testing against a staging fabric before deploying changes to your production (prod) fabric. This allows you to test in a safe environment before pushing the changes to production.











The lab environment makes use of the Nexus 9000v in Cisco Modeling Labs (CML) to provide each student with a staging fabric and prod fabric consisting of three-nodes; a Spine and two Leaf switches. CML and the N9Kv were developed to enable learning and testing various topologies and programmable interfaces. N9Kv can be deployed in VMWare, KVM, and Vagrant.


The lab will guide you through the following:

  • Dev Setup: You will start by setting up your development environment for future sections of the lab. You can take the concepts from this section and apply them in your own environment after Cisco Live.
  • VXLAN as Code: You will build out an VXLAN EVPN fabric using VXLAN as Code that brings together full IaC principles and a data model-driven abstraction layer as a simplified way at describing network configuration. This will introduce you to the VXLAN as Code Ansible collection that is built upon the NDFC collection.
  • NetDevOps: Now you are ready to write test automation using Ansible. This configuration and test automation will be integrated into a NetDevOps Continuous Integration, Continuous Delivery (CI/CD) pipeline to perform a network change by testing it against your staging fabric you have been developing against, and pending that passes in the pipeline, will allow you to trigger the deployment and tests to your prod fabric.

The lab from a high level has the following sections:

  • Introduction
  • Dev Setup
  • Nexus Dashboard
  • VXLAN as Code
  • NetDevOps
  • Bonus: Update Overlay

Please continue to setup your development environment!