I'd like the included vars injected with the same precedence as those in
defaults/main.yml rather than the precedence of vars/main.yml. The
documentation is not clear on the what precendence  include_vars get.

>From my testing, vars coming from include_vars have a higher precedence
than inventory vars so they can not be overridden by inventory vars.

Taking:

1. -e variables always win
2. then comes "most everything else"
3. then comes variables defined in inventory
4. then comes facts discovered about a system
5. then "role defaults", which are the most "defaulty" and lose in
priority to everything.

I'd like the included vars to have the precedence of 5, rather than 2


On 29 Apr 2014 00:55, "Michael DeHaan" <[email protected]> wrote:

>
> I'm a little confused by this because you seem to be saying a feature
isn't supported that is actually part of Ansible, but it's actually a
module already in Ansible:
>
> http://docs.ansible.com/include_vars_module.html
>
> It also works with the "when" operator for per-OS variant usage.
>
> Were you perhaps reading an old thread talking about a language feature
when it didn't exist?
>
> Sorry for confusion...
>
>
>
>
>
>
>
> On Mon, Apr 28, 2014 at 6:01 PM, Matt Willsher <[email protected]> wrote:
>>
>> Hi,
>>
>> I'm trying to write generic roles for particular applications and keep
hitting across the same problem:
>>
>> I want to set role default based on the operating system or other facts,
like include_vars, but this doesn't appear to be supported.
>>
>> The only option I see practically available for template is to use the
template logic to handle defaults, but that, while flexible, is not as
elegant as being able to set by-fact defaults.
>>
>> The code I'm working at present on is
https://github.com/WillsherPartners/ansible-sshd , where there is a large
set of defaults and a template.  sshd_subsystem_sftp varies depending on
OS, but I still want to give the person using the role to option to
override the value if they see fit.
>>
>> Are there any plans for include_vars: (include_defaults?) functionality
in Ansible, or is there some other way to tackle per-os defaults?
>>
>>
>> Thanks,
>> Matt
>>
>>
>> --
>> 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/afaeac27-07cf-4e10-8504-ade22c361540%40googlegroups.com
.
>> 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/2VbVHrb0Xrc/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/CA%2BnsWgwr3ukLhnDdS9%3DZjM%3D1MPVte1D4H2RAbx_h%2BmkjJiDChg%40mail.gmail.com
.
>
> 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/CAKAnEVsDUvn0ttxxHeAFYTdiZS_7V21-yaHd%3DZRpeMhv_4by-A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to