Many thanks On 6 January 2016 at 02:37, David Karban <[email protected]> wrote:
> Hi Yoshi, > > role variables are accessible only in roles, thats why create a fact that > is accessible to host (and thru hostvars from other hosts if needed). > Personally I always scope role variables with role name, easier for me to > read host_vars/ group_vars files. > > David Karban > Linux server specialist/Specialista na správu linuxových serverů > www.karban.eu > > 2016-01-05 18:36 GMT+01:00 Yoshi Spendiff <[email protected]>: > >> Thanks David, >> >> That's quite a reasonable solution actually, for one it works but also it >> makes you consider naming conventions for the facts and dependencies that >> will use it. >> >> I had to quote the {{ role_path }} in defaults/main.yml for it to work >> for me. >> >> So variables defined in defaults/main.yml are scoped only for the >> execution of tasks in that role? >> >> Regards, >> Yoshi >> >> On 5 January 2016 at 02:44, David Karban <[email protected]> wrote: >> >>> Hi, >>> >>> I would try to get paths for files into variables in meta roles and >>> export it as facts: >>> >>> defaults/main.yml: >>> rolename_path: {{ role_path }} >>> >>> tasks/main.yml: >>> - set_fact: rolename_path={{ rolename_path }} >>> >>> And that use this variable to get file: >>> {{ rolepath_name + 'files/filename.txt' }} >>> >>> Could work. >>> >>> David Karban >>> Linux server specialist/Specialista na správu linuxových serverů >>> www.karban.eu >>> >>> 2016-01-05 2:32 GMT+01:00 Yoshi Spendiff <[email protected]>: >>> >>>> Hi, >>>> >>>> I'm wondering if anyone knows of any tricks for neatly handling common >>>> file dependencies for roles. I initially thought having a common dependent >>>> role in meta/main.yml would facilitate this but apparently dependencies >>>> don't apply to files (which does make sense if roles are though of as >>>> totally isolated), but is there some way to achieve this? Or is there some >>>> way to specify search paths for files inside a role or something? >>>> >>>> So far the best I've come up with is putting a *files *and/or >>>> *templates *directory in the root of the ansible directory and then >>>> referencing files/templates with *src=file/myfile.txt *and/or >>>> *src=templates/mytemplate.txt >>>> *(I've also seen the recommendation to use *src={{ inventory_dir >>>> }}/files/myfile.txt *but that doesn't seem necessary). The problem >>>> with this is that it doesn't really organise dependencies for roles but >>>> rather just lumps everything into one directory and makes it difficult to >>>> share roles externally. >>>> >>>> Alternatively, is there some way to specify multiple task files in a >>>> role so that all other components can be shared, i.e. something like the >>>> following (or Chef cookbook recipes really) >>>> >>>> - name: myplay >>>> roles: >>>> - myrole.create (roles/myrole/tasks/create.yml) >>>> - myrole (roles/myrole/tasks/main.yml) >>>> - myrole.delete (roles/myrole/tasks/delete.yml) >>>> >>>> Regards, >>>> Yoshi >>>> >>>> -- >>>> 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/a1264234-c753-4402-974c-7b1f8c7fc142%40googlegroups.com >>>> <https://groups.google.com/d/msgid/ansible-project/a1264234-c753-4402-974c-7b1f8c7fc142%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 a topic in the >>> Google Groups "Ansible Project" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/ansible-project/Nijxp6RA_68/unsubscribe >>> . >>> To unsubscribe from this group and all its topics, 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/CAOBFM9545G97n09c9Oc1Y3_-sgNyc7w6uhy8Wjq3SvcJcJ_tgw%40mail.gmail.com >>> <https://groups.google.com/d/msgid/ansible-project/CAOBFM9545G97n09c9Oc1Y3_-sgNyc7w6uhy8Wjq3SvcJcJ_tgw%40mail.gmail.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/CAPED8tA_ZQD4e2x5ymO%2BrFeBza5ALnbbJTWNKuBgVMQVzAVDjA%40mail.gmail.com >> <https://groups.google.com/d/msgid/ansible-project/CAPED8tA_ZQD4e2x5ymO%2BrFeBza5ALnbbJTWNKuBgVMQVzAVDjA%40mail.gmail.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 a topic in the > Google Groups "Ansible Project" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/ansible-project/Nijxp6RA_68/unsubscribe. > To unsubscribe from this group and all its topics, 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/CAOBFM96DeKNUV%3DNGdsrjn2OghZG16z_sj6RPo%3DXOnp8-tu2oMg%40mail.gmail.com > <https://groups.google.com/d/msgid/ansible-project/CAOBFM96DeKNUV%3DNGdsrjn2OghZG16z_sj6RPo%3DXOnp8-tu2oMg%40mail.gmail.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/CAPED8tCHzd6qFD0-8EjouhZA_PWZXoY9CN9hjSj%3DgHRVHndnYg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
