Programming SR Linux: Management APIs and Automation
Ways to learn:
Instructor-led | Self-study materials | Learning labs
Course overview
This instructor-led, hands-on course will provide a comprehensive understanding of programming APIs (Application Programming Interface) for network automation. This includes gNMI (Network Management Interface), which allows you to configure and monitor every aspect of SR Linux, including streaming telemetry. The JSON-RPC API offers similar configuration and monitoring capabilities; in addition to implementing Ansible modules, it allows SR Linux to be configured as part of an Ansible automation workflow. gNOI (Network Operations Interface) provides a programmatic interface to network operations such as upgrading software, saving SR Linux files and rebooting a device. Finally, gRIBI (Routing Information Base Interface) allows external programs to populate entries directly into the SR Linux routing tables.
Ways to learn
Instructor-led
Virtual delivery with live instruction and hands-on labs.
Course number: OP00138
Duration: 3 days
Price: €2700 (regional discounts may be available)
Self-study materials
Access the same materials from the hands-on course in a secure PDF format.
Course number: OP00138-M-0324
Duration: 15 hours
Price: €450 (regional discounts may be available)
Course objectives
After completing the course, students should be able to:
- Describe the high-level architecture of SR Linux and its network automation tool-set
- Explain the structure of the SR Linux YANG data model
- Understand gRPC and protocol buffers, and how they provide the foundations of SR Linux's programmatic capabilities
- Write python programs to configure and monitor SR Linux using its gNMI and/or JSON-RPC APIs, including streaming telemetry, gNOI and gRIBI
- Learn how to automate SR Linux tasks with Ansible
Exam
Related certifications
Course modules
Module 1 – Model-Driven Network Automation
- Network Automation and the SR Linux programmability tool-set
- YANG and Model-Driven Management
- Define a configuration and state data model with YANG
- The pyang multi-purpose YANG tool
- Overview of the SR Linux YANG Data Model
- Hands-on: Explore the SR Linux Data Model, use pyang to validate and visualize models
Module 2 - Python and SR Linux
- Some elements of Python in the context of SR Linux network programmability
- Hands-on: Python and SR Linux programming
Module 3 – gNMI APIs
- What is an API?
- Explain gRPC and protocol buffers
- gRPC Network management Interface (gNMI) configuration and telemetry services
- Enable gNMI on SR Linux
- Review examples of gNMI clients - gnmic and python libraries
- Hands-on: The gnmic command line tool and python-based gNMI programming
- Streaming telemetry with gNMI
- Hands-on: Monitor SR Linux with a TIG-stack (Telegraf-Influxdb-Grafana)
Module 4 – Advanced gNMI APIs
- gNOI - An API for network operations and management tasks
- Hands-on: gNOIc command line tool and python-based gNOI programming
- gRIBI - An API to inject routes into the Routing Information Base
- Hands-on: gRIBIc command line tool and python-based gRIBI programming
Module 5 – JSON-RPC APIs and Ansible Automation
- JSON-RPC introduction
- Review the SR Linux JSON RPC methods
- Enable JSON RPC on SR Linux
- Overview of JSON-RPC tools
- Hands-on: JSON-RPC command line example and JSON-RPC python programming
- Automate SR Linux with JSON RPC-based Ansible modules
- Hands-on: Build Ansible playbooks to automate SR Linux
My DCF Learning Labs
More than just a lab service, My DCF Learning Labs offers lab exercises complete with inline instructions and solutions, giving you everything you need in one easy-to-use browser-based application.
Develop your hands-on skills by completing the same lab exercises from our hands-on courses.
The lab interface is designed to seamlessly connect with the various lab elements. Simply by opening one of the interface tabs, users are automatically logged into most network nodes. Choose from five different lab types and flexible hours that work with your schedule.
Related courses
Course
Course
Course
Course