Exercise 4.0: Explore Red Hat Ansible Automation Controller

Objective

Ansible Automation Controller is a web-based solution where you can centralize and control your IT infrastructure with a visual dashboard, role-based access control, job scheduling, integrated notifications and graphical inventory management. Ansible Automation Controller includes a REST API and CLI in addition to the web UI.

In this lab, you will log in and perform some basic configurations that will be used in later labs to perform automation tasks against your F5 BIG-IP device.

This exercise will cover:
  • Determining the Ansible Automation Platform version

  • Locating and understanding:

    • Inventories

    • Credentials

    • Projects

    • Templates

Guide

Step 1: Access the Ansible Automation Platform

In your Deployment goto Components –> Ansible-Node –> Access –> Ansible-Controller

UDF Ansible Controller

Step 2: Login to the Ansible Automation Platform

  1. This login information has been provided by the instructor at the beginning of class.

    • The username will be admin

    • password provided by instructor

    Controller Login Window

  2. After logging in the Job Dashboard will be the default view as shown below.

    Controller Job Dashboard

  3. Click on the ? information button on the top right of the user interface and then click About.

    information button link

    information button link

  4. A window will pop up similar to the following:

    version info window

    version info window

    Take note that the Ansible Automation Controller version is provided here.

Step 3: Examine the Inventory

An inventory is required for Red Hat Ansible Controller to be able to run jobs. An inventory is a collection of hosts against which jobs may be launched, the same as an Ansible inventory file. In addition, Red Hat Ansible Controller can make use of an existing configuration management database (cmdb) such as ServiceNow or Infoblox DDI.

More info on Inventories in respect to Ansible Controller can be found in the documentation here

  1. Click on the Inventories button under RESOURCES on the left menu bar.

    Inventories Button

    Inventories Button

  2. Under Inventories, Click on the Workshop Inventory.

    Workshop Inventory

    Workshop Inventory

  3. Under the Workshop Inventory, click the HOSTS button at the top. There will be hosts configured here. Click on one of the devices.

    Inventory Hosts

    Inventories Hosts

    Host Specific Data

    Host Specific Data

  4. Click on the Workshop Inventory link at the top of the page to return the top level menu.

  5. Click on GROUPS. This is where you can configure Group of hosts

    Inventory Groups

    Inventory Groups

Step 4: Examine the Workshop Project

A project is how Ansible Playbooks are imported into Red Hat Ansible Automation Controller. You can manage playbooks and playbook directories by either placing them manually under the Project Base Path on your Ansible Tower server, or by placing your playbooks into a source code management (SCM) system supported by Controler, including Git, Subversion, and Mercurial etc.

For more information on Projects in Controller, please refer to the documentation

  1. Click on the Projects button under RESOURCES on the left menu bar.

    projects link

    projects link

  2. Under PROJECTS there will be one pre-configured projects, Ansible Project Demos. Open it up by clicking on the object.

    Note

    that Git is listed for this project. This means this project is using Git for Source Controle Type.

    project link

    project link

  3. Under the Ansible Project Demos click the Source Control Type drop down menu

    Note

    Note that Git, Manual and Subversion are some of the choices. Return the choice to Git so that the Project continues to function correctly.

Step 5: Examine the Workshop Credential

Credentials are utilized by the Red Hat Ansible Automation Platform for authentication when launching Jobs against machines, synchronizing with inventory sources, and importing project content from a version control system. For the workshop we need a credential to authenticate to the network devices.

For more information on Credentials in Automation Controller please refer to the documentation.

  1. Click on the Credentials button under RESOURCES on the left menu bar.

    credentials link

    credentials link

  2. Under CREDENTIALS there will be a few pre-configured credentials. Click on the Workshop Credential.

  3. Under the Workshop Credential (Edit) examine the following:

    • The CREDENTIAL TYPE is a Machine credential.

    • The USERNAME is set to rhel-user.

    • The PASSWORD is blank. This credential is using a SSH Private Key instead of a password.

    • The SSH PRIVATE KEY is already configured and is ENCRYPTED.

    credential

    credential

    Click Cancel (Do not SAVE anything.)

Step 6: Examine the Job Template

Templates or Job Templates define the parameters that will be used when executing an Ansible playbook. These parameters include previously mentioned features such as which project and inventory will be used. Additionally, parameters such as logging level and process forks allow for additional granularity on how playbooks are ran.

  1. Click on the Templates button under RESOURCES on the left menu bar.

    templates link
  2. There will not be any configured templates at this time, we will be configuring one later in this lab.

    template link

Takeaways

  • Ansible needs an inventory to execute Ansible Playbooks against. This inventory is identical to what users would use with the command line only Ansible project.

  • Ansible Automation Controller can sync to existing Source Control Types including GitHub.

  • Ansible Automation Controller can store and encrypt credentials including SSH private keys and plain-text passwords. Ansible Automation Platform can also sync to existing credential storage systems such as CyberArk and Vault by HashiCorp

  • Job Templates define the parameters that will be used when executing an Ansible playbook

Complete

You have completed lab exercise 4.0

You have now examined all three components required to get started with Ansible Automation Controller. (A credential, an inventory and a project).

In the next exercise we will create a job template.

Click here to return to the Ansible Network Automation Workshop