From Building Network Automation Solutions
At a Glance
- High-intensity interactive online course;
- Jump-start your network automation career;
- Hands-on experience working on a solution to your own problem;
- 9 module course spread across ~3 months;
- Live discussion and guest speaker sessions;
- Design and coding assignments and group work;
- Final course completion certificate.
Data models are the crux of any successful network automation solution, and getting them just right is a mixture of science and art. The guidelines discussed in this section include:
- Abstract everything - focus on data that describe your requirements, not data that the device need to be configured
- Avoid data duplication - never store the same bit of information in two places
- Separation of infrastructure and service data - define a common data model describing network infrastructure, and separate data models for individual services
We’ll also talk about data stores (from text files to relational databases), discuss their pros and cons, and figure out how to use Ansible with external data stores.
Hands-on assignments for this section include:
- Build a simple data model for VLAN service;
- Create a data model for VXLAN-based data center fabric;
- Model a simple Service Provider service (Internet access or L3VPN);
All assignments require you to build a data model and a sample configuration template to verify the data model adequately describes your service.
The guest speakers in this module include:
In autumn 2017 course David Barroso (the author of SDN Internet Router, co-author of NAPALM, and author of YANG and OpenConfig support in NAPALM) talked about OpenConfig support in NAPALM and demonstrated how you can use YANG data models to modify device configurations and get structured operational data in a multi-vendor environment.
In spring 2017 course Marcel Wiget introduced OpenConfig and explained how you can use it for configuration and telemetry. He concluded the presentation with with practical examples demonstrating the capabilities of Ansible networking modules in combination with OpenConfig/YANG to provision Juniper Networks routers and switches.
You should watch at least these sections:
- The basics of data models, data stores, and data model transformations (1 hour 30 minutes)
- NETCONF, YANG and OpenConfig presentation by Marcel Wiget (1 hour 20 minutes)
- DMVPN Case Study parts of the Ansible for Networking Engineers webinar (1 hour)
- Abstract Everything section from the Network Automation Use Cases webinar (45 minutes)
- Automating Data Center Fabric deployments (1 hour 20 minutes) - focus on the Separate Data from Code part of the presentation (25 minutes)
Additional recommended materials
If you want to understand YANG and NETCONF better, watch the first part of the NETCONF and YANG webinar (~1 hour if you skip the hands-on parts). You might also want to watch the NETCONF Deep Dive section to understand the NETCONF protocol details.
You might also want to listen to Model Driven Networking podcast with Jeff Tantsura.
Recordings of live sessions
NETCONF, YANG and OpenConfig (January 2017)
- Vendor-Neutral YANG Data Models (PDF)
- Introduction to NETCONF and YANG
- OpenConfig and Custom YANG Data Models
- Using YANG Data Models on Junos
Data Models and Data Stores (January 2017)
- Data Models and Data Stores (PDF)
- Data Models - Introduction
- Building a Data Model
- Data Model Transformations
- Data Description Languages
- Data Stores
Using YANG Data Models on Traditional Network Devices with napalm-yang (October 2017)
- What Are YANG and OpenConfig
- napalm-yang Basics
- Advanced napalm-yang Features
- napalm-yang Integration with Ansible
- 2017Q3 - OpenConfig with NAPALM (PDF)