IJAUT - Introduction to Junos Platform Automation and DevOps

This three-day course provides students with introductory 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 the basic DevOps practices, Junos APIs, and NETCONF. It then focuses on using Python, PyEZ, Ansible, and REST API to automate Junos. XML, JSON, and YAML are introduced as these languages facilitate Junos automation. Through demonstrations and hands-on labs, students will gain experience in automating the Junos operating system and device operations. This course uses Junos OS Release 18.1R1, Junos PyEZ 2.1, and Ansible 2.5.

Student Testimonials

Instructor did a great job, from experience this subject can be a bit dry to teach but he was able to keep it very engaging and made it much easier to focus. Student
Excellent presentation skills, subject matter knowledge, and command of the environment. Student
Instructor was outstanding. Knowledgeable, presented well, and class timing was perfect. Student

Click here to print this page »


  • Basic understanding of the OSI model and the TCP/IP protocol suite
  • Basic understanding of computer networking concepts

Detailed Class Syllabus

Chapter 1: Course Introduction

Course Introduction

Chapter 2: Introduction to Junos OS

Junos OS Basic Design Architecture
Traffic Processing
CLI Modes and Features
Initial Configuration Tasks
Interface Types and Configuration
Lab 1: Configuring a Device using Junos CLI

Chapter 3: Introduction to DevOps

Why DevOps?
The Benefits of DevOps
DevOps Goals and Best Practices

Chapter 4: The Junos Automation Stack

The Junos Automation Stack and DevOps
Junos XML API Overview
Junos REST API Overview
Junos JET API Overview
Review of Junos Automation Tools

Chapter 5: Introduction to XML and XPath

Basic XML Syntax
The Junos XML Schema
Navigating the Junos XML Schema with XPath
Lab 2: Working with XML and XPath

Chapter 6: The XML API and NETCONF

The Junos XML API
Languages and Libraries Used to Automate the Junos XML API
Case Study
Lab 3: Using XML and NETCONF for Automation

Chapter 7: Introduction to JSON and YAML

The Need to Structure Data
JSON Basics
YAML Basics
Use of JSON and YAML in Junos Automation
Lab 4: Using JSON and YAML

Chapter 8: Introduction to Ansible

Ansible Architecture and Capabilities
Ansible Playbook Basics
Using Ansible to Retrieve Junos Status Information
Using Ansible to Retrieve and Modify Configuration Information
Case Study
Lab 5: Using Ansible to Automate Junos

Chapter 9: Introduction to Python

Basic Python Syntax
Python 2 vs. Python 3
Python Data Types and Variables
Python Sequences, Tuples, Sets, and Dictionaries
Python Libraries
The Python Interactive Interpreter
Case Study: Creating a Python Script to Solve a Problem
Lab 6: Using the Python Interpreter

Chapter 10: Introduction to XML and XPath

Connecting to Junos Devices with PyEZ
Retrieving Junos Device Status and Configuration Handling
Modifying the Junos Configuration with PyEZ
Using PyEZ utilities to upgrade Junos software
Case Study
Lab 7: Using PyEZ to Manage Junos Devices

Chapter 11: The Junos REST API

Overview of the Junos REST API
Methods of Connecting to the Junos REST API
Configuring the Junos REST API
Using the Junos REST API Explorer
Using the Junos REST API to Retrieve Junos Configuration Data
Case Study
Lab 4: Using the REST API