Advanced Junos Platform Automation and DevOps (AJAUT)

The four-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.
  • 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.
  • 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