Changing Network Configurations or State
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;
- 6 week course spread across ~2 months;
- Live discussion and guest speaker sessions;
- Design and coding assignments and group work;
- Final course completion certificate.
We built a data model for our infrastructure and a sample service during Week 3 of the course, now it’s time to change the network state, either by generating and changing device configurations, or by using an API provided by a network controller or cloud orchestration system.
We’ll start with simple configuration templates, explore the benefits of Ansible roles, discover various mechanisms and libraries you could use to push the generated configurations to network devices, and figure out how to combine automated configuration deployment with manual checks and approvals.
Hands-on assignments will include:
- Build and deploy a VLAN- or VXLAN-based data center service;
- Build ACLs or firewall rules and deploy them in your infrastructure (and use Capirca in multi-vendor deployments);
- Build router configurations for large-scale WAN deployment.
The fourth guest speaker in Autumn 2017 session is a long-time friend that spent the last few years working on a network-focused IPAM/DCIM tool. More details in a few weeks...
Previous guest speakers
David Barroso, the author of NAPALM and SDN Internet Router will describe how you can use NAPALM to create a vendor-independent network automation solution. His presentation will include these topics:
- The challenges of working with vendor automation libraries and data models;
- Abstracting vendor API with NAPALM;
- Abstracting vendor configuration syntax with Jinja2 templates;
- Simplifying the configuration management workflow with NAPALM;
- Data-driven configurations
- Using database backend with Ansible and NAPALM;
- Simplifying network operations by abstracting sites and services.
Recording of the January 2017 session
- Network Automation Tutorial (PDF)
- Abstract Vendor Interfaces
- Abstract Vendor Configuration
- Data-Driven Configuration
- Data-Driven Configuration with Backend
- Data Model Abstractions
- Source code for Network Automation Tutorial
- Brownfield VLAN Service Provisioning (PDF)
- Provision New Services
- Simplify the Data Model
- Decomissioning, Validation and Cleanup
- Further Steps
- Source code for Brownfield VLAN Service Provisioning example
Watch these sections of the Ansible for Networking Engineers webinar:
- Complete Jinja2 section - 1 hour 30 minutes
- Network Devices Configuration Management section - ~1 hour
You should also watch these presentations from the January 2017 session:
Finally, you'll probably enjoy the level of abstraction Dinesh Dutt achieved in his Data Center Fabric configuration playbooks (part of Network Automation Use Cases webinar).
Additional recommended materials
- To see NAPALM in action, watch NAPALM presentation from NANOG 64
- The Validating deployments with NAPALM blog post is a must-read.
I would also highly recommend listening to these Software Gone Wild episodes (each one is ~1 hour long):