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)