Red Hat Ansible Automation Platform

Ansible Automation Platform provides an enterprise framework for building and operating IT automation at scale, from hybrid cloud to the edge. Ansible Automation Platform enables users across an organization to create, share, and manage automation—from development and operations to security and network teams.

RH294 & DO447

Red Hat Enterprise Linux Automation with Ansible and Advanced Automation: Ansible Best Practices

Objectives

Learn how to automate Linux system administration tasks with Red Hat Ansible Automation Platform

Course contents

Red Hat Enterprise Linux Automation with Ansible (RH294)  is designed for Linux system administrators and developers who need to automate provisioning, configuration, application deployment, and orchestration.

This course is based on Red Hat® Enterprise Linux® 8.4 and Red Hat Ansible Automation Platform 1.2.

Advanced Automation: Red Hat Ansible Best Practices (DO447)  is for experienced Red Hat® Ansible® Automation users who want to take their Ansible skills to the next level, enabling scalable design and operation of Ansible Automation in the enterprise. You will explore better ways to automate tasks and use Red Hat Ansible Engine effectively, as well as how to leverage advanced features of Ansible to perform more complex tasks. You will also learn how to install and use Red Hat Ansible Tower to centrally coordinate your use of Ansible, control access to hosts and systems, and manage Ansible workflows through the web interface and the Red Hat Ansible Tower API.

This course is based on Red Hat Ansible Automation (Red Hat Ansible Engine 2.8 / Red Hat Ansible Tower 3.5) and Red Hat Enterprise Linux® 8.

Automating Linux Administration with Ansible
Quiz: Automating Linux Administration with Ansible
Installing Ansible
Guided Exercise: Installing Ansible
Summary

Building an Ansible Inventory
Guided Exercise: Building an Ansible Inventory
Managing Ansible Configuration Files
Guided Exercise: Managing Ansible Configuration Files
Running Ad Hoc Commands
Guided Exercise: Running Ad Hoc Commands
Writing and Running Playbooks
Guided Exercise: Writing and Running Playbooks
Implementing Multiple Plays
Guided Exercise: Implementing Multiple Plays
Lab: Implementing Playbooks
Summary

Managing Variables
Guided Exercise: Managing Variables
Managing Secrets
Guided Exercise: Managing Secrets
Managing Facts
Guided Exercise: Managing Facts
Lab: Managing Variables and Facts
Summary

Writing Loops and Conditional Tasks
Guided Exercise: Writing Loops and Conditional Tasks
Implementing Handlers
Guided Exercise: Implementing Handlers
Handling Task Failure
Guided Exercise: Handling Task Failure
Lab: Implementing Task Control
Summary

Modifying and Copying Files to Hosts
Guided Exercise: Modifying and Copying Files to Hosts
Deploying Custom Files with Jinja2 Templates
Guided Exercise: Deploying Custom Files with Jinja2 Templates
Lab: Deploying Files to Managed Hosts
Summary

Selecting Hosts with Host Patterns
Guided Exercise: Selecting Hosts with Host Patterns
Including and Importing Files
Guided Exercise: Including and Importing Files
Lab: Managing Complex Plays and Playbooks
Summary

Describing Role Structure
Quiz: Describing Role Structure
Reusing Content with System Roles
Guided Exercise: Reusing Content with System Roles
Creating Roles
Guided Exercise: Creating Roles
Deploying Roles with Ansible Galaxy
Guided Exercise: Deploying Roles with Ansible Galaxy
Getting Roles and Modules from Content Collections
Guided Exercise: Getting Roles and Modules from Content Collections
Lab: Simplifying Playbooks with Roles
Summary

Troubleshooting Playbooks
Guided Exercise: Troubleshooting Playbooks
Troubleshooting Ansible Managed Hosts
Guided Exercise: Troubleshooting Ansible Managed Hosts
Lab: Troubleshooting Ansible
Summary

Managing Software and Subscriptions
Guided Exercise: Managing Software and Subscriptions
Managing Users and Authentication
Guided Exercise: Managing Users and Authentication
Managing the Boot Process and Scheduled Processes
Guided Exercise: Managing the Boot Process and Scheduled Processes
Managing Storage
Guided Exercise: Managing Storage
Managing Network Configuration
Guided Exercise: Managing Network Configuration
Lab: Automating Linux Administration Tasks
Summary

Comprehensive Review
Lab: Deploying Ansible
Lab: Creating Playbooks
Lab: Creating Roles

Appendix A. Supplementary Topics
Appendix B. Ansible Lightbulb Licensing

Introduction

Advanced Automation: Ansible Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Orientation to the Classroom Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Controlling Your Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Internationalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv

Implementing Recommended Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Guided Exercise: Implementing Recommended Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Managing Ansible Project Materials Using Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Guided Exercise: Managing Ansible Project Materials Using Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Lab: Developing with Recommended Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Writing YAML Inventory Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Guided Exercise: Writing YAML Inventory Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Managing Inventory Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Guided Exercise: Managing Inventory Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Lab: Managing Inventories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Controlling Privilege Escalation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Guided Exercise: Controlling Privilege Escalation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Controlling Task Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Guided Exercise: Controlling Task Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Running Selected Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Guided Exercise: Running Selected Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Optimizing Execution for Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Guided Exercise: Optimizing Execution for Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Lab: Managing Task Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Processing Variables Using Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Guided Exercise: Processing Variables using Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Templating External Data using Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Guided Exercise: Templating External Data using Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Implementing Advanced Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Guided Exercise: Implementing Advanced Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Working with Network Addresses Using Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Guided Exercise: Working with Network Addresses Using Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Lab: Transforming Data with Filters and Plug-ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

