Duration: 3 Days

Prerequisites: Python for Network EngineersAnsible for Network Engineers – Beginners Course


Course Learning Objectives:

Understand how to create re-usable Ansible code with Roles

Understand key parts of writing custom modules

Understanding of advanced variable use and templating

What is Ansible tower/AWX?

Real world advanced examples



Recap of Basic Concepts

Briefly revisit the key concepts of the Ansible for Network Engineers – Beginners Course as a refresher


They see me Role-ing!

What are roles and what have they ever done for me?

How to create a skeleton config for a new role

Key parts of a roles structure including;

  •                 Default variables

  •                 Running Tasks

  •                 What to do when the role goes wrong

  •                 Dependency management

  •                 Magic structure

Running roles from a playbook with examples


Pimp my Ansible – with Custom Modules

What are custom modules?

Exploring custom module boilerplate and using the code generator

Error handling – the most important concept of custom modules

Configuring Ansible to use custom modules

Writing a custom module

Running your custom module


Advanced Variables and Templating

Explore advanced capabilities of jinja2 variables

Using advanced capabilities in Ansible variables

Using advanced capabilities in Ansible Templates


Ansible Tower/AWX

What is tower?

Installing Tower

Key usage aspects vs just command line

  •                 Security

  •                 Scheduling Jobs

  •                 Job output history

  •                 Workflows


Complex Network Configuration and Management Examples

Advanced modules – REST, ACI, Custom Modules

Cisco ACI example

Arista Example