Skip to content

Controller Based Data Center Networking

Overview

This section of the exam topics focuses on working with Cisco ACI programmatically. It is essential to be familiar with ACI's building blocks, specifically the ACI Policy Object Model, to effectively construct and parse its API payloads.

Section 2.0 Topic Details
  • 2.1 Describe the following:
    • 2.1.a ACI target policy
    • 2.1.b ACI application hosting capabilities
    • 2.1.c Implementation of an ACI application from the Cisco ACI Apps Center
  • 2.2 Leverage the API inspector to explore the REST API calls made by the ACI GUI
  • 2.3 Construct a Python script to create an application policy using the ACI REST API
  • 2.4 Construct a Python script to create an application policy using the ACI Cobra SDK
  • 2.5 Construct an Ansible playbook to create an application policy
  • 2.6 Describe the benefits of integrating Kubernetes infrastructure using the ACI CNI plugin

Resources

Cisco DevNet

Learning Labs
  • ACI Programmability
    • Introduction to ACI Programmability Module - All Labs
    • Intermediate ACI Programmability Module - All Labs
    • Introduction to ACI and Ansible Module - All Labs

Videos on Demand

Pluralsight

Individual Courses

Cisco YouTube

Cisco Live
NetDevOps Live

Hands-On Learning

DevNet Sandbox Labs
Development Environment Resources

Attention

  • The links below require that the local JupyterLab server is active and listening on http://localhost:8888
    • The Visual Studio Code Development Environment automatically activates the JupyterLab server.

New to JupyterLab? Click Here for an Overview

Tip

  • You may also use Visual Studio Code to explore the same code samples and hands-on exercises. The resources folder within the Development Environment Container contains all of the source files.
Management Information Tree (MIT) Assembly Challenge

Documentation

ACI Fundamentals
ACI Programmability
ACI Kubernetes CNI Plugin Integration for Red Hat OpenShift

Insights

  • We spent plenty of time watching the videos and reading the documentation in this guide, although we spent most of our time going through the hands-on learning exercises over, and over, and over again. The practice made a big difference in our ability to retain so many details. Forcing ourselves to type our way through the JupyterLab exercises was really hard and was also our best teacher.

  • The Cisco DevNet learning labs for ACI were a great starting point for us and set the tone for the things we needed to learn and practice. Following those up with the Jupyter and MIT exercises was very beneficial.

  • The star resource to practice just about any skills related to ACI is the DevNet Always-On ACI Sandbox. This is a publicly accessible (no-VPN required), reservation-less, read/write, read/write ACI simulator, and we used it excessively. All of the code samples, Jupyter Notebooks, and Ansible Playbooks bundled in this repository use this sandbox.

Caution

- From time to time, the **[DevNet Always-On ACI Sandbox](https://sandboxapicdc.cisco.com "DevNet Always-On ACI Sandbox"){target=_blank}** can be a bit slow or fail to respond to your API call, browser session, etc.  Generally, after a minute or two, we found the sandbox would recover from these situations.

tips

  • Spend plenty of time working with ACI both programmatically and in the APIC GUI.
  • The ACI visore tool provides a great way to understand relationships between ACI objects in the MIT.
  • The ACI API Inspector vastly simplifies the process to construct REST payloads for ACI. We recommend that you spend plenty of time observing how you can use APIC GUI interactions, via the API Inspector, to build REST payloads within Python.

On to Section 3.0

👍 Great job getting through ACI! Let's keep going, click this link to check out Section 3.0 exam topics and resources.