I’m not even sure how to name this thread, but hopefully from the example you will understand what I mean.
I was reading this article https://medium.com/@jmarhee/deploying-a-glusterfs-storage-cluster-with-ansible-on-digitalocean-14dacd721e23 and in the middle of the article below the “Creating the cluster” title there is a playbook with 3 plays, one for each host in the cluster, where in each play the current host IP address is excluded. The reason why I hate this solution, is because if tomorrow you would like to add one more node to the cluster, besides adding the new node to the appropriate group, you would need to edit every task of that playbook and add a new play for the new node, which is anything but simple.
On IRC in the ansible channel halberom gave a nice solution to this problem https://gist.github.com/halberom/72b70a8cba934b9d58b9, but it feels sort of like a hack and that it should be easier to accomplish something like this in Ansible.
Is there an easier solution (e.g. using with_items/when), and if not maybe there should be?