From ed3c9c40ca8b52f54e3ae1cf23184e7f5b2df262 Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Wed, 17 Sep 2014 11:03:36 -0500 Subject: [PATCH] Redoing patch for hostvars fix, since the previous one broke other tests --- lib/ansible/runner/__init__.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/ansible/runner/__init__.py b/lib/ansible/runner/__init__.py index 7b3e48d90c..8ec2d1a7ca 100644 --- a/lib/ansible/runner/__init__.py +++ b/lib/ansible/runner/__init__.py @@ -101,7 +101,7 @@ class HostVars(dict): def __getitem__(self, host): if host not in self.lookup: result = self.inventory.get_variables(host, vault_password=self.vault_password).copy() - result.update(self.vars_cache) + result.update(self.vars_cache.get(host, {})) self.lookup[host] = template.template('.', result, self.vars_cache) return self.lookup[host] @@ -622,6 +622,7 @@ class Runner(object): inject['environment'] = self.environment inject['playbook_dir'] = os.path.abspath(self.basedir) inject['omit'] = self.omit_token + inject['combined_cache'] = combined_cache return inject @@ -629,7 +630,7 @@ class Runner(object): ''' executes any module one or more times ''' inject = self.get_inject_vars(host) - hostvars = HostVars(inject, self.inventory, vault_password=self.vault_pass) + hostvars = HostVars(inject['combined_cache'], self.inventory, vault_password=self.vault_pass) inject['hostvars'] = hostvars host_connection = inject.get('ansible_connection', self.transport)