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 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/CAOBFM9545G97n09c9Oc1Y3_-sgNyc7w6uhy8Wjq3SvcJcJ_tgw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.