Hi all,

I have a bunch of nested roles for a specific project.

I'm trying to dynamically invoked roles based on variable I have in the 
inventory.
For example, let's say I have a foo variable that is defined for every 
hosts, the following will fail:

#roles/A/meta.yml
dependencies:
- { role: "B/{{foo}}" }

I would expect that it would load the roles in roles/B/<what foo point 
here>, but rather I have the following error:
ERROR! 'foo' is undefined.

Strange things, If I invoke foo as a play variable like this:

- hosts: srv
gather_facts: True
vars:
foo: "bar"
roles:
- { role: A }

It correctly loads and execute roles/B/bar...

So it seems to not expand inventory variable when passing them to "role" 
directive.. Is this an expected behavior ? Is there any workaround ? This 
is kind of annoying because I wanted to dynamically load roles based on 
inventory variables rather than relying on conditional include using plenty 
of "when:" statement in the meta directive...

Best regards,

Lionel. 

-- 
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/11a864e4-49b3-44bf-b560-99af51070558%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to