Fixes #5965 Ensure the inject for each item in a loop is un-altered

This commit is contained in:
James Tanner 2014-02-24 20:54:26 -05:00
parent abb4f2fbda
commit 0f95a905d9

View file

@ -628,7 +628,9 @@ class Runner(object):
all_failed = False all_failed = False
results = [] results = []
for x in items: for x in items:
inject['item'] = x # use a fresh inject for each item
this_inject = inject.copy()
this_inject['item'] = x
# TODO: this idiom should be replaced with an up-conversion to a Jinja2 template evaluation # TODO: this idiom should be replaced with an up-conversion to a Jinja2 template evaluation
if isinstance(self.complex_args, basestring): if isinstance(self.complex_args, basestring):
@ -640,7 +642,7 @@ class Runner(object):
host, host,
self.module_name, self.module_name,
self.module_args, self.module_args,
inject, this_inject,
port, port,
complex_args=complex_args complex_args=complex_args
) )