Chapter 5. Composing Reusable Ansible Content with Roles
For many projects, a simple, single Ansible playbook may suffice. As time goes on and projects grow, additional playbooks and variable files are added, and task files may be split out. Other projects within an organization may want to reuse some of the content; either the projects get added to the directory tree or the desired content may get copied between multiple projects. As the complexity and size of the scenario grows, something more than a loosely organized handful of playbooks, task files, and variable files is highly desired. Creating such a hierarchy can be daunting and may explain why many uses of Ansible start simple and only grow into a better organization once the scattered files become unwieldy and a hassle to maintain. Making the migration can be difficult and may require rewriting significant portions of playbooks, which can further delay reorganization efforts.
In this chapter, we will cover the best practices...