Course Overview
This five-day, intermediate-level course expands foundational automation skills into large-scale, policy-driven, and life cycle–aware automation for Junos-based networks. Students learn how to design and operate automation workflows that enhance speed, consistency, and reliability while enabling organizations to grow network capacity without increasing operational overhead. Through a combination of guided instruction, demonstrations, and extensive hands-on labs, participants gain the capabilities needed to automate complex, multi- device environments with strong validation, observability, and change-control processes. Ansible and Jinja2 help learners deploy and adjust OSPF, BGP, and MPLS settings on many Junos devices, keeping configurations correct. The course teaches how to automate Junos software upgrades using pre-checks, post-checks, and scripted rollback workflows to reduce outage risks and maintenance time. JSNAPy-based validation is applied to detect configuration drift and automatically revert failed or noncompliant changes, strengthening operational governance and network stability. Students implement event-driven automation using Junos commit, op, event, and SNMP scripts to enforce policies in real time. They execute RPCs and advanced operational scripts to automate verification tasks, permissions management, and platform-level controls. Model-driven automation is introduced using YANG and OpenConfig to support vendor-neutral programmability across Junos and non-Junos devices, enabling standardized, future-ready automation architectures. The course also covers streaming telemetry with gNMI and visualization of network health using TIG stack components for proactive monitoring and capacity planning. Students apply Infrastructure as Code (IaC) principles using Terraform and the Juniper JTAF provider to manage network configurations declaratively and support repeatable, version-controlled operations. By the end of the course, learners can design and implement end-to-end automation workflows that reduce meantime to detect and resolve issues, enforce consistency across distributed network environments, and support scalable network growth through robust automation practices. This course uses Junos OS Release 24.4R1, Ansible 2.18, SLAX version 1.2, and JSNAPy 1.3.8.
Who should attend
Individuals responsible for configuring and monitoring devices running the Junos OS.
Prerequisites
- Intermediate-level networking knowledge
- Understanding of the OSI model and the TCP/IP protocol suite
- Completion of the Introduction to Juniper Platform Automation and NetDevOps (IJAUT) course or equivalent experience
Course Objectives
- Describe Junos automation architecture and tools.
- Describe how to use Docker for NetDevOps.
- Describe Junos Evolved automation.
- Describe Jinja2 templates for Junos automation.
- Perform network testing with JSNAPy.
- Describe Ansible automation.
- Use Ansible to configure Junos devices.
- Configure Ansible with Jinja2 templates and JSNAPy.
- Describe how to develop Junos op scripts using Python.
- Describe how to develop Junos commit scripts using Python.
- Describe Junos event policies.
- Describe how to develop Junos event scripts using Python.
- Describe the basics of the SLAX language.
- Describe extension functions in Junos OS automation scripts.
- Describe Junos op scripts using SLAX.
- Describe Junos commit scripts and event scripts using SLAX.
- Describe the syntax and semantics of the YANG language.
- Use OpenConfig with Junos OS.
- Create custom Junos YANG modules.
- Describe how Terraform can be used to automate Junos.
- Describe the syntax and semantics of protocol buffers and gRPC.
- Describe the syntax and semantics of the gNMI service.
- Configure Junos gNMI (dial-in) telemetry using TIG stack.
- Perform basic Junos OS Evolved automation tasks.
- Develop Junos SNMP scripts.
- Describe JET functionality and how to use JET APIs to automate Junos.
Course Content
- Junos Automation Fundamentals
- Using Docker for NetDevOps
- Jinja2 Fundamentals
- Automating Junos Using JSNAPy
- Introduction to Ansible
- Automating Junos Using Ansible
- Ansible with Jinja2 Templates and JSNAPy
- Junos Op Scripts Using Python
- Junos Commit Scripts Using Python
- Junos Event Policies
- Junos Event Scripts Using Python
- SLAX Fundamentals
- SLAX Extension Functions
- Junos Op Scripts Using SLAX
- Junos Commit Scripts and Event Scripts Using SLAX
- YANG Language
- OpenConfig
- Custom YANG Modules
- Terraform (Experimental)
- Protocol Buffers and gRPC
- gNMI
- Junos gNMI (Dial-In) Telemetry
Self-Study Modules
- Junos OS Evolved Automation
- Junos SNMP Scripts
- Juniper Extension Toolkit