JAUT-Junos Automation

  • Duration: 4 days
  • Test Level: 0
  • Certifications: No Certification
  • Price: $2800
  • Exams: No Exam
This four-day course is designed to provide students with Junos platform automation knowledge through hands-on development. Students receive hands-on experience with tools and languages relevant to Junos platforms. The course includes an overview of Extensible Markup Language (XML), Stylesheet Language Alternative Syntax (SLAX), the Junos template and function library, commit scripts, operation (op) scripts, and event scripts. It also covers an introduction to the Python and Ruby languages as well as automation/DevOps tools such as PyEZ, RubyEZ, Puppet, and Ansible. Through demonstrations and hands-on labs, students will gain experience in automating the Junos operating system and device operations. This course is based on the Junos OS Release 14.2R2.6.

After successfully completing this course, you should be able to:

Describe the benefits of using Junos OS automation.
Describe the differences between commit, op, and event scripts.
Describe the format of an XML document.
Describe how the Junos OS uses XML for commands and configuration.
Explain how commit, op, and event scripts interact with XML.
Describe the SLAX script structure.
Describe SLAX variables and flow control.
Create and test SLAX scripts.
Describe the benefits of the Junos extension functions.
Explain the different Junos extension functions.
Describe how commit scripts can be used to make changes to the                           configuration.
Describe how to use commit scripts to generate custom warnings and errors           during a commit.
Configure and enable commit scripts.
Describe the use of op scripts.
Execute op scripts remotely.
Explain how to define arguments and call operational-mode commands.
Describe how to make configuration changes with op scripts.
Configure op scripts.
Describe the usage of event policies and scripts.
Configure event scripts.
Describe the benefits of the Python and Ruby languages.
Describe the Python and Ruby script/program structure.
Describe Python and Ruby variables and flow control.
Create and test Python and Ruby scripts/programs.
Describe the benefits of the PyEZ package and RubyEZ gem.
Explain how to use PyEZ to operate Junos.
Explain how to use RubyEZ to operate Junos.
Describe Ansible.
Explain the YAML syntax.
Explain the Jinja2 syntax.
Create Ansible playbooks.
Operate Junos infrastructure using Ansible.
Explain the benefits of Puppet.
Describe the difference between a Puppet class, resource, and manifest.
Explain how to operate Junos using Puppet.
Describe Chef Fundamentals.

Day 1

Chapter 1: Course Introduction

Chapter 2: Automation Fundamentals

Junos Platform Automation Overview
Introduction to Commit, Op, and Event Scripts
Automation Solutions
Introduction to Open Source Automation Solutions
Introducing DevOps

Chapter 3: XML

Introduction to XML
XML in the Junos OS
Using XML in Scripts
Lab 1: Working with XML in the Junos OS

Chapter 4: SLAX

Introduction to SLAX
XML Tags in SLAX
Flow Control
SLAX Script Structure
Additional References
Lab 2: Creating SLAX scripts

Chapter 5: Junos Function Library

Junos Extension Template and Function Library
Logic Functions
Data Manipulation Functions
Input/Output Functions
Utility Functions
Lab 3: Working with the Junos Function Library

Day 2

Chapter 6: Commit Scripts

Introduction to Commit Scripts
Making Changes
Custom Warnings and Errors
Custom Configuration Syntax
Configuring Commit Scripts
Lab 4: Configuring Commit Scripts

Chapter 7: Op Scripts

Introduction to Op Scripts
Simple Example
Defining Arguments
Calling Operational Mode Commands
Configuration Changes
Configuring Op Scripts
Lab 5: Configuring Op Scripts

Chapter 8: Event Scripts

Introduction to Event Scripts
Configuring Event Handling
Event Policies
Writing Event Scripts
Lab 6: Configuring Event Handling

Day 3

Chapter 9: Python

Introduction to Python
Overview of Packages and Modules
Introducing Python Types
Overview of Flow Control and Operators
Writing Python Code
Lab 7: Writing Python Code

Chapter 10: PyEZ

Introduction to the PyEZ package
Overview of PyEZ Modules
Introduction to Exception Handling
Writing Python scripts using PyEZ
Lab 8: Using PyEZ to Operate Junos

Chapter 11: Ansible

Introduction to Ansible
Introducing YAML
Overview of Playbooks
Introduction to Jinja2
Operating Junos using Ansible
Lab 9: Configuring Junos Devices Using Ansible

Day 4

Chapter 12: Ruby

Introduction to Ruby
Overview of Ruby Gems
Introducing Ruby Data Structures
Overview of Flow Control and Operators
Introducing Classes and Objects
Writing Ruby Code
Lab 10: Writing Ruby Code

Chapter 13: RubyEZ

Introduction to RubyEZ
Overview of RubyEZ providers
Overview of Ruby exception handling
Writing Ruby scripts using RubyEZ
Lab 11: Operating Junos Using RubyEZ

Chapter 14: Puppet

Introduction to Puppet
Overview of Resources, Classes, Manifests, and Modules
Deploying Puppet to Operate Junos
Lab 12: Operating Junos Using Puppet

Appendix A: XSLT

Introduction to XSLT
Flow Control
XSLT Script Structure
Additional References

Appendix B: Chef

Chef Fundamentals

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.