Serge, thanks for pointing me to the help.
It seems that group_vars.py plugin runs after my plugin which gives the
wrong precedence for what i need.
Just to close the loop on this thread, my solution was to add self.priority
= 1 in the constructor of VarsModule for my deploy_vars.py plugin and then
this in
lib/ansible/inventory/__init__.py
#self._vars_plugins = [ x for x in
utils.plugins.vars_loader.all(self) ] # original line replaced by the
lines below
# 21ct KB add priority to all deploy_vars to have higher precedence
than group_vars
# higher priority value = higher precedence
unsorted_plugins = [ x for x in utils.plugins.vars_loader.all(self)
if not hasattr(x,'priority')]
sorted_plugins = [ x for x in utils.plugins.vars_loader.all(self)
if hasattr(x,'priority')]
sorted_plugins = sorted(sorted_plugins, key=lambda t:
t.__getattribute__('priority'))
# last in list has highest precedence
self._vars_plugins = (unsorted_plugins or []) + (sorted_plugins or
[])
thanks for your assistance on this.
kesten
On Tuesday, April 1, 2014 12:52:04 PM UTC-5, Serge van Ginderachter wrote:
>
>
> On 1 April 2014 19:33, Kesten Broughton <[email protected]<javascript:>
> > wrote:
>
>> However, i'm not clear if dropping my group_vars into
>> ansible/plugins/vars_plugins/group_vars.py will run before, after or
>> instead of lib/ansible/inventory/vars_plugins/group_vars.py?
>> Is there a way to specify ordering / precedence of files in a plugin
>> directory? Maybe just point me to the plugin loader code?
>>
>
> They will all run, and the order is not really defined, nor
> configureable, though i *think* the core plugin will run first.
>
> Plugin loader code is in lib/ansible/utils/plugins.py.
> The vars plugin get initialized in lib/ansible/inventory/__init__.py (at
> the end of the Inventory constructor)
>
>
--
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/fb1c6e10-1342-4868-9048-17433bc92540%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.