having a site.yml that includes a webservers.yml and a dbservers.yml is in fact a reasonable thing to do if you want a quick shorthand to just run a part of your infrastructure through Ansible.
On Wed, Jun 25, 2014 at 1:02 PM, Dmitry Makovey <[email protected]> wrote: > 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 > <https://groups.google.com/d/msgid/ansible-project/fd5dab1a-0745-4a17-a109-96f49276a0a3%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- 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/CA%2BnsWgwMLP_aS2KCOL%2BOru%3DHBurXXpvv3MCxPTbM7odbk_caOg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
