Building Network Automation Solutions - January 2017 session

Home » Webinars » Building Network Automation Solutions - January 2017 session


1:42:54 Introduction

The introductory section of the January 2017 course covered the logistics, how to get started challenges, and lab questions.

Course Introduction 18:32 2017-01-13

Short course introduction. You might want to skip this if you’re attending a live version of this course - we’ll cover it again in the first live session.

Getting Started 48:21 2017-01-13

In this video you’ll find a few tips that will help you get started with your first network automation project, set the right expectations.

Lab Questions 16:58 2017-01-13

We also covered numerous lab-related questions in the first live session. Most of these discussions have been distilled into lab setup documents, but you might still find them useful.

19:03 How did others get started?

Journey to Open Source World 19:03 2017-01-20

A short interview with Scott Lowe describing his journey into the open-source world.

Additional resources

Slide deck for the Getting Started section 5.8M 2017-08-10

1:40:50 Network Automation Systems Design

This section focuses on larger systems and components you need to build them. You might think you don’t need it, but you’ll find it very handy when trying to move from small spot fixes that address the most-immediate pains to bigger solutions.
Design Your Systems 3.1M 2017-01-11
Design Your Network Automation Systems 100:50 2017-01-13

1:40:40 Git and GitHub

Git is the source-control tool of choice not only for most open source project, but also for extremely large teams like Facebook or Microsoft Windows development team. It seems a bit convoluted when you start, but you’ll quickly discover its benefits in this Getting started with Git tutorial by Scott Lowe.

If you’re familiar with another version control tool, or want to learn more about Git, I’d highly recommend reading the Pro Git book. I would also suggest you invest more time in understanding Git concepts than trying to remember a few quick recipes and move on.

Using Git and GitHub 545K 2017-01-17
Git and GitHub 100:40 2017-01-20

Hands-on exercises

Practice Your Git 205K 2017-08-14

Git books and other online courses

Pro Git book
Git in 15 minutes
GitHub on-demand training

Git branching strategies

Gitflow (a commonly used branching approach)
Git branching guidance (
Comparing Git workflows (
Git Feature Branch Workflow (

Using Git

Using Git branches in NetDevOps (Leslie Carr, RIPE 71)
GitOps: A Path to More Self-service IT (Tom Limoncelli, ACM Queue)
How to find stuff in Git

1:05:04 Creating Summary and Compliance Reports

In the second session of the January 2017 course we explored various ways of creating summary- and compliance reports with Ansible. After watching the videos describing the underlying principles and numerous examples you’ll be ready to solve the Easy Wins hands-on exercises.

Creating Reports 46:45 2017-01-20
Compliance Checks 18:19 2017-01-20

Additional resources

Slide deck 4.1M 2017-01-20
Sample summary report playbooks
Sample compliance checks playbooks
Create list of fabric links based on interface descriptions
Create network topology diagram from LLDP neighbors

1:19:59 NETCONF, YANG and OpenConfig

The guest presentation by Marcel Wiget (Juniper) describes YANG data models, briefly introduces NETCONF, and shows how you can use OpenConfig or your custom data model (described in YANG) to configure Junos devices.
Vendor-Neutral YANG Data Models 1.8M 2017-01-20
Introduction to NETCONF and YANG 26:27 2017-01-27
OpenConfig and Custom YANG Data Models 14:24 2017-01-27
Using YANG Data Models on Junos 39:08 2017-01-27

1:29:43 Data Models and Data Stores

What is YANG? Why is it useful? Where can I store my data? When should I start using a database instead of text files? What about Excel spreadsheets? What’s the difference between relational and NoSQL databases? You’ll get answers to all these questions in this section.

You’ll also learn how to build a data model describing your network and how you can transform a network- or services-focused data model into a device-focused data model (and when that would be useful).

Data Models and Data Stores 2.2M 2017-01-27
Data Models - Introduction 12:53 2017-01-27
Building a Data Model 30:06 2017-01-27
Data Model Transformations 14:12 2017-01-27
Data Description Languages 9:47 2017-01-27
Data Stores 22:45 2017-01-27

1:25:20 Network Automation Tutorial

In this tutorial David Barroso explains the basics of network device configurations based on abstracted data models, including data derived from a back-end database.
Abstract Vendor Interfaces 16:16 2017-02-05
Abstract Vendor Configuration 11:47 2017-02-05
Data-Driven Configuration 14:04 2017-02-05
Data-Driven Configuration with Backend 29:13 2017-02-05
Data Model Abstractions 14:00 2017-02-05

Additional resources

Slide deck 8.6M 2017-01-29
Source code for David Barroso’s presentation

1:09:28 Case Study: VLAN Service Provisioning

The VLAN Service Provisioning case study starts with simple configuration changes based on service data model, and slowly introduces more complex topics like data model transformation, service decomissioning, and post-deployment validation.

Provision New Services 19:37 2017-02-05
Simplify the Data Model 12:40 2017-02-05
Decomissioning, Validation and Cleanup 17:32 2017-02-05
Further Steps 19:39 2017-02-05

Additional resources

Slide deck 4.7M 2017-02-05
Source code

56:15 Continuous Integration in Networking

In his Network Continuous Integration presentation Pete Lumbis explained the basics of Continuous Integration and Continuous Delivery (CI/CD) concepts and demonstrated how you can use GitLab and virtual labs to test network device configurations prior to production deployment.

Network CI-CD 2.5M 2017-02-07
Change Management Today and Tomorrow 9:05 2017-02-08
Continuous Integration with GitLab 24:40 2017-02-08
NetDevOps Toolbox 22:30 2017-02-08

56:11 Validation, Error Handling and Unit Tests

In this section you’ll learn how to:

  • Write fail-safe playbooks
  • Recover from Ansible module failures and report them
  • Use Ansible logging and debugging tools
  • Debug individual components of your Ansible playbooks (tasks, plays or modules/plugins)
  • Build and automate unit tests
  • Validate input data and device state
Debugging, Testing and Input Data Validation 2.9M 2017-02-07
Writing Fail-Safe Playbooks 15:25 2017-02-08
Debugging, Logging and Testing 23:23 2017-02-08
Input Data Validation 17:23 2017-02-08

1:51:16 Network Automation @ Facebook

Ryan Heffernan and Mat Wood described how Facebook uses network automation concepts in their enterprise network.
Managed Configs - A Phased Approach 2.2M 2017-02-14
Managed Configurations 60:43 2017-02-15
Innovation.txt 50:33 2017-02-15

48:03 Beyond Ansible

The final presentation in the January 2017 course focused on Ansible extensions (plugins, modules, callbacks) and integration with external databases, and concluded with the final part of the VLAN case study: integration with a transactional databases system.
Beyond Ansible 2.5M 2017-02-10
Beyond Ansible 48:03 2017-02-15
You started this section on %started% Mark completed