Housley ACI Programmability Workshop (ACI-PROG)
-
Overview
Description, Pre requisites -
Content
Lessons, Course Structure
Introduction
With an increase in complexity and a reduced time to deploy, new techniques are required to provision data centre infrastructure.
Built on advanced virtualisation, ACI provides a platform for deploying next generation DC networks.
ACI uses a comprehensive data model, called the Management Information Tree (MIT) that provides structured access to all ACI policies and configurable data points. This MIT is accessed via an Application Programmable Interface (API) which is accessed either by the built-in GUI or any other application/program that needs to customise the user experience.
This new approach is resulting in a redefinition of the network administrators role and how the network integrates into and augments the business Application environment.
This class is aimed at providing insight into the ACI MIT and how the API is accessed. Various tools such as Visore, Postman, Python and Cobra are discussed to allow configuration of the ACI environment.
Thorough the use of these tools, organisation can rapidly deploy the network in a repeatable and intelligent programmatically way. This can be used from initial installation through to ongoing operations and support tasks.
Workshop Objectives:
During this class, the students will be able to:
• Review the ACI GUI deployment process
• Detail the APIC Data Model and Management Information Tree(MIT)
• Detail the ACI API, JSON and XML
• Introduce Python programming language
• Introduce Cobra Python Library
• Introduce the ACI Toolkit
• Overview deployment tools such as UCS Director, Ansible, Puppet and Chef
Target Audience
- System engineers looking to streamline ACI deployments
• Network engineers planning to extend their knowledge in automation technique
• Support engineer
• Developers writing code to support ACI centric infrastructures
Suggested Pre-requisites
The knowledge and skills that a student must have before attending this workshop are as follows:
• Attendees have an good understanding of ACI concepts
• Basic understanding of programming languages and logic
• Interest in learning Network Programming
Duration
3 days
Workshop Content
Module 1: ACI Review
• Lesson 1: SDN and DevOps
• Lesson 2: ACI Key Concepts
• Lesson 3: ACI Hardware Overview
• Lesson 4: ACI Policy Review
• Lesson 5: ACI Policy Enforcement
Module 2: ACI Model
• Lesson 1: Objects, Attributes and Relationships
• Lesson 2: ACI Model and MIT
• Lesson 3: Embedded Docs Overview
• Lesson 4: CLI
• Lesson 5: Visore
Module 3: ACI API
• Lesson 1: ACI REST API Overview
• Lesson 2: REST API Payload formats. XML and JSON Overview
• Lesson 3: API Object Viewing
• Lesson 4: Postman and Direct API calls
Module 4: Python
• Lesson 1: Python Overview
• Lesson 2: Python Operation
• Lesson 3: Python Strings and Numbers
• Lesson 4: Python Containers
• Lesson 5: Python Functions
• Lesson 6: Python Logic and Flow – Keywords
• Lesson 7: Python IO
• Lesson 8: Python Modules
• Lesson 9: Python Classes
Module 5: ACI Cobra
• Lesson 1: Python and ACI API
• Lesson 2: Cobra Overview
• Lesson 3: ACI Cobra Structure and Modules
• Lesson 4: ACI Model
• Lesson 5: ACI SDK
• Lesson 6: Cobra Example
• Lesson 7: Arya
Module 6: ACI Toolkit – optional module
• Lesson 1: ACI Toolkit Installation
• Lesson 2: Toolkit Programming
• Lesson 3: ACI Toolkit Applications
Module 7: DevOps and Deployment tools
• Lesson 1: Overview of ACI Deployment and DEVOPS tools
Labs
Lab 1: ACI Configuration Refresher
Lab 2: ACI Object Model
Lab 3: ACI API
Lab 4: Python
Lab 5: Cobra
Lab 6: ACI Toolkit (optional lab)