Book Image

Demystifying Ansible Automation Platform

By : Sean Sullivan
Book Image

Demystifying Ansible Automation Platform

By: Sean Sullivan

Overview of this book

While you can use any automation software to simplify task automation, scaling automation to suit your growing business needs becomes difficult using only a command-line tool. Ansible Automation Platform standardizes how automation is deployed, initiated, delegated, and audited, and this comprehensive guide shows you how you can simplify and scale its management. The book starts by taking you through the ways to get Ansible Automation Platform installed, their pros and cons, and the initial configuration. You’ll learn about each object in the platform, how it interacts with other objects, as well as best practices for defining and managing objects to save time. You’ll see how to maintain the created pieces with infrastructure as code. As you advance, you’ll monitor workflows with CI/CD playbooks and understand how Ansible Automation Platform integrates with many other services such as GitLab and GitHub. By the end of this book, you’ll have worked through real-world examples to make the most of the platform while learning how to manipulate, manage, and deploy any playbook to Ansible Automation Platform.
Table of Contents (21 chapters)
1
Part 1: Getting Ansible Automation Platform Up and Running
6
Part 2: Configuring AAP
13
Part 3: Extending Ansible Tower

Launching jobs, monitoring, and interacting with workflows using CI/CD playbooks

Another use case for CI/CD is for launching jobs. Examples of this are scheduled jobs and integration tests. It is good practice to run workflows and jobs with test input and check the results. This can help detect changes that have happened in either the code or the environment.

The playbooks used in this section can be used as jobs in the Automation controller or in their respective Git service pipeline. The idea is to use the GitLab/GitHub workflows or a controller job in order to initiate them.

The playbook is a demonstration of what can be done.

The playbook takes several inputs as follows:

  • workflow_name: Name of the workflow to launch and monitor.
  • workflow_extra_vars_dict: Dictionary of extra variables to use when launching the workflow.
  • workflow_node_to_check: Identifier of the workflow node to wait on till it is finished. The data from the API will be returned from this...