Webinar Management System

Building Network Automation Solutions - September 2017 session

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


25:02 Introduction

The introductory section of the September 2017 course covered the logistics, selecting the best tool for the job and discussion questions.

Course Introduction Q3 2017 13:37 2017-09-19
Discussion Questions 11:25 2017-09-19

1:21:33 Network Automation Journey

Patrick Ogenstad described his network automation journey, from writing firewall rules in Excel to deploying large-scale network automation solutions. As he progressed through the problems he solved on this journey, he also identified the lessons learned, pitfalls and takeaways.

Automating Firewall Rules 13:03 2017-09-19
Scaling to 100 Routers 15:50 2017-09-19
Undead Routers 11:26 2017-09-19
Idempotency and Dry Runs 16:03 2017-09-19
Data Is Key 9:51 2017-09-19
Heroes, Conclusions and Answers 15:20 2017-09-19
Slide deck 719K 2017-09-14

1:15:43 Selecting the Right Tool for the Job

Once you've mastered a tool, it's tempting to use it for every job no matter how suitable it is. Alternatively, there are so many tools out there that it's really hard to select the best one… and then there's the usual dilemma of choosing between open-source and commercial offerings. This section will help you get started - it describes typical challenges, differences between fixed-purpose products, platforms and tools, and gives you some selection guidelines. It also includes a few hints on how to study new tools more effectively.

Selecting the Right Tool for the Job 54:49 2017-09-19
Learning How To Use New Tools 20:54 2017-11-08

Reference material

Getting Started slide deck 5.0M 2017-09-15
Learning How to Use New Tools slide deck 1.8M 2017-11-08
Think Python (How to Think like a Computer Scientist)

Even though the book focuses on Python, and you might not want to learn it right now, you'll probably find its discussion of debugging and development plans pretty useful.

49:53 Compare Network State after a Change

One of the simple solutions that can increase the reliability of your network is comparing the network state before and after a change.

This case study describes:

  • How you could collect and compare network state
  • How to collect network state with Ansible and compare it with diff
  • How to remove time-dependent information from the network state
Defining the Problem and Selecting the Tools 14:34 2017-09-28
Quick and Dirty Solution 9:28 2017-09-28
Removing Time-Dependent Information 10:33 2017-09-28
Improvements and Answers to Questions 15:18 2017-09-28
Slide deck 5.9M 2017-09-25
Source code (Ansible playbooks and test script)

1:28:31 Troubleshooting Networks with NetQ

NetQ is a tool developed by Cumulus Networks that allow you to validate proper operation of your network (BGP and OSPF adjacencies, LLDP neighbors...), log network state changes, inspect network state at any time in the past, and perform end-to-end path tracing including overlay-to-underlay mapping.

State of Data Center Troubleshooting 16:07 2017-09-28
Introducing NetQ 21:46 2017-09-28
Troubleshooting Networks with NetQ 32:13 2017-09-28
Customizing and Extending NetQ 18:25 2017-09-28
Slide deck 25M 2017-09-26
NetQ test lab (Cumulus-in-the-Cloud)

58:07 Using YANG Data Models on Traditional Network Devices with napalm-yang

While configuring network devices with OpenConfig sounds really interesting, don't expect to be able to do it any time soon - the vendors are (as usual) very reluctant to add yet another layer of indirection on top of their already-bloated software.

David Barroso decided to fix that problem within NAPALM, and wrote a set of libraries (napalm-yang) that perform translation between OpenConfig (or any other) YANG data model and device configurations.

What Are YANG and OpenConfig 15:32 2017-10-13
napalm-yang Basics 10:29 2017-10-13
Advanced napalm-yang Features 10:01 2017-10-13
napalm-yang Integration with Ansible 22:05 2017-10-13
Slide deck: OpenConfig with NAPALM 2.7M 2017-10-09

39:58 Intent-Based Networking and Data Models

Most of the intent-based systems are nothing more than a fancy orchestration system with an abstraction layer. This section describes the many levels of abstraction you can implement in such a system, and the data models you would need to do it.

Data Models in Intent-Based Networking 39:58 2017-10-13
Slide Deck: Intent-Driven Networking and Data Models 2.7M 2017-10-05

34:02 Transforming Data Models with Ansible

Orchestration systems with an abstraction layer usually use network- and services data models to describe the desired system functionality, and device (or node) data models to describe the target state of the system.

In every such system, someone has to perform the mapping between the high-level and low-level data models, and this section describes how you can do that with Ansible.

Transforming Data Models with Ansible 17:28 2017-10-13
Data Models - Discussion Questions 16:34 2017-10-13
Slide Deck: Transforming Data Models with Ansible 2.3M 2017-10-20

1:30:47 Using IPAM as a Source of Truth

Every network automation solution needs an authoritative source of truth. This section describes how you can use IPAM tools (using NetBox as a sample tool to illustrate the concepts) to provide the source of truth for IP address assignments, IP subnet allocation, VLAN numbering, and even shared secrets like RADIUS keys.

What Is IPAM? 24:00 2017-10-25
IPAM as a Source of Truth 17:46 2017-10-25
NetBox Introduction 15:03 2017-10-25
Data Import and Export 14:04 2017-10-25
Enabling Automation 19:54 2017-10-25
NetBox Slide Deck 1.2M 2017-10-24

1:03:59 Configuring Network Devices: Lessons Learned

Using Ansible device configuration modules to change parts of device configuration seems easy enough (as does replacing the whole device configuration with NAPALM)... but as always, you'll encounter numerous showstoppers and caveats when trying to use them.

This section describes the principles of managing network device configurations, the caveats of using Ansible device configuration modules, and the details of recovering from failures using configuration rollback mechanisms.

Configuring Network Devices - Lessons Learned 16:03 2017-10-25
Small or Large Batches of Configuration Changes? 8:02 2017-10-25
Ansible Configuration Modules Behind the Scenes 26:28 2017-10-25
QA - Configuration Rollback 13:26 2017-10-25
Slide deck 2.0M 2017-10-23

1:10:17 Continuous Integration with GitLab

GitLab CI is one of the commonly-used networking-focused continuous integration tools due to its agent-based architecture.

In this section Pete Lumbis explained how he uses GitLab CI to test his network automation scripts and device configurations.

Continuous Integration Concepts 24:03 2017-11-08
GitLab CI 22:36 2017-11-08
GitLab Demo 23:38 2017-11-08
Slide deck 837K 2017-11-04

9:27 Q&A: Validation and Testing

The discussion questions for Module#5 included limiting automation user access to network devices and the moment at which you should start adding compliance checks and validations to your network automation solution.

Discussion Questions 9:27 2017-11-08

1:23:02 Network Automation @ UBS

UBS AG started using network automation to speed up the data center deployment process. The project was a huge success and resulted in UBS embracing automation in campus, WAN and remote office network deployments.

In this section Thomas Wacker described the UBS automation journey and how far they got in 2017.

Networking Challenges at UBS 25:08 2017-11-22
Build Automation 25:31 2017-11-22
Automating Tests and Operations 26:37 2017-11-22
Conclusions 5:46 2017-11-22

20:30 Success Stories: Ansible Tower

Joe Hlasnik described how his company uses network automation to provision and decomission network services, the benefits of Ansible Tower, and the user interface they developed for their operators.

Using Ansible Tower and Web Front-End 20:30 2017-11-22

34:58 The Bigger Picture

The Bigger Picture 14:03 2017-11-23
Using JSON Callback 20:55 2017-11-23
Slide Deck 2.9M 2017-11-21
You started this section on %started%