Testing on 1.5.5 they appear at the level of "most everything else" - a
variable defined in a include_vars file overrides an inventory variable. If
they were at the level of facts, that would be great and would all default
like behaviour and overriding by more environment specific data.


On 29 April 2014 13:32, Michael DeHaan <[email protected]> wrote:

> include_vars creates fact scoped variables.
>
> Sorry, you're not going to be able to get it to work every which sort of
> different way.
>
> I would not assume OS specific defaults *or* instead just put hosts in a
> group based on the OS, if you really need that capability, and then could
> use group_vars/ files to do this.
>
>
>
>
> On Tue, Apr 29, 2014 at 3:05 AM, Matt Willsher <[email protected]> wrote:
>
>> 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<https://groups.google.com/d/msgid/ansible-project/CAKAnEVsDUvn0ttxxHeAFYTdiZS_7V21-yaHd%3DZRpeMhv_4by-A%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/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%2BnsWgwWjMtLa01gR7zda0Tq%2BLMa8N%2B46S5TCMKeQhA3bBOXUg%40mail.gmail.com<https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgwWjMtLa01gR7zda0Tq%2BLMa8N%2B46S5TCMKeQhA3bBOXUg%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/CAKAnEVvsKZ%2Br_ms-4RDUNcS2%2B5uOz9if4nYujcVUeTZxu3Rf1w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to