Skip to content

Commit

Permalink
Lookup plugin arguments need to be templated
Browse files Browse the repository at this point in the history
  • Loading branch information
dhozac committed Nov 14, 2012
1 parent 44af140 commit e74ffd6
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
2 changes: 2 additions & 0 deletions lib/ansible/utils/template.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,8 @@ def _varFind(basedir, text, vars, depth=0):
if lookup_plugin_name == 'LOOKUP':
lookup_plugin_name, args = args.split(",", 1)
args = args.strip()
# args have to be templated
args = varReplace(basedir, args, vars, depth=depth+1, expand_lists=True)
instance = utils.plugins.lookup_loader.get(lookup_plugin_name.lower(), basedir=basedir)
if instance is not None:
replacement = instance.run(args, inject=vars)
Expand Down
4 changes: 2 additions & 2 deletions test/TestUtils.py
Original file line number Diff line number Diff line change
Expand Up @@ -272,9 +272,9 @@ def test_template_varReplace_iterated(self):
assert res == u'hello oh great one'

def test_varReplace_include(self):
template = 'hello $FILE(world) $LOOKUP(file, world)'
template = 'hello $FILE(world) $LOOKUP(file, $filename)'

res = ansible.utils.template("test", template, {}, expand_lists=True)
res = ansible.utils.template("test", template, {'filename': 'world'}, expand_lists=True)

assert res == u'hello world world'

Expand Down

0 comments on commit e74ffd6

Please sign in to comment.