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!
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 email@example.com for details|
|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
|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
|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!
|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
|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
|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!)