In this exercise, we are going to configure Tower so that we can run a playbook.
There are a number of constructs in the Ansible Tower UI that enable multi-tenancy, notifications, scheduling, etc. However, we are only going to focus on a few of the key concepts required for this workshop today. |
Credentials
Projects
Inventory
Job Template
To log in, use the username admin
and the password ansibleWS
.
As soon as you login, you will prompted to request a license or browse for an existing license file
In a separate browser tab, browse to https://www.ansible.com/workshop-license to request a workshop license.
Back in the Ansible Tower UI, choose BROWSE and upload your recently downloaded license file into Ansible Tower.
Select "I agree to the End User License Agreement".
Click on SUBMIT
Credentials are utilized by Tower for authentication when launching jobs against machines, synchronizing with inventory sources, and importing project content from a version control system.
There are many types of credentials including machine, network, and various cloud providers. In this workshop, we are using a machine credential.
Select Ansible Tower Settings (gear icon).
Select CREDENTIALS
Select ADD
Complete the form, using the following entries and your private Ansible Tower SSH key. When you paste the key in the PRIVATE KEY
field, make sure to include the -----BEGIN RSA PRIVATE KEY-----
and -----BEGIN RSA PRIVATE KEY-----
lines.
cat ~/.ssh/example-tower
NAME |
Ansible Workshop Credential |
DESCRIPTION |
Machine credential for run job templates during workshop |
ORGANIZATION |
Default |
TYPE |
Machine |
USERNAME |
azure-user |
PRIVILEGE ESCALATION |
Sudo |
PRIVATE KEY |
paste in secret key |
Select SAVE
A Project is a logical collection of Ansible playbooks, represented in Tower. You can manage playbooks and playbook directories, by either placing them manually under the Project Base Path on your Tower server, or by placing your playbooks into a source code management (SCM) system supported by Tower, including Git, Subversion, and Mercurial.
Click on PROJECTS
Select ADD
Complete the form using the following entries:
NAME |
Ansible Workshop Project |
DESCRIPTION |
workshop playbooks |
ORGANIZATION |
Default |
SCM TYPE |
Git |
SCM URL |
|
SCM BRANCH |
|
SCM UPDATE OPTIONS |
|
Select SAVE
An inventory is a collection of hosts, against which jobs may be launched. Inventories are divided into groups and these groups contain the actual hosts.
Groups may be sourced manually, by entering host names into Ansible Tower, or from one of Ansible Tower’s supported cloud providers.
An Inventory can also be imported into Ansible Tower using the tower-manage
command. This is how we are going to add an inventory for this workshop.
Click on INVENTORIES
Select ADD
Complete the form using the following entries
NAME |
Ansible Workshop Inventory |
DESCRIPTION |
workshop hosts |
ORGANIZATION |
Default |
Select SAVE
Using ssh, login to your control node, if by any chance you closed the wetty browser window. Remember to replace workshopname with your workshop name, and # with your student number.
https://example-tower0.example.redhatgov.io:8888/wetty/ssh/azure-user
Use the tower-manage
command to import an existing inventory. (Be sure to replace <username> with your actual username)
sudo tower-manage inventory_import --source=/home/azure-user/hosts --inventory-name="Ansible Workshop Inventory"
You should see output similar to the following:
Feel free to browse your inventory in Ansible Tower, by selecting Hosts. You should now notice that the inventory has been populated with each each of hosts and corresponding inventory.
At this point, we are working with our basic configuration of Ansible Tower. In Exercise 2.2, we will be solely focused on creating and running a job template so you can see Tower in action.
|
|
|
|
Domain: | ||
Workshop Name: | ||
Region: | ||
User ID: |