Understand Core Components of Ansible - Variables

15 minutes
  • 2 Learning Objectives

About this Hands-on Lab

Variables are another thing that makes Ansible powerful. By being able to write generic commands, with decision trees based on variables, we can automate almost anything. This lab will walk through a couple of things we can do with variables to help burn in the concept.

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

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Write a Playbook That Removes `tcpdump` When a Server’s Name Does Not Contain `admin`

Your playbook should look something like this:

# Variables playbook

- name: This playbook will remove tcpdump (if installed) from servers without admin in their hostnames
  hosts: all
  become: yes
   - name: Remove tcpdump from all but admin servers
      name: tcpdump
      state: absent
     when: "'admin' not in inventory_hostname"
Modify That Playbook to Install Git on RedHat Servers

Your additional lines should look something like this:

   - name: Make sure git is installed only on Red Hat servers
      name: git
      state: present
     when: ansible_facts['os_family'] == 'RedHat'

Additional Resources

Notice: Ansible is installed as the root user, so please work on all tasks after elevating to the root user.

We're in the midst of a proof of concept project. Now we've got to make sure, on our existing setup, that tcpdump is only installed on servers with admin in their hostnames. And we want Git installed, but only on servers running RedHat. We can do it using Ansible variables.

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?