In the previous tutorial, we deployed Awx. Kindly view tutorial HERE. Now we will use awx to deploy a simple playbook and show how to run, schedule and manage jobs from the Awx console. Kindly check out some of my other guides: Openstack Deployment with Devstack, Deploying a load balancer from scratch and adding backend servers, how to monitor services using Zabbix, and how to set-up PowerShell on a Linux server.
First we log in to our Awx console using the admin credentials and create an inventory.
Next, Create a host. This host is where all your playbooks will be deployed on and add the IP address and description also select your test or default inventory
Create your credential. Ansible uses SSH Keys, however from AWX, you can use login credentials like username and password
Next step is to create a template. However your template needs to have an existing playbook in the awx server. Lets create a sample uptime playbook to test.
cd /var/lib/awx/projects/ (The default awx directory) mkdir playbook
mkdir playbook for your current project and create your playbook in the directory
vim uptime.yaml and paste the below content (In my case I used test.yaml)
---- -hosts: all gather_facts: true become: yes become_user: root become_method: sudo tasks: - name: uptime command: uptime register: uptime
Once done, we can go back to the dashboard and create our template
Save and launch
Now we can see if the task was successful
We can also schedule a playbook to be run daily, weekly or monthly. Go to template, click on the preferred template and navigate to schedule and add a schedule
Now you can view jobs to track progress of playbooks. If they were successful or failed.
Using this, you can manage and run jobs for lab environment and production environment also. Awx makes ansible more comfortable to use and allows control access, graphically manage and synchronization of inventory. It also helps logs all your jobs.
Now you can create your playbooks and run them from AWX.