Advanced Junos Platform Automation and DevOps (AJAUT)

The three-day AJAUT course gives students a hands-on experience with DevOps, and infrastructure as code (IaC) with devices running the Junos OS. Students will learn the tools needed to operate an open-source DevOps environment. Specifically, students will learn to use Docker, GitLab, Ansible, The Robot Framework, and Jenkins. While learning the tools, students will utilize the tools to build a working DevOps project using two Juniper vMX devices.
 
Intended Audience
This course benefits individuals responsible for configuring, monitoring, and automating devices running the Junos OS.
 
Prerequisites
Students should have taken the Junos Platform Automation (JAUT) course or have equivalent knowledge.
 
Objectives
After successfully completing this course, you should be able to:
  • Understand DevOps and how DevOps process can improve Junos Automation.
  • Create, configure, and manage Docker Containers.
  • Use GitLab as a repository for code and configuration data.
  • Use Ansible and Jinja2 templates to configure multiple Junos devices.
  • Use Ansible to enforce design constraints using templates.
  • Use Ansible to build Ansible playbooks that work in multi-vendor environments.
  • Install and configure Robot to perform automated tests on Junos devices.
  • Use Jenkins to implement continuous code and configuration integration.
  • nderstand DevOps and how DevOps process can improve Junos Automation.
  • Create, configure, and manage Docker Containers.
  • Use GitLab as a repository for code and configuration data.
  • Use Ansible and Jinja2 templates to configure multiple Junos devices.
  • Use Ansible to enforce design constraints using templates.
  • Use Ansible to build Ansible playbooks that work in multi-vendor environments.
  • Install and configure Robot to perform automated tests on Junos devices.
  • Use Jenkins to implement continuous code and configuration integration.
  • Implement a DevOps automated lab testing solution.
 
 
Course Contents
 
Chapter 1: Course Introduction
 
Chapter 2: Introduction to DevOps and Event Driven Infrastructure
  • DevOps
  • Infrastructure as Code
  • Event Driven Infrastructure (EDI)
 
Chapter 3: Using Docker for DevOps
  • Introduction to Docker Containers
  • Installing and Configuring Docker
  • Managing Docker Networking
  • Managing Applications Running in Docker
  • Monitoring and Troubleshooting Docker
Lab 1: Using Docker Containers
 
Chapter 4: Using GitLab as a Configuration and Code Repository
  • Version Control Workflow
  • Git and GitLab Explained
  • GitLab Install Overview
  • Creating GitLab Projects
  • Creating Git Repositories <.li>
  • Staging and Committing Files <.li>
  • Cloning and Pushing Repository Data <.li>
  • Branching and Merging<.li>
  • Resolving Merge Conflicts
Lab 2: Using GitLab
 
Chapter 5: Using Ansible to Manage Networking Devices
  • Review of Ansible Basics
  • Using Ansible with Jinja2 Templates
  • Using Ansible to Enforce Network Design Constrains Using Templates
  • Using Ansible for (NOOB) Deployments while Maintaining Idempotency
  • Managing Devices Running Junos OS using Ansible Roles
  • Creating Multivendor Playbooks
  • Using GitLab with Ansible for Automated Version Control
Lab 3:Using Ansible in a DevOps Environment
 
Chapter 6: Robot Framework
  • Robot Overview
  • Examine the pybot_jrouter Module
  • Creating Robot Framework Keywords
  • Creating Robot Framework Resource Files
  • Perform Automated Testing using Robot
  • Automated Testing - Use Case
Lab 4: Automation Testing with the Robot Framework
 
Chapter 7: Jenkins
  • Jenkins Overview
  • Creating Process Automation using Jenkins
  • Installing and using the Robot Plugin for Jenkins
  • Retrieving Repository Data from a Git Repository
  • Executing Ansible Playbooks from within Jenkins
Lab 5: Junos Process Automation with Jenkins