After completing this section, you should be able to:
Store and manage Ansible projects in the Git version control system for use with Ansible Tower.
Create an Ansible Tower project that uses a Git repository to get and update Ansible materials.
Create a Job Template that runs a playbook, launch a job using that template, and determine whether the job succeeded or had failures.
Ansible Tower is a framework for managing IT automation securely and efficiently at scale.
Scaling the IT automation infrastructure across an enterprise can present significant challenges. Ansible core has no built-in ability to manage shared access to playbooks. And to run successfully, some plays require privileged, administrative access. But Ansible core also has no built-in ability to manage privilege levels and access to sensitive information appropriately.
With Ansible Tower:
Role-based access control keeps environments secure and teams efficient. Complete auditability of compliance with security policies.
Unprivileged users can safely deploy entire applications with an automated deployment access.
Ansible automation activity is centrally logged, ensuring complete auditability of compliance with security policies.
The key features of Ansible Tower include:
A centralized web interface for playbook management, role-based access control, and centralized logging and auditing.
A REST API that ensures that Ansible Tower integrates easily with an enterprise's existing workflows and tool sets.
API and notification features that make it particularly easy to associate Ansible Playbooks with other tools such as Jenkins, CloudForms, or Red Hat Satellite, to enable continuous integration and deployment.
Mechanisms to enable centralized use and control of machine credentials and other secrets without exposing them to end users.
Additional features of Ansible Tower include:
Visual Dashboard
Role-based Access Control (RBAC)
Graphical Inventory Management
Job Scheduling
Real-time and Historical Job Status Reporting
Push-Button Automation
Remote Command Execution
Credential Management
Centralized Logging and Auditing
Integrated Notifications
Multiplaybook Workflows
System Tracking
RESTful API
Automation solutions are composed, piece by piece, from the following elements:
Organizations, teams, and roles (user and admin, for instance).
Ansible inventories, which define hosts and groups of hosts.
Role-based permissions to perform actions within Ansible Tower.
Credentials, which provide remote access to machines.
Ansible projects, which contain playbooks.
Job templates, which specify that a playbook from a project should be run on hosts in a particular inventory using specific machine credentials.
A job happens when a user runs a playbook on an inventory by launching a job template.
The Dashboard is the main control center for Ansible Tower.
In the upper left are links to common Ansible Tower resources:
Projects
Inventories
Templates
Jobs
In the upper right are links to various Ansible Tower administration tools:
Account configuration
Settings
My View
View Documentation
Log Out
When you choose a dynamic source, the group's hosts are managed dynamically.
To store and manage Ansible projects in a VCS for use with Ansible Tower:
Use the Ansible Tower [Settings > Credentials] page to create a set of credentials.
Set the type of the credentials to Source Control.
To create an Ansible Tower project that uses a Git repository to get and update Ansible materials:
Use the Ansible Tower PROJECTS page to create a project.
Set the SCM URL, SCM BRANCH and SCM CREDENTIALS fields appropriately
These are operations related to Jobs and Job Templates.
To create a Job Template that runs a playbook:
Use the Ansible Tower TEMPLATES page to create a Job Template and setting its fields appropriately.
To launch a Job Template:
On the Ansible Tower TEMPLATES page, click the rocket icon in the ACTIONS column for that template in the list of templates.
To view the status of a Job:
Go to the Ansible Tower JOBS page and click the magnifying glass icon in the ACTIONS column for that job in the list of jobs.
To create a Job Template that runs a playbook:
Use the Ansible Tower TEMPLATES page to create a Job Template and setting its fields appropriately.
To launch a Job Template:
On the Ansible Tower TEMPLATES page, click the rocket icon in the ACTIONS column for that template in the list of templates.