Use the existing module_vars during the templating of module_vars

Since some of the vars contained in there may be used in the templating
of other variables. This also reverts e83a494 which originally fixed
issue  but broke some other variable related things.

Fixes 
Fixes 
Fixes 
This commit is contained in:
James Cammarata 2014-05-08 13:09:36 -05:00
parent 713657d684
commit 2e2e5d5321
2 changed files with 3 additions and 1 deletions
lib/ansible
playbook
runner

View file

@ -855,5 +855,4 @@ class Play(object):
# finally, update the VARS_CACHE for the host, if it is set
if host is not None:
self.playbook.VARS_CACHE[host].update(self.vars)
self.playbook.VARS_CACHE[host].update(self.playbook.extra_vars)

View file

@ -570,7 +570,10 @@ class Runner(object):
hostvars = HostVars(combined_cache, self.inventory, vault_password=self.vault_pass)
# use combined_cache and host_variables to template the module_vars
# we update the inject variables with the data we're about to template
# since some of the variables we'll be replacing may be contained there too
module_vars_inject = utils.combine_vars(combined_cache.get(host, {}), host_variables)
module_vars_inject.update(self.module_vars)
module_vars = template.template(self.basedir, self.module_vars, module_vars_inject)
inject = {}