Avatar

Overview

In this episode of our ongoing DNA Center Automation Series, our focus moves to Rest-APIs and using postman to automate the network. We will change our focus from templating to automation through Postman, a great tool to examine RESTful APIs in a single user interface. This is a Self-Paced Standalone Lab, where we will build upon the foundational knowledge acquired in the previous labs. For this lab, we will concentrate on DNA Center configuration and how DNA Center can be automated to perform various functions we have already covered. The lab is intended to help drive the adoption of Rest-API and includes multiple use cases to solve common orchestration needs when using DNA Center.

Within this series, we cover the following;

  1. PnP Preparation – explains the overall Plug and Play set up steps
  2. Onboarding Templates – explains in-depth how to deploy Day 0 templates
  3. Day N Templates – dives into Day N template constructs with both regular and composite templates and use cases
  4. Application Policys – explores Application Policys and SD-AVC in DNAC and their use
  5. Telemetry – explains how to deploy Telemetry for assurance
  6. Advanced Automation – explores Advanced Automation techniques
  7. Dynamic Automation – a deployment lab for dynamic automation

DNA Center Rest-API Collections

Additionally, we have provided a Postman Public Workspace where all the Rest-API Collections are included so that engineers can rapidly access and set up their environments. “Sometimes seeing is believing.” We hope these new tools help explain how to best use the Rest-APIs and augment the information from developer.cisco.com.

In this lab, we will continually add more use cases to answer specific orchestration needs, but always in Postman, where they may be analyzed and viewed in operation for inclusion in whatever automation or orchestration system requires them. In upcoming modules, we will also delve into published and unpublished Rest-API and how to discover and work with those to accomplish your orchestration needs.

Within this lab modules, we cover the following utilizing collections for orchestration with the aid of a comma-separated values (CSV) file;

  1. Postman Orientation – orientates you to Postman and helps prepare the tools
  2. Building Hierarchy – the orchestration of building hierarchy
  3. Assign Settings and Credentials – assigning settings and credentials
  4. Device Discovery – orchestrating device discovery
  5. Template Deployment – automating template deployment
  6. Configuration Archive – automating configuration archiving
  7. Retrieving Network Inventory – collecting a network inventory
  8. Running Show Commands – collecting show command results

Unlike most previous Labs in the series, this lab is self-contained and has no dependencies on any previous labs. While you can add concepts from Labs 5 and 6 to this lab, it is designed to have no pre-configuration. It utilizes various automation techniques to show the complete art of the possible from Software-Defined Networking.

What will I learn in the Rest-API Orchestration Lab?

This is an enablement-type lab, allowing engineers and architects to reach beyond what they currently understand by trying new concepts and pushing the boundaries of automation and orchestration. We will cover various topics about Rest-API logic to solve multiple use cases during this lab. We cover some previous concepts with an in-depth focus on broadening their capabilities through the art of doing and examining.

The concept of this lab is for you to build the environment from the ground up, from Design to Discovery to Template Deployment. The use of dCloud or the DevNet Sandbox allows a safe place for you to try, modify, and get used to the various concepts and approaches.

Approach

The Lab is built for minimal intervention using things like Rest-API run via Postman within a collection runner to quickly configure DNA Center. This allows us to deploy Settings, Credentials, Discover Devices, Build Sites, Buildings, Floors, and assign the devices to those sites. These are powerful examples of what we can do, and they demonstrate how quickly we can get DNA Center up and running utilizing Rest-API using just one tool.

But wait, there is more…

We provisioned a comma-separated value (CSV) file for use with the Postman collections to make it easy to build the design and deploy templates where necessary.

CSV
Figure 1. CSV File

You can easily add the Public Workspace to Postman via the following link. This will allow you to rapidly start using the Rest-API suite created for this lab. Click the following link and log into your Postman account, and the workspace, including the collections and the environment, will be automatically added. (see image below)

Public DNA Center Use-Case API Collection

Postman Public Workspace
Figure 2. Postman Public Workspace

We keep Postman Public Workspace up to date with the lab so that the lab helps document the collection, and the collections help drive the lab.  Within the Workspace are currently several collections and an environment.

Use Cases

We will cover various topics in several use cases based on lab modules to show the capability and flexibility of the Rest-APIs with DNA Center.

The various topics/use-cases we will touch on and deploy within the lab consist of the following:

  1. Using Rest-API to configure DNA Center Design and Settings using a CSV file
  2. Automation of assigning Credentials across the network
  3. Orchestrating Discovery to onboard network devices
  4. Automating the Provisioning of Regular and Composite Templates to Devices
  5. Retrieving Device Inventory information
  6. Orchestration of Configuration Archives
  7. Retrieving Show Command results from DNA Centers Command Runner

With that, the lab utilizes these topics…

