Skip to main Content

Junos Automation

  • Course Code JAUT
  • Days Access 365 days
  • Version 17.a

Course Delivery

Elearning (Self-paced) Price

Please call

Request Group Training Add to Cart

Course Delivery

This course is available in the following formats:

  • Elearning (Self-paced)

    Self paced electronic learning

  • Public Classroom

    Traditional Classroom Learning

  • Virtual Learning

    Learning that is virtual

Request this course in a different delivery format.

Course Overview

Top

This Juniper18 module e-learning course provides students with 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 Jinja2 templates, an in-depth discussion of Junos PyEZ library, and detailed explanation of how Ansible, Salt, and JSNAPy automation tools are used with the Junos operating system.

The course introduces students to Junos commit, operation (op), event, and SNMP on-box scripts. Two languages for developing these scripts are discussed: SLAX and Python. The course also explains Juniper Extension Toolkit and related APIs, YANG, and OpenConfig. Finally, the course discusses use of the Junos Telemetry Interface, the Contrail HealthBot tool, and the Junos ZTP feature. Through demonstrations and hands-on labs, students will gain experience in automating the Junos OS and device operations.

This course uses Junos OS Release 18.3R1, Junos PyEZ 2.2, and Ansible 2.7.

Junos Platform Automation and DevOps (JAUT) is an intermediate-level course

Access:  You will receive 12 months of access to this online course materials and labs from date of purchase.

Target Audience

Top

This course benefits individuals responsible for configuring and monitoring devices running the Junos OS

Course Objectives

Top
  •  Describe the NETCONF protocol. 
  •  Explain the capabilities of the Junos OS XML API.
  • Describe the use of XSLT, SLAX, and XPath in the XML API.
  • Describe the Junos Automation UI and explain the role of gRPC, NETCONF, and REST in Junos Automation.
  • Identify the languages, frameworks, management suites, and tools used in automating Junos.
  • Describe the YANG Protocol and explain the capabilities of YANG.
  • Use the YANG model to issue Junos commands and to configure Junos. 
  •  Explain the benefits of using JSON and YAML. 
  •  List where JSON and YAML are used in Junos Automation.
  • Convert between JSON, YAML, and XML. 
  •  Describe the features and benefits of using Python in Junos automation.
  • Configure Junos devices to use Python and create simple Python scripts.
  • Describe the function of Junos operation, commit, event, and SNMP scripts.
  • Implement Junos operation, commit, event, and SNMP scripts using Python.
  • Identify how Junos automation uses Jinja2 and create Python scripts that use Jinja2.
  • Explain how PyEZ makes Junos automation easier. 
  •  Use PyEZ to gather facts from Junos, perform configuration tasks, and use PyEZ to manipulate the file system and perform system upgrades to Junos. 
  •  Implement OpenConfig in the Junos OS. 
  •  Describe the process of implementing custom YANG modules.
  • Implement a translation script for a custom YANG module.
  • Explain the use of the Junos REST API in automation.
  • Use the Junos REST API to get information from Junos.
  • Describe what JET is and what it includes.
  • Create a project in the JET IDE.
  • Execute scripts using on-box and off-box automation.
  • Describe how Ansible is used in Junos automation and install Ansible.
  •  Create Ansible playbooks to automate Junos.
  • Describe how JSNAPy can help automate Junos devices.
  • Implement JSNAPy into a Junos environment.
  • Describe how ZTP works. 
  •  Configure in-band ZTP and out-of-band ZTP

Course Content

Top

 COURSE INTRODUCTION

Junos Automation Architecture and Overview :

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

NETCONF and the XML API :

  • NETCONF and the XML API
  • NETCONF
  • XML API 
  •  XML API Programming Languages
  • XML API Tools

 LAB 1: Exploring the XML API

DAY 2:

  • 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

LAB 2: Using JSON and YAML

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

Jinja2 and Junos PyEZ :

  • Jinja2 Overview
  • Jinja2 Syntax
  • Creating a Junos PyEZ, YAML, and Jinja2 Solution

 LAB 4: Using Jinja2 Templates with PyEZ

DAY 2:

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

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

Jinja2 and Junos PyEZ :

  •  Jinja2 Overview 
  •  Jinja2 Syntax 
  •  Creating a Junos PyEZ, YAML, and Jinja2 Solution

LAB 4: Using Jinja2 Templates with PyEZ

 

DAY3:

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

Junos Automation with JSNAPy :

  • JSNAPy Overview 
  •  Installation 
  •  Integration into Ansible 
  •  JSNAPy d.Snapcheck, Snapshot, and Diff Functions

 Lab 6: Configuring JSNAPy

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 

Junos OS Event and SNMP Scripts :

  •  Junos Automation Scripting Overview 
  •  Creating Junos OS Commit Scripts
  • Creating Junos OS Op Scripts 

 Lab 8: Junos event policies and scripts

ANG :

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

 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 :

  • Junos Extension Toolkit (JET)
  •  JET Overview and Components 
  •  Setup a JET VM
  • Create JET Packages
  • Use the JET 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

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

Course Prerequisites

Top

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.

Recommended prerequisites:

Further Information

Top

2 Ways to Buy:

  • Subscribe to this On-Demand course
  • Purchase a Juniper All-Access Pass (EDU-JUN-ALL) and get instant access to all on-demand and instructor-led courses at one low price!