Skip to Scheduled Dates
Course Overview
This five-day course provides students with knowledge of how to automate Junos using DevOps automation tools, protocols, and technologies. Students receive hands-on experience with tools and languages relevant to automating the Junos OS platform in a DevOps environment. The course includes an introduction to Jinja2 templates and a detailed explanation of how Ansible, Salt, and JSNAPy automation tools are used with the Junos operating system (OS). The course introduces students to Junos commit, operation (op), event, and SNMP on-box scripts. Two languages for developing these scripts are discussed: SLAX and Python. The course also explains YANG, OpenConfig, Juniper Extension Toolkit (JET), and related APIs. Finally, the course discusses the use of Junos Telemetry Interface (JTI). Through demonstrations and hands-on labs, students will gain experience in automating Junos OS and device operations. This course uses Junos OS Release 21.3R1, Ansible 2.11, Salt 3004, and JSNAPy 1.3.6.
Who Should Attend
Benefits individuals responsible for configuring and monitoring devices running the Junos OS
Course Objectives
- Describe Junos automation concepts.
- Use Jinja2 for Junos automation.
- Describe Ansible automation.
- Use Ansible to automate Junos devices.
- Describe the basics of SLAX language.
- Use SLAX to automate Junos devices.
- Use SLAX to develop Junos op scripts.
- Use Python to develop Junos op scripts.
- Use SLAX to develop Junos commit scripts.
- Use Python to develop Junos commit scripts.
- Describe Junos event policies.
- Create Junos event scripts.
- Develop Junos SNMP scripts.
- Describe Salt for Junos support.
- Use Salt software to automate Junos devices.
- Perform network testing with JSNAPy.
- Describe the YANG language.
- Create custom Junos YANG modules.
- Use OpenConfig with Junos OS.
- Describe JET functionality.
- Use JET APIs to automate Junos.
- Describe the Junos Telemetry Interface.
Course Outline
1: Course Introduction
2: Junos Automation Fundamentals
- Describe the benefits of network automation
- Explain the basic principles of DevOps and NRE
- Describe different approaches and tools used for Junos automation
3: Jinja2
- Discuss Junos Automation templates
- Create Jinja2 templates
- Lab 1: Creating Jinja2 Templates
4: Ansible Introduction
- Prepare Ansible environment for network device management
- Use Ansible to retrieve information from Junos devices
- Use Ansible to configure Junos devices
- Lab 2: User Interface Options
5: Ansible for Junos
- Configure Ansible to securely connect to Junos devices
- Use advanced Ansible playbook functionality
- Create Ansible playbooks that use variables and templates
- Manage Junos device configurations using Jinja2 templates and Ansible
- Lab 3: Using Ansible for Junos Configuration Management
6: Basics of SLAX
- Describe SLAX relation to XML, XPath, and Junos XML API
- Create simple SLAX scripts
- Describe SLAX templates, variables, and flow control statements
7: Automating Junos with SLAX
- Describe Junos op, commit, event, and SNMP scripts
- Use the Junos function library
- Describe the difference between available SLAX versions
8: Junos Op Scripts Using SLAX
- Create and execute SLAX op scripts
- Use arguments with SLAX op scripts
- Execute Junos RPCs from SLAX op scripts
- Configure Junos devices with SLAX op scripts
- Lab 4: Junos Op Scripts Using SLAX
9: Junos Op Scripts Using Python
- Create and execute Python op scripts
- Use arguments with Python op scripts
- Execute Junos RPCs from Python op scripts
- Configure Junos devices with Python op scripts
- Lab 5: Junos Op Scripts Using Python
10: Junos Commit Scripts Using SLAX
- Describe basic SLAX commit script operation
- Develop SLAX commit scripts that perform transient and persistent changes
- Configure and enable SLAX commit scripts
- Lab 6: Junos Commit Scripts Using SLAX
11: Junos Commit Scripts Using Python
- Describe how Python commit scripts can perform different actions
- Develop Python commit scripts that perform configuration changes
- Configure and enable Python commit scripts
- Lab 7: Junos Commit Scripts Using Python
12: Junos Event Policies
- Identify Junos OS events
- Create Junos OS event policies
13: Junos Event Scripts
- Create Junos event scripts
- Lab 8: Junos Event Policies and Event Scripts
14: Junos SNMP Scripts
- Describe how Junos OS SNMP scripts are used
- Create and configure Junos OS SNMP scripts
- Lab 9: Junos SNMP Scripts
15: Salt Introduction
- Describe Salt architecture and components
- Perform basic Junos device management tasks with Salt
16: Automating Junos with Salt
- Configure Junos devices with Salt
- Validate network state using Salt
- Create an event-driven infrastructure with Salt
- Lab 10: Automating Junos with Salt
17: JSNAPy
- Describe how JSNAPy can help automate Junos OS
- Install and configure JSNAPy
- Use JSNAPy to create snapshots and perform tests
- Use JSNAPy with other automation tools
- Lab 11: JSNAPy
18: YANG
- List the main YANG features
- Describe the syntax of YANG
- Identify YANG use cases with Junos OS
19: Custom YANG Modules
- Describe custom configuration statements and translation scripts
- Describe custom RPCs and action scripts
20: OpenConfig
- Describe the advantages of OpenConfig
- Modify the Junos OS configuration using OpenConfig
- Describe using OpenConfig with the Junos Telemetry Interface
- Lab 12: Implementing YANG and OpenConfig
21: Introduction to Juniper Extension Toolkit
- List the main JET components and use cases
- Describe gRPC and JET IDL Files
- Describe JET Service and Notification APIs
22: Automating Junos OS with JET APIs
- Develop JET applications using Service API
- Develop JET applications using Notification API
- Lab 13: Using JET
23: Junos Telemetry
- Describe JTI protocols and message formats
- Provision native sensors for JTI
- Provision OpenConfig and gRPC sensors for JTI
- Lab 14: Using Junos Telemetry