Infrastructure as a Service

 View Only

Installing Ansible Tower in a Customer Network

By Sharad Chandra posted Sun March 20, 2022 02:22 AM

Ansible Tower (formerly ‘AWX’) is a web-based solution that makes Ansible even more easy to use for IT teams of all kinds. It’s designed to be the hub for all of your automation tasks.Tower allows you to control access to who can access what, even allowing sharing of SSH credentials without someone being able to transfer those credentials. Inventory can be graphically managed or synced with a wide variety of cloud sources. It logs all of your jobs, integrates well with LDAP, and has an amazing brow-sable REST API. Command line tools are available for easy integration with Jenkins as well. Provisioning callbacks provide great support for auto-scaling topologies.
In this article we will discuss the installation steps for an Ansible tower in any network - be it an cloud or a on-prim data center network. I have used Red Hat Enterprise Linux 8.0 for installing this product. Red Hat Ansible Tower offers more than the web UI and REST API for Ansible. It helps centralize and control your Ansible infrastructure with a visual dashboard, role-based access control, job scheduling, and graphical inventory management. The Tower's REST API and CLI make it easy to embed the Tower into the existing tools and processes.

The foundation of Ansible Tower is an Open Source AWX project. The core open-source Ansible configuration management platform is now also being extended with the new Ansible Engine product, which will provide additional support capabilities to enterprises.


a) Install latest version of PostgreSQL
b) Install Psycopg2

c) Disable SELinux
d) Disable System Firewalls
e) Disable IPv6

The SELinux and Firewall may create un-necessary issues during the software installation process, which is why it is better to disable them before Installation. If your production compliance needed them then refer to documentation of  SELinux to allow permissons for PostgreSQL and Ansible tower processes. Open necessary ports in firewalld to allow both processes to work properly. The main component of Ansible tower is Nginx. One may see Installation failure(s) if SELinux and Firewalld are active and necessary actions are not taken on them before starting Installation.

To install PostgreSQL and Psycopg2 refer to "Install and Configure PostgreSQL Database". This will also guide you on how to disable SELinux, Firewalls and IPv6.

Download Ansible tower setup:
From your Red Hat Subscription download a licensed or trial version of Ansible tower setup. Request for the trial subscription if you want to test the product in case you do not have the licensed product.

Login into the Red Hat Subscription site and download the latest version of the tower setup. The Red Hat site will take to you to required set-up and it will auto-download.

The file name i received was ansible-automation-platform-setup-bundle-2.1.0-1.tar.gz.

Copy the installation on your Red Hat machine and unzip it.

The directory and file structure of this setup is as below

Edit the inventory file and fill in the relevant values.

Create the awx and automationhub databases in PostgreSQL.

Run the setup script to install Ansible Tower. Once completed you will see a success message as below.

Verify the necessary tables that are created in the awx database.

Login into the Ansible Tower console with the URL http://<<Host_IP_Address>> using credentials admin/hadoop@123 where admin is the standard user id and password is what we set in the inventory file before starting the installation.

Once logged in you will see the screen below.
Enter your Red Hat subscription credentials by selecting the "Username/password" tab. and click Next. Select the subscription option and click next.

Note: If you do not have a subscription the Submit button will remain disabled.

Click the Submit button and you are done. Login into the console again and you will see whole set of features.

You are now set to start using the Tower in your infrastructure.