Ansible: Execute and Manage Playbooks


Disclaimer

Your use of this download is governed by Stonebranch’s Terms of Use, which are available at https://www.stonebranch.com/integration-hub/Terms-and-Privacy/Terms-of-Use/

Introduction

Ansible is an opensource tool that is used primarily for:

  • Application deployment
  • Updates on workstations and servers
  • Cloud provisioning
  • Configuration management
  • Intra-service orchestration.

Ansible does not depend on agent software and has no additional security infrastructure.

Universal Controller can be integrated easily with Ansible through a Linux/Unix Universal Agent, as Ansible software can only be installed in Unix/Linux machines. So Universal Controller can manage all Ansible task execution through an intuitive user interface controlling Ansible playbook execution/host inventory details / other Ansible utility.

Overview

  • Manage Ansible task execution through the intuitive Universal Controller user interface.

  • Ansible playbooks can either be centrally stored and maintained in the Universal Controller script library, or Universal Controller can call the relevant playbook that is residing in Ansible host.

  • This Universal Task also enables the execution of other Ansible commands.

Software Requirements

Linux Universal Agent installed in an Ansible host.

Software Requirements for Universal Template and Universal Task

This integration requires an Universal Agent installed in an Ansible server where there is access to use Ansible CLI.

Software Requirements for Universal Agent

  • Universal Agent for Linux Version 6.5.0.0 and later.

Software Requirements for Universal Controller

  • Universal Controller Version 6.5.0.0 and later.

Software Requirements for the Application to be Scheduled

This Universal Task can work with any of the Ansible Version (tested with 2.8.0).

Technical Considerations

  • Accepts input parameters like Ansible utility, Ansible playbook path, Ansible host inventory, Script library (Yaml)

  • Universal agent should be installed in the Ansible hosted machine and register to a Universal Controller.

  • The Universal Task supports only Universal Agent for Linux.

Ansible Integration Key Features

Feature

Description

Ansible Playbook

This feature help to execute a Ansible playbook that resides in the remote ansible host.

Other Ansible Utility commands

This may be used other Ansible CLI commands.

Import Ansible Integration Downloadable Universal Template

To use this downloadable Universal Template, you first must perform the following steps:

  1. This Universal Task requires the Resolvable Credentials feature. Check that the Resolvable Credentials Permitted system property has been set to true.
  2. To import the Universal Template into your Controller, follow the instructions here.
  3. When the files have been imported successfully, refresh the Universal Templates list; the Universal Template will appear on the list.

Configure Ansible Integration Universal Task

For this Universal Task type, create a new task and enter the task-specific details that were created in the Universal Template.

Field Descriptions for Ansible Integration Universal Task

Field

Description

Ansible utility

  1. Ansible-Playbook (select to execute Ansible playbook)

  2. Other-Ansible-Utility (Other Ansible commands)

Execution Choice

  • Command: provide Ansible command that will be used to execute in Ansible machine where playbook and inventory is stored in Ansible host.

  • Script: Select this option if you want to store the Ansible playbook in controller script library.

Ansible Inventory  

Provide the Ansible Inventory source from the Ansible host.

Ansible Playbook Script

Provide a Uiversal Controller script name where you have the Ansible playbook (YAML).

Ansible command options 

Any additional commands if needed in playbook execution.

Examples for Ansible Integration Universal Tasks

Invoke an Ansible Playbook that Resides in a Remote Ansible Server

Creating and Executing an Ansible Playbook from Controller


Document References

This document references the following documents:

Name

Description

Universal Templates

User documentation for creating Universal Templates in the Universal Controller user interface.

Universal Tasks

User documentation for creating Universal Tasks in the Universal Controller user interface.