Juniper Platform Automation and NetDevOps (JAUT) – Outline

Detailed Course Outline

Module 01: Junos Automation Fundamentals
  • List the benefits of Junos automation and NetDevOps
  • Explain the Junos automation stack and Junos APIs
  • Describe the difference between on-box automation and off-box automation
  • Describe the purpose of op, commit, event, and SNMP scripts
  • Describe the various tools, languages, and libraries used to automate Junos devices
Module 02: Using Docker for NetDevOps
  • Explain the basic concepts of Docker
  • Explain how to create and manage containers
  • Configure networks for Docker containers

Lab 01: Using Docker for NetDevOps

Module 03: Jinja2 Fundamentals
  • Explain how to use Jinja2 templates for Junos automation
  • Explain how to create Jinja2 templates

Lab 02: Creating Jinja2 Templates

Module 04: Automating Junos Using JSNAPy
  • Describe how JSNAPy can automate Junos OS
  • Explain how to install and configure JSNAPy
  • Create snapshots and perform tests using JSNAPy
  • Explain the integration of JSNAPy with other automation tools
Module 05: Introduction to Ansible
  • Explain the fundamentals of Ansible
  • Describe the elements in the Ansible environment for network device management
  • Explain how to retrieve information from Junos devices using Ansible

Lab 04: Ansible Operations with Junos

Module 06: Automating Junos Using Ansible
  • Configure Ansible vault to securely connect to Junos devices
  • Use Ansible to manage Junos device configurations
  • Optimize Ansible playbook operations with extended features

Lab 05: Using Ansible for Junos Configuration Management

Module 07: Ansible with Jinja2 Templates and JSNAPy
  • Create Ansible playbooks that use variables and templates
  • Configure Ansible and Jinja2 templates to manage Junos device configurations
  • Configure Ansible to generate JSNAPy snapshots

Lab 06: Using Ansible with Jinja2 Templates and JSNAPy

Module 08: Junos Op Scripts Using Python
  • Explain how to create and execute Python op scripts
  • Describe how to use arguments with Python op scripts
  • Explain how to execute Junos RPCs from Python op scripts
  • Describe how to configure Junos devices with Python op scripts

Lab 07: Junos Op Scripts Using Python

Module 09: 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 08: Junos Commit Scripts Using Python

Module 10: Junos Event Policies
  • Identify Junos OS events
  • Describe how to create Junos OS event policies
Module 11: Junos Event Scripts Using Python
  • Describe how to create Junos event scripts

Lab 09: Junos Event Policies and Event Scripts

Module 12: SLAX Fundamentals
  • Describe the relation of SLAX to XML, XPath, and Junos XML API
  • Create simple SLAX scripts
  • Describe SLAX templates, variables, and flow control statements
Module 13: SLAX Extension Functions
  • Explain how to use the Junos function library
  • Describe the difference between the available SLAX versions
Module 14: Junos Op Scripts Using SLAX
  • Describe how to create and execute SLAX op scripts
  • Explain how to use arguments with SLAX op scripts
  • Describe how to execute Junos RPCs from SLAX op scripts
  • Explain how to configure Junos devices with SLAX op scripts

Lab 10: Junos Op Scripts Using SLAX

Module 15: Junos Commit Scripts and Event Scripts Using SLAX
  • Describe the basic SLAX commit script operation
  • Develop SLAX commit scripts that perform transient and persistent changes
  • Configure and enable SLAX commit scripts
  • Describe how to create event scripts using SLAX

Lab 11: Junos Commit Scripts Using SLAX

Module 16: YANG Language
  • List the main features and the language syntax of YANG
  • Identify YANG language use cases with Junos OS

Lab 12: Using pyang with Juniper YANG Models

Module 17: OpenConfig
  • Describe the advantages of OpenConfig
  • Modify the Junos OS configuration using OpenConfig

Lab 13: Implementing OpenConfig

Module 18: Custom YANG Modules
  • Describe custom configuration statements and translation scripts
  • Describe custom RPCs and action scripts

Lab 14: Implementing a Custom YANG Module

Module 19: Terraform (Experimental)
  • Describe the Infrastructure as Code workflow with Terraform
  • Create a Junos Terraform provider using Junos Terraform Automation Framework
  • Automate Junos configuration with custom Junos Terraform provider

Lab 15: Using Junos Terraform Provider

Module 20: Protocol Buffers and gRPC
  • List the main features and the workflow of protocol buffers
  • Describe gRPC and implement a simple service

Lab 16: Protocol Buffers and gRPC

Module 21: gNMI
  • Describe the RPCs and main messages of the gNMI service
  • Use the gNMIc client with the Junos target

Lab 17: Using gNMIc with Junos Targets

Module 22: Junos gNMI (Dial-In) Telemetry
  • Describe how to collect telemetry from Junos using gNMI and TIG stack
  • Describe how to display telemetry data in Grafana

Lab 18: Junos gNMI Telemetry with TIG Stack

Self-Study Modules

Module 23: Junos OS Evolved Automation
  • Describe Junos OS Evolved
  • Explain how to install and manage vJunosEvolved
  • Describe how to run the third-party applications in the containers
  • Describe how to automate Junos OS Evolved using Junos PyEZ
Module 24: Junos SNMP Scripts
  • Describe how Junos OS SNMP scripts are used
  • Create and configure Junos OS SNMP scripts

Lab 19: Junos SNMP Scripts (Optional)

Module 25: Juniper Extension Toolkit
  • List the main JET components and use cases
  • Describe gRPC and JET IDL files
  • Develop JET applications using Service API

Lab 20: Using JET Service API (Optional)