Thanks for the clarification. I understand what you mean now and in retrospect seems quiet obvious. I'm glad I can do away with the rendering; I felt gross writing it.
I guess there is no official means of a host defining its own roles? On Wednesday, December 8, 2021 at 1:26:33 PM UTC-6 flowerysong wrote: > No, that kind of hack is about as far from best practices as you can get. > As I said in my previous message, the alternative that you were not aware > of was using `include_role` with the `always` tag. > > On Wednesday, December 8, 2021 at 1:49:58 PM UTC-5 [email protected] > wrote: > >> Thanks. However, I"m not actually using that role. >> >> My main question is if rendering 'import_role' task files follows best >> practices or if there is an alternative to what I'm doing I'm not aware of. >> >> On Wednesday, December 8, 2021 at 12:06:52 PM UTC-6 flowerysong wrote: >> >>> Set `tags: always` on your include_role task, so that it always runs. >>> >>> On Wednesday, December 8, 2021 at 12:31:16 PM UTC-5 [email protected] >>> wrote: >>> >>>> I'd like to start a discussion on the ability to define roles to >>>> `import_role` from within host_vars. Instead of *only* defining those >>>> roles >>>> statically in a playbook. >>>> >>>> My goal is to be able to give an inventory_host the ability to define >>>> any [extra] roles it should import [on top of what is expressed in the >>>> playbook]. >>>> >>>> ``` >>>> roles/include-roles/tasks/main.yml >>>> --- >>>> - name: host_vars defined roles >>>> include_role: >>>> name: "{{ r }}" >>>> loop: "{{ roles }}" >>>> loop_control: >>>> loop_var: r >>>> ``` >>>> >>>> This is reasonably effective, but I lose the ability to use tags I've >>>> set in the roles I include. >>>> >>> ### Conclusion >>>> Overall the rendered task file that imports all the roles does most >>>> everything I need, but it feels incorrect. Like I abused the tool into >>>> working how I wanted it to work and not how it was intended to be used. Is >>>> there some Ansible-ism that I'm not aware of? >>>> >>> -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/0bc966f0-a12e-4a32-bc5d-0febe7fa6c29n%40googlegroups.com.
