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.
This course benefits individuals responsible for configuring and monitoring devices running the Junos OS.
- Basic understanding of the OSI model and the TCP/IP protocol suite
- Basic understanding of computer networking concepts
After successfully completing this course, you should be able to:
- Describe the Junos operating system and its basic design architecture.
- Explain traffic processing for transit and exception traffic.
- Describe the Junos CLI and its features.
- List and perform initial configuration tasks.
- Describe interface types and perform basic interface configuration tasks.
- Describe DevOps principles and practices.
- Explain how DevOps can benefit an IT organization.
- List and describe the various APIs Junos provides for automation.
- Discuss various frameworks, libraries and tools available to automate Junos devices.
- Read Junos XML documents.
- Use XPath to navigate a Junos XML document.
- Use NETCONF and the XML API to issue RPCs.
- Use NETCONF and the XML API to configure a Junos device.
- Understand JSON syntax.
- Understand YAML syntax.
- Create JSON and YAML documents.
- Perform Ansible installation.
- Retrieve information from Junos devices using Ansible.
- Use Ansible to configure Junos devices.
- Create and execute simple Python scripts.
- Use the Python interactive interpreter.
- Install Junos PyEZ.
- Use PyEZ to connect to Junos devices.
- Use PyEZ to issue RPCs.
- Use PyEZ to modify a Junos device configuration.
- Use PyEZ to upgrade Junos devices.
- Describe basic PyEZ exception handling.
- Describe the capabilities of the Junos REST API.
- Use the Junos REST API Explorer.
- Issue Junos REST API RPCs.
Chapter 1: 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