2-Day Driving your Datacenter with Python and ACI


Offering Formats

This course is offered in the following formats:

  • Live, Instructor-Led Training (schedule)

Course Overview

This course is designed to take you from zero Python experience to deploying your very own tenant in ACI in the span of two days. We’ll cover enough of the basics of Python to give you a working understanding of the language – including strings and string formatting, comparison and arithmetic operators, lists and dictionaries, and even for and while loops. Once you’re up to speed on the basics of Python we’ll introduce you to the requests module – the module that makes this class possible! You’ll gather data from a public API all with your very own script. Next you’ll take a deeper dive into APIs (in particular the API of ACI), what is an API, how does it work, and how you can learn about and discover more about ACI’s API yourself. You’ll then start manipulating JSON or XML data to craft your very own objects (tenants, VRFs, Bridge Domains, etc.), which you will use to deploy to the fabric. Once you’re comfortable with ACI’s API and the structure of it’s objects, we will walk you through a lab to deploy a Bridge Domain – entirely with Python. Finally, once you’ve been equipped with all the tools you’ll need, you’ll have time to begin crafting your “Capstone Script” to deploy an entire tenant, complete with VRFs, Bridge Domains, EPGs, and even contracts if you’re up to!

Live Instructor Led Training Schedule

Minimum class size is required for course to be held. Final determination will be made 2 weeks prior to scheduled class. In the event of class cancelation all registered learners will receive email notification of the cancelation and refund of all charges. Refund is limited to only the course registration fees. Lumos is not liable for any other costs that may have been incurred, including, but, not limited to transportation, lodging, VISAs.

US Dates and Locations Running Price Registration


International Dates and Locations Running Price Registration
TBD, please contact registration@lumoscloud.com for details

Course Agenda

Day 1
09:00 – 09:15 Intro
Instructor and student introductions, overview of the class, and any required logistics (restrooms, RFID badges, etc.)
09:30 – 10:00 Introduction to Python
Introduce Python as a language, discuss Python 2 vs Python3 as it pertains to programmable networks, understand where to get Python (if you don’t already have it!), and introduce the Python Interpreter.
10:00 – 10:30 Python Basics
Learn about Variables, Arithmetic and Assignment Operators
10:30 – 10:45 Lab
“Hello (west)World!”, and introduction to variables
10:45 – 11:00 Break
11:00 – 11:15 Lab
Numbers, Strings, and Lists - Oh My! + Dictionaries
11:15 – 11:30 Lab
Dictionaries
11:30 – 12:00 LUNCH
12:00 – 12:30 Conditionals and Loops
Talk about what a conditional is, and the various types of loops you will encounter in Python
12:30 – 12:45 Lab
Conditionals, Looping and Repetition — put into practice what you’ve learnt about conditional and comparative operators as well as “if”, “for”, and “while” loops!
12:45 – 01:15 Input and Output
Learn how you can gather input from users, as well as how and where you can output that data
01:15 – 01:30 Lab
Write your first “full” (not in the interpreter) Python script to handle user input and output information to a file
01:30 – 01:45 Break
01:45 – 02:15 Exception Handling
All code has bugs or runs into issues, learn how we can “handle” those issues as they arise in our Python scripts
02:15 – 02:30 Lab
Exception Handling
02:30 – 03:00 JSON
Understand the basics of the JSON file format, and why it is so useful. This will be critical when we start interacting with our APIs
03:00 – 03:15 Lab
JSON
03:15 – 03:30 Break
03:30 – 04:00 Requests
Learn about the silver bullet that makes Python so incredibly powerful at interacting with HTTP APIs.
04:00 – 05:00 Lab
Make an API call to a public API with Python!
Day 2
09:00 – 09:45 ACI Basics
Learn about the basic objects and structures you’ll need to know about in order to get started programming against ACI. You’ll also get introduced to a handy tool called Postman!
09:45 – 10:15 Lab
Querying ACI
10:15 – 10:30 Break
10:30 – 11:00 ACI Tools
Discuss some other tools available for interacting with ACI in a programatic fashion, including the “Save” and “Post” magic buttons!
11:00 – 12:00 Lab
APIC GUI Save and Post
12:00 – 12:30 LUNCH
12:30 – 01:00 Lab
Deploying with Postman
01:00 – 01:30 Lab
Advanced Postman Functionality
01:30 – 02:30 Lab
Query and Deploy with Python
02:30 – 03:00 What to automate?
Discuss what to do with your new found powers? What are people in the field automating, what can you automate to make your life easier?
03:00 – 04:30 Lab
Capstone” Project
04:30 – 05:00 Review
Review the example “Capstone” script to make sure it is thoroughly understood!
Demo (if desired/time permits)
Demo two custom built tools for ACI (built by Lumos and open source on Github!)