The idea of taking a manual task and creating an automation script, no matter the automation tool, requires some base framework decisions to be made. This is to keep consistency within your code and allow the easy adoption of your code by someone else. Ever tried using scripts created by someone else who had no code standards? It is confusing, and you waste a lot of time attempting to understand their approach.
In our case, we are going to make some framework decisions ahead of time and keep this consistency. My biggest disclaimer before we get started with reviewing the considerations in order to set our framework decisions is as follows:
Note
There are many ways to approach automating tasks for OpenStack with Ansible. The one shown in this book is just one of the ways I personally have found success with, and it's most certainly not the only way. The playbooks/roles are intended to be working examples, so you can use as is or adjust/improve for your personal use...