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 »
Prerequisites
- 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
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