Working with Tags and Delegation in Ansible Playbooks

30 minutes
  • 3 Learning Objectives

About this Hands-on Lab

The company you work for has purchased some new backup software. The design of the environment has a backup server that will host most of the software and a web server to host the UI. These servers have been deployed and are ready to be configured. A coworker started a playbook to get everything ready but he was pulled away onto another project. You’ve been tasked with finishing what he started. We need to make sure that neither server has unneeded software installed on it. We also want to make sure that in the future when changes are pushed to` index.html`, we restart Apache (this is a vendor requirement). Finally, we want to verify that the web server works outside of the firewall, so the Ansible host should test it.

>**Note:** Make sure to elevate to `root` once logged in. The reason for this is because of how the lab server’s version of Ansible is installed.
>

*This course is not approved or sponsored by Red Hat.*

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Modify the Provided Playbook to Filter Packages Based on Tags

The provided playbook doesn’t have any tags in it, so if it’s run as is, unneeded software will be installed on the servers. Add tags so that tasks can be filtered based on which group is being targeted.

Add a Conditional for Web Services to Restart if an Index Is Modified

There is a vendor requirement to restart Apache services if the index.html is modified. Build that into the provided playbook.

Add a Task That Has the Local Ansible Host Verify the Web Server Is Working

There is a firewall in place that we want to ensure isn’t blocking traffic on the web server. Verify from the Ansible host that pages load correctly.

Additional Resources

There are three tasks to accomplish for this hands on lab:

  1. Modify the provided playbook to filter tasks based on tags.
  2. Add a conditional for web services to restart if index.html is modified.
  3. Add a task that has the local Ansible host verify the web server is working.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?