Book Image

Ansible Playbook Essentials

By : Gourav Shah, GOURAV JAWAHAR SHAH
Book Image

Ansible Playbook Essentials

By: Gourav Shah, GOURAV JAWAHAR SHAH

Overview of this book

Ansible Playbook Essentials will show you how to write a blueprint of your infrastructure, encompassing multitier applications using Ansible's playbooks. Beginning with basic concepts such as plays, tasks, handlers, inventory, and YAML Ain't Markup Language (YAML) syntax that Ansible uses, you'll understand how to organize your code into a modular structure. Building on this, you will study techniques to create data-driven playbooks with variables, templates, logical constructs, and encrypted data, which will further strengthen your application skills in Ansible. Adding to this, the book will also take you through advanced clustering concepts, such as discovering topology information about other nodes in the cluster and managing multiple environments with isolated configurations. As you approach the concluding chapters, you can expect to learn about orchestrating infrastructure and deploying applications in a coordinated manner. By the end of this book, you will be able to design solutions to your automation and orchestration problems using playbooks quickly and efficiently.
Table of Contents (20 chapters)
Ansible Playbook Essentials
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Setting Up the Learning Environment
References
Index

Running playbooks with roles


Let's now apply the refactored code to our hosts. We are going to launch only the site-wide playbook, that is, the site.yml file and then rely on the include statements and roles to do the magic:

$ ansible-playbook -i customhosts site.yml

Let's take a look at the following screenshot:

In addition to the output we saw last time, there are some new messages this time. Let's analyze those:

  • Before and after, roles are applied, pre-tasks and post-tasks get triggered; this prints messages using the shell module.

  • We now have the code to copy to the config and .html file for our Nginx web server.

  • We also see that the handler triggers an Nginx service restart. This is due to the change in the state for the configuration file, which triggers the handler.

Tip

Did you notice that tasks in the base role also get triggered, even when we have not mentioned the base role in the www playbook? This is where meta information is useful. Remember we had specified a dependency on the base...