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;
  • 9 module course spread across ~3 months;
  • Live discussion and guest speaker sessions;
  • Design and coding assignments and group work;
  • Final course completion certificate.

In the previous module we created a data model for our infrastructure and a sample service. 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 Exercises

You can choose between these hands-on assignments, or create a solution that fits your specific needs:

  • 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.

Detailed description of hands-on exercises …

Guest speakers

The guest speakers in this module include:

Autumn 2018

In their presentation, Carly Stoughton and JP Senior will go deep into intent-based networking technology and cover data models, validations, graph database queries, jinja rendering and how abstraction removes the heavy lifting in terms of distributed state management, change management and real time notifications. They’ll illustrate these concept by providing a simple-to-use deployment automation and ongoing analytics of one of the most complex data center technologies - multi-vendor EVPN control plane using VXLAN encapsulation.

More about Carly

Autumn 2017

Jeremy Stretch explained what drove him to create NetBox, a new IPAM/DCIM tool, the challenges he encountered in defining the data models, and how the API can be used to drive network automation. Or as he said:

Network automation is great, but it can't happen unless you have some way to model what your network should look like. NetBox, one of the few open-source tools focused on networking engineers' needs was developed to function as the "source of truth" for a network, covering all aspects of IP address and infrastructure management.

More about Jeremy

Spring 2017

David Barroso, the author of NAPALM and SDN Internet Router, described how you can use NAPALM to create a vendor-independent network automation solution in spring 2017 course. His presentation included 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.

More about David

Self-study materials

The materials we prepared for this module (self-paced guidance) will help you create Ansible playbooks or use Salt to develop network automation solutions that configure network devices based on a data model you created in the previous module.

To get Ansible knowledge you'll need to understand the above presentations and solve the hands-on exercises watch (at least) these sections of the Ansible for Networking Engineers webinar.

You should also study the sample Ansible playbooks.

Additional recommended materials

I would also highly recommend listening to these Software Gone Wild episodes (each one is ~1 hour long):

Recordings of Live Sessions