Once you get started with creating playbooks and roles with Ansible, you will find that you are able to reuse a lot of code for many different purposes. In this chapter, we were able to create another role very similar to the last chapter but include a totally different task very quickly and easily. Always remember to design your roles to be the base generic task, as much as possible. I sincerely cannot emphasize that tip enough. It can be the difference between taking minutes/hours or days to automate something.
Some of the things we covered in this chapter are: we defined and described the difference between instance backups and snapshots, explained the process of how to manually create backups and snapshots using the OpenStack CLI, reviewed an example of how to utilize an instance backup, and then finally developed the Ansible playbook and role to automate creating snapshot(s) of all instances within a specified tenant. I am very excited to move on to the next chapter, where we...