Building Network Automation Solutions

Home » Webinars » Building Network Automation Solutions » Changing Network Configurations or State

Build your own network automation solution during this 6-week high-intensity interactive online course.

Changing Network Configurations or State

In the fourth module we'll use infrastructure- and services data models developed in the third module to provision and validate network services.

Understanding Ansible

You should have completed the Ansible for Networking Engineers course by now. If you haven't done that, please do it now, and make sure you're thoroughly familiar with these sections:

  • Jinja2 (including DMPVN case study)
  • Ansible Networking Modules - Managing configurations
  • Using NAPALM with Ansible

1:25:20 Network Service Provisioning 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: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: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

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

Sample Ansible Playbooks

Before you start working on solving the hands-on exercise for this module you might want to spend some time exploring some of my infrastructure and service provisioning Ansible playbooks.

Deploy a network infrastructure running OSPF as the routing protocol
Deploy inter-AS MPLS/VPN infrastructure and customer services
Deploy VLAN service in a data center fabric
Deploy large-scale DMVPN network
Create DHCP pools on Cisco IOS devices

Hands-on Exercises

We got to the point where you'll build a full-blown solution using the data model you developed. Use it to generate device configurations, deploy them to your lab devices, and validate that the services have been correctly deployed.

Homework: deploy network infrastructure or network services from a data model
Submit your homework

Additional Resources

2:30:50 Event-Driven Network Automation with Salt

In February 2018, Mircea Ulinic described Salt, a highly-scalable automation tool used in very large environments like LinkedIn and CloudFlare.

His presentation covered:

  • Salt architecture, terminology, configuration and operations
  • Network automation (including configuration and state management)
  • Event-driven automation.

1:05:37 Introduction to Salt

Network Automation Prerequisites 10:17 2018-02-28
Introduction to Salt 19:48 2018-02-28
Nomenclature and Configuration 20:00 2018-02-28
Using Salt 15:32 2018-02-28

1:13:08 Network Automation with Salt

Network Device Configuration Management 23:50 2018-02-28
Managing Device State 24:43 2018-02-28
Event-Driven Automation 24:35 2018-02-28

12:05 Additional Resources

Introduction to Salt Advanced Topics 12:05 2018-02-28
Slide Deck 2.3M 2018-02-28

Optional Self-Study Materials

If you want to know more about NAPALM, the multi-vendor library heavily used in this part of the course, watch the NAPALM presentation from NANOG64 and listen to several podcasts we did with David Barroso and Elisa Jasinska.

You started this section on %started%