Ansible Complex Conditional Usage (Variables, Conditionals, Error Handling)

1 hour
  • 2 Learning Objectives

About this Hands-on Lab

As with any technology, there’s going to be errors or things that don’t go exactly as planned. Learning how to handle errors as they happen, and building your playbooks to handle errors in a graceful fashion, is an important skill to have. This lab will help reinforce some of the ways to do this.

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

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Install the linuxacademy_backup_package, Accounting for the Repository or Package Not Being Available

The task should look similar to the following:

   - name: Install backup package
     yum:
      name: linuxacademy_backup_package
      state: present
     ignore_errors: true
Check for the Existence of /root/archive.tar and Create It If It Doesn’t

This part of the playbook should look something like this:

   - name: Check for archive file
     command: ls /root/archive.tar
     register: check_result
     ignore_errors: true
   - name: Touch archive file
     file:
      path: /root/archive.tar
      state: touch
     when: check_result is failed

Additional Resources

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

Our backup team wants us to install their backup package everywhere in the environment, and make sure that there's an archive file for them to back up, even if it's empty.

We know that the backup team's repository server has a very low uptime. We need to write our playbook so that installing the linuxacademy_backup_package will not cause the entire playbook to fail. In addition, we have to check and make sure that /root/archive.tar exists, and then create it if it doesn't.

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?