fix vars hostname fallback
also made it optimistic, rely on exceptions instead of copmlex if chains
This commit is contained in:
parent
9a18385fab
commit
11dbed1350
1 changed files with 7 additions and 7 deletions
|
@ -78,15 +78,15 @@ class LookupModule(LookupBase):
|
|||
raise AnsibleError('Invalid setting identifier, "%s" is not a string, its a %s' % (term, type(term)))
|
||||
|
||||
try:
|
||||
if term in myvars:
|
||||
try:
|
||||
value = myvars[term]
|
||||
elif 'hostvars' in myvars and term in myvars['hostvars']:
|
||||
# maybe it is a host var?
|
||||
value = myvars['hostvars'][term]
|
||||
else:
|
||||
raise AnsibleUndefinedVariable('No variable found with this name: %s' % term)
|
||||
ret.append(self._templar.template(value, fail_on_undefined=True))
|
||||
except KeyError:
|
||||
try:
|
||||
value = myvars['hostvars'][myvars['inventory_hostname']][term]
|
||||
except KeyError:
|
||||
raise AnsibleUndefinedVariable('No variable found with this name: %s' % term)
|
||||
|
||||
ret.append(self._templar.template(value, fail_on_undefined=True))
|
||||
except AnsibleUndefinedVariable:
|
||||
if default is not None:
|
||||
ret.append(default)
|
||||
|
|
Loading…
Reference in a new issue