Visão Geral

This five-day course provides students with knowledge of how to automate Junos using DevOps automation tools, protocols, and technologies. Students receive hands-on development experience with tools and languages relevant to automating the Junos OS platform in a DevOps environment. The course includes an introduction to the Junos XML API, and NETCONF but focuses on using Python, PyEZ, and Ansible to automate Junos. The course introduces students to Junos commit, operation (op), event, and SNMP scripts. JSON, YAML, and Jinja2 are introduced as these languages facilitate Junos automation. The course also introduces the Junos Extension Toolkit and related APIs. Finally, the course discusses the use of JSNAPy and Junos ZTP autoinstallation tools. Through demonstrations and hands-on labs, students will gain experience in automating the Junos operating system and device operations.


Day 1

Chapter 1: Course Introduction

Chapter 2: Junos Automation Architecture and Overview

Why Automate
Junos MGD Based Automation
Junos JSD Based Automation
Automation Languages, Libraries, and Frameworks
Automation Management Systems
Other Junos Automation Tools

Chapter 3: NETCONF and the XML API

XML API Programming Languages
Lab 1: Exploring the XML API

Day 2
Chapter 4: JSON and YAML

Origins of JSON and YAML
Features and Benefits
JSON and YAML uses in Junos Automation
Creating Well-Formed JSON and YAML Documents
Conversion To and From XML
Lab 2: Using JSON and YAML

Chapter 5: Python and Junos PyEZ

Introduction to Python and PyEZ
Python Development Environment
Working with RPCs using Junos PyEZ
Working with an Unstructured Junos Configuration
Working with Junos PyEZ Tables and Views
Junos PyEZ Exception Handling
Lab 3: Implementing Python and Junos PyEZ in Junos

Chapter 6: Jinja2 and Junos PyEZ

Jinja2 Overview
Jinja2 Syntax
Creating a Junos PyEZ, YAML, and Jinja2 Solution
Lab 4: Using Jinja2 Templates with PyEZ

Day 3
Chapter 7: Using Ansible to Automate Junos

Ansible Overview
Installing Ansible
Creating and executing Ansible playbooks to manage devices running Junos OS
Use Case - Using Ansible to configure devices running Junos OS
Use Case - Using Ansible to install software on devices running Junos OS
Use Case - Using Ansible to reboot or shut down devices running Junos OS
Use Case - Using Ansible to revert a device running Junos OS to a factory Default Configuration
Lab 5: Automating Junos with Ansible

Chapter 8: Junos Automation with JSNAPy

JSNAPy Overview
Integration into Ansible
JSNAPy d.Snapcheck, Snapshot, and Diff Functions
Lab 6: Configuring JSNAPy

Day 4
Chapter 9: Junos OS Commit and Op Scripts

Junos Automation Scripting Overview
Creating Junos OS Commit Scripts
Creating Junos OS Op Scripts
Lab 7: Junos Commit and Op Scripts

Chapter 10: Junos OS Event and SNMP Scripts

Identify Junos OS events
Create Junos OS event policies
Create Junos OS event scripts
Create Junos OS SNMP scripts
Lab 8: Junos event policies and scripts

Chapter 11: YANG

YANG Overview
YANG Modules
YANG Syntax
Junos YANG Case Studies
Creating and Using Non-Native YANG Modules

Chapter 12: OpenConfig

Describe the Advantages of OpenConfig
Modify the Junos OS Configuration using OpenConfig
Describe using OpenConfig with the Junos Telemetry Interface (JTI)
Lab 9: Implementing OpenConfig

Day 5
Chapter 13: Junos Extension Toolkit (JET)

JET Overview and Components
Setup a JET VM
Create JET Packages
Use the JET API

Chapter 14: The Junos OS REST API

Describe the Purpose of the Junos OS REST API
Create REST API RPC Queries
Use the REST API Explorer
Use Case - Using the Junos REST API
Lab 10: Implementing the Junos REST API

Appendix A: Zero Touch Provisioning

ZTP Overview
The purpose and value of ZTP
The components and operations of ZTP
How to deploy a QFX5100 Series switch using ZTP


Students should have intermediate-level networking knowledge and an understanding of the Open Systems Interconnection (OSI) model and the TCP/IP protocol suite. Students should also have familiarity with a programming language such as C, C++, Perl, Python, Ruby, or Java. Students should also attend the Introduction to the Junos Operating System (IJOS) course prior to attending this class. Lastly, a high level understanding of object-oriented programming is a plus, but not a requirement.

Quem Somos?

A Inlearn é uma empresa de educação fundada em 2008 e já formou mais de 2.000 alunos, oferecendo ao mercado serviço de educação continuada, gestão de conhecimento e treinamentos em várias verticais, utilizando metodologias e ferramentas que permitam o desenvolvimento pessoal e profissional de nossos clientes, sejam empresas ou pessoas.

Saiba mais

Entre em Contato