Delegating Tasks and Facts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Guided Exercise: Delegating Tasks and Facts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Managing Rolling Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Guided Exercise: Managing Rolling Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Lab: Coordinating Rolling Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

Explaining the Red Hat Ansible Tower Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Quiz: Explaining the Red Hat Ansible Tower Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Installing Red Hat Ansible Tower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Guided Exercise: Installing Red Hat Ansible Tower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Navigating Red Hat Ansible Tower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Guided Exercise: Accessing Red Hat Ansible Tower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Quiz: Installing and Accessing Red Hat Ansible Tower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

Creating and Managing Ansible Tower Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Guided Exercise: Creating and Managing Ansible Tower Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Managing Users Efficiently with Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Guided Exercise: Managing Users Efficiently with Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Lab: Managing Access with Users and Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

Creating a Static Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Guided Exercise: Creating a Static Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Creating Machine Credentials for Access to Inventory Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Guided Exercise: Creating Machine Credentials for Access to Inventory Hosts . . . . . . . . . . . . . . . 307
Lab: Creating and Managing Inventories and Credentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

Creating a Project for Ansible Playbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Guided Exercise: Creating a Project for Ansible Playbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Creating Job Templates and Launching Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Guided Exercise: Creating Job Templates and Launching Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Lab: Managing Projects and Launching Ansible Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352

Improving Performance with Fact Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Guided Exercise: Improving Performance with Fact Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Creating Job Template Surveys to Set Variables for Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Guided Exercise: Creating Job Template Surveys to Set Variables for Jobs . . . . . . . . . . . . . . . . . . . . 368
Creating Workflow Job Templates and Launching Workflow Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Guided Exercise: Creating Workflow Job Templates and Launching Workflow Jobs . . . . . . . . . 378
Scheduling Jobs and Configuring Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Guided Exercise: Scheduling Jobs and Configuring Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Lab: Constructing Advanced Job Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399

Launching Jobs with the Ansible Tower API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Guided Exercise: Launching Jobs with the Ansible Tower API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
Interacting with APIs using Ansible Playbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Guided Exercise: Interacting with APIs using Ansible Playbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Lab: Communicating with APIs using Ansible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444

Importing External Static Inventories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Guided Exercise: Importing External Static Inventories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Creating and Updating Dynamic Inventories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Guided Exercise: Creating and Updating Dynamic Inventories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Filtering Hosts with Smart Inventories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
Guided Exercise: Filtering Hosts with Smart Inventories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Lab: Managing Advanced Inventories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480

Creating a Simple CI/CD Pipeline with Ansible Tower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Guided Exercise: Integrating a GitLab CI/CD Pipeline with Ansible Tower . . . . . . . . . . . . . . . . . . . . . . 489
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502

Performing Basic Troubleshooting of Ansible Tower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
Guided Exercise: Performing Basic Troubleshooting of Ansible Tower . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Configuring TLS/SSL for Ansible Tower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Guided Exercise: Configuring TLS/SSL for Ansible Tower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
Backing Up and Restoring Ansible Tower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
Guided Exercise: Backing Up and Restoring Ansible Tower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Quiz: Performing Maintenance and Routine Administration of Ansible Tower . . . . . . . . . . . . . . . . . 529
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531

Comprehensive Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Lab: Refactoring Inventories and Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
Lab: Privilege Escalation, Lookups, and Rolling Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Lab: Restoring Ansible Tower from Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Lab: Adding Users and Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Lab: Creating a Custom Dynamic Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Lab: Configuring Job Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Lab: Configuring Workflow Job Templates, Surveys, and Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . 578
Lab: Testing the Prepared Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
DO447-RHAE2.8-

students say...

Very recently I have completed RHCSA and RHCE training at FORSCHER Education. Trainer (Anto sir) is having lot of experience in this field. I'm impressed with the way he is taking the class. I never get bored when attending the class. At the same time I learned lot of things from him. He never tired to explain our doubts 😊 Thanks to everyone 🤗 I strongly prefer to go and get the training if you are planning to improve yourself in this field.
Vel Murugan
Sophomore
I have recently completed RHCSA exam in Forscher . I was trained by Anto sir who has very good teaching skills... he clear all my doubts and helped me to score 267 in RHCSA exam.. They have provided me more practical practice sessions with good infrastructure ... and also have very good examination training...
Nani Haripriya
Sophomore

cloud computing courses

cloud computing

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla in leo interdum odio varius eleifend. Praesent.
Click Here

networking courses

software architect

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla in leo interdum odio varius eleifend. Praesent
Click Here

Forscher Education was formed by a group of Innovative SME’s from across multiple IT Infrastructure Technologies. 

Our Key Mantra:
“Reduce TCO, Increase ROI, Agility and Quality”

[ SOCIAL ]

[ contact us]

149, 1C/1D, Mount Poonamallee High Road, Ramapuram, Chennai – 600089