We will gain a practical understanding of the steps associated with utilizing Rest-API while setting up a DNA Center and an environment to support complex, advanced, regular templates to deliver device configuration during these labs. The labs aim to aid engineers in rapidly beginning to use DNA Center automation and help them work towards a global template strategy. Additionally, these labs will give customers a permanent place to try out the regular and composite templates and include configurations for various use cases. Finally, this environment will enable engineers to reduce the time and effort needed to instantiate the network.

Starting…

Within dCLOUD, several sandbox-type labs are available. These self-contained environments are there to allow you to use them as you please within the time scheduled. In addition, this allows us a place to start practicing various concepts without fear of impacting production environments.

As a result, we hope to demystify some of the complexities of setting up automation and help guide customers through the caveats. Therefore, to aid customers in the transition toward automation, we have put together a set of small helpful labs within a Github repository. This way, these self-guided labs provide a glimpse into the fundamentals of building velocity templates and offer examples you can download and expand from. In addition, the sample templates and JSON files supplied are for easy import into DNA Centers’ template editor for quicker adoption. Lastly, some scripts are ready-made excerpts of code that allow you to build the environment to test.

In this practical lab, Rest-API Orchestration, we step by step delve into advanced automation methods and ways to utilize them to solve various use cases. Second, we provide answers and explanations to many of the questions that come up during automation workshops. We hope that you find the information both helpful and informative.

Where can I test and try these labs?

dCLOUD Lab Environment

To help customers succeed with Cisco DNA Center automation, you may utilize the above labs as they have been designed to work within dCLOUD’s Cisco Enterprise Networks Hardware Sandbox Labs. The dCLOUD labs allow you to run these labs and give an environment to try the various code samples. You may develop and export your code for use in production environments. Also, this gives you an environment where you can safely POC/POV methods and steps without harming your production environments. The dCLOUD environment also negates the need for shipping equipment, lead times, and licensing issues needed to move rapidly. Please adhere to the best practices for the dCLOUD environment when using it.

Lab Connectivity

The environment allows for a web-based browser client for VPN-less connectivity. Additionally, there is AnyConnect VPN client connectivity for those who prefer it. Choose the Cisco Enterprise Network Sandbox. Additionally, you may choose from our RTP Facilities labs by selecting US West. To access this or other content, demonstrations, and labs in dCLOUD, please directly work with your Cisco or Partner Account Team. Your Account teams will schedule the session and share it for you to use. Once booked, follow the guide within Github to complete the tasks adhering to the best practices of the dCLOUD environment.

Content

The Rest-API Orchestration lab content is located within the existing DNAC-TEMPLATES repository to give a one-stop shop for all the necessary tools, scripts, templates, and code samples. Within it are seven labs, which build upon the tutorials to test the methods in a lab environment. The repository was featured in a previous post on Cisco Blogs about DNA Center Templates earlier in May 2021.

Additional Information

DNAC Template LABS

Additional labs guide you through the typical steps required to enable the various automation tasks. This lab delves into the concepts of building and deploying advanced automation templates to deal with specific use cases. As a result, it also gives us access to suitable testing equipment within the LAB environment. Additionally, information within the lab provides a well-rounded explanation of Automation methods within Templates. Lastly, the lab enables customers ability to use DNA Center workflows. This lab gives an environment for customers to practice deploying advanced automation on both Wired and Wireless Platforms.

This lab’s goal is to be a practical aid for engineers developing a QoS automation strategy. Additionally, customers will gain a permanent place to try out the policies for various use cases. Finally, this environment will enable engineers to reduce the time and effort needed to instantiate the network.

Additional Labs

Please use this menu to navigate the various sections of this Github repository. Within the multiple folders are examples and explanation readme files for reference.

  • PnP Preparation – The lab covers setup for Plug and Play (allow 1.5 hrs)
  • Onboarding Templates – The lab covers in depth how to deploy Day 0 templates (allow 1.5 hrs)
  • Day N Templates – The lab covers Day N template constructs and use-cases (allow 0.5 hrs)
  • Composite Templates – This lab covers building a composite template on DNA Center (allow 0.5 hrs)
  • Application Policy – This lab covers Application Policy & SDAVC in DNAC (allow 1.0 hrs)
  • Telemetry – This lab explains how to deploy Telemetry for assurance (allow 0.5 hrs)
  • Advanced Automation – This lab will explore Advanced Automation examples (allow 1.5 hrs)
  • Dynamic Automation – This lab will use many Advanced Automation techniques discussed previously (allow 2.0 hrs)
  • Rest-API Orchestration – This lab uses Postman Collections to automate DNA Center (allow 2.0 hrs)

 

We will share additional labs and content in an ongoing effort to fulfill all your automation needs with DNA Center.

In conclusion, if you found this set of labs and repository helpful,

please fill in comments and feedback on how it could be improved.


We’d love to hear what you think. Ask a question or leave a comment below.
And stay connected with Cisco on social!

Check out our Cisco Networking video channel

Subscribe to the Networking Blog



Authors

Keith Baldwin

Solutions Engineer

Campus Automation CoE for Enterprise Networking