Hi, I've got my playbook large enough now that whenever I want to execute only bits of it I either have to code-in lots of conditionals and "special" variables or do some other trickery. I've got things split out into roles, so that my main file site.yml looks like:
- hosts: all roles: - role: commonAll - role: collect_facts - hosts: groupA roles: - role: common1 - role: roleA - hosts: groupB roles: - role: common2 - role: roleB .... now I would like to break this into bunch of smaller files and be able to execute them per-role/per-group. Thing is sometimes I have the same host in multiple groups (and subsequently in several roles) and executing with just "--limit" hooks into groups/roles I don't want to. So I created bunch of files like: ...common.yml... - hosts: all roles: - role: commonAll - role: collect_facts ... ...fileA.yml... - hosts: groupA roles: - role: common1 - role: roleA ... ...fileB.yml... - hosts: groupB roles: - role: commonB - role: roleB ... ...groupB.yml... - include common.yml - include fileB.yml ... and master site.yml to look like: - include common.yml - include fileA.yml - include fileB.yml ... so that I can either launch site.yml or any of the groups separately: groupX.yml . Now from all of the above, I get ridiculous number of files at the top level. Trying to move fileX.yml into subdirectory services results in ansible inability to locate roles definitions. Now the actual question: what are the best practices in cases like the one I've described? One thing I can think of is to restructure everything introducing one more directory layer, so instead of book/roles/foo I'll get top/book/roles/foo and move all of the fileX.yml under top/ and have groupX and site.yml files at the very top level. Is that how others are addressing such problems? -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/fd5dab1a-0745-4a17-a109-96f49276a0a3%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
