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 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/CA%2BnsWgwWjMtLa01gR7zda0Tq%2BLMa8N%2B46S5TCMKeQhA3bBOXUg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
