LENGTH: 40 Hours (5 days)
PRICE: €4 750,00
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.
•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.
This course benefits individuals responsible for configuring and monitoring devices running the Junos OS.
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.
Chapter 1: Course Introduction
Chapter 2: Automation Fundamentals
•Junos Platform Automation Overview
•Introduction to Commit, Op, and Event Scripts
•Introduction to Open Source Automation Solutions
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
•SLAX Script Structure
•Lab 2: Creating SLAX scripts
Chapter 5: Junos Function Library
•Junos Extension Template and Function Library
•Data Manipulation Functions
•Lab 3: Working with the Junos Function Library
Chapter 6: Commit Scripts
•Introduction to Commit Scripts
•Custom Warnings and Errors
•Custom Configuration Syntax
•Configuring Commit Scripts
•Lab 4: Configuring Commit Scripts
Chapter 7: Op Scripts
•Introduction to Op Scripts
•Calling Operational Mode Commands
•Configuring Op Scripts
•Lab 5: Configuring Op Scripts
Chapter 8: Event Scripts
•Introduction to Event Scripts
•Configuring Event Handling
•Writing Event Scripts
•Lab 6: Configuring Event Handling
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
•Overview of Playbooks
•Introduction to Jinja2
•Operating Junos using Ansible
•Lab 9: Configuring Junos Devices Using Ansible
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
•XSLT Script Structure
Appendix B: Chef
JAUT is an intermediate-level course.