Changing Network Configurations or State


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

You have to be registered for this online course, or have this course selected as part of an active Expert Subscription to access all course materials.

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.

More information...

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

More Information

NetBox automation integrations
Nautobot: network automation platform built on top of a NetBox fork

1:39:41 Zero-Touch Provisioning

Zero-Touch Provisioning (ZTP) is an obvious candidate for an network automation, as the impact of incorrectly-provisioned new devices is usually minimal. However, even though every vendor claims to have a ZTP solution, building an end-to-end system integrated with your workflow remains a hard problem.

In his presentation Patrick Ogenstad explained the basics of ZTP, described typical ZTP components, presented a solution you can use to build dynamic device configuration files, and answered tons of attendee questions.

ZTP Introduction 24:05 2019-03-27
ZTP Components 12:49 2019-03-27
Building a Dynamic Solution 32:29 2019-03-27
Questions and Answers 30:18 2019-03-27

Additional Information

Zero-Touch Provisioning Slide Deck 7.9M 2019-03-19
Zero-Touch Provisioning DIY Tutorial
PDF version of ZTP DIY Tutorial 2.5M 2019-03-19

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
Overview: Submitting Hands-On Exercise Solutions
Example: Managing Network Services Configuration with Ansible 9.0K 2018-12-24

Additional Resources

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.

NAPALM in action (from NANOG 64)
Validating deployments with napalm-validate
NAPALM documentation
Using NAPALM to Integrate Ansible with Networking Devices
Network Automation @ Spotify
You started this section on %started% Mark completed