From a9942353fe0e9a1e54972ba87b38d967e496b02f Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Fri, 6 Oct 2017 19:11:00 -0400 Subject: [PATCH] revert ocalhost getting 'all' vars (#31425) back to previous implicit localhost behaviour fixes #31420 --- lib/ansible/inventory/data.py | 3 --- lib/ansible/inventory/host.py | 2 +- lib/ansible/vars/manager.py | 15 ++++++++------- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/lib/ansible/inventory/data.py b/lib/ansible/inventory/data.py index e828c1a8d2..72f27fc7d5 100644 --- a/lib/ansible/inventory/data.py +++ b/lib/ansible/inventory/data.py @@ -79,9 +79,6 @@ class InventoryData(object): else: new_host = Host(pattern) - # use 'all' vars but not part of all group - new_host.vars = self.groups['all'].get_vars() - new_host.address = "127.0.0.1" new_host.implicit = True diff --git a/lib/ansible/inventory/host.py b/lib/ansible/inventory/host.py index a92835290a..647e00dc1c 100644 --- a/lib/ansible/inventory/host.py +++ b/lib/ansible/inventory/host.py @@ -143,7 +143,7 @@ class Host: results['inventory_hostname_short'] = self.name.split('.')[0] results['group_names'] = sorted([g.name for g in self.get_groups() if g.name != 'all']) - return combine_vars(self.vars, results) + return results def get_vars(self): return combine_vars(self.vars, self.get_magic_vars()) diff --git a/lib/ansible/vars/manager.py b/lib/ansible/vars/manager.py index a29b186db6..0a50261a88 100644 --- a/lib/ansible/vars/manager.py +++ b/lib/ansible/vars/manager.py @@ -319,14 +319,15 @@ class VariableManager: data[group] = combine_vars(data[group], _plugins_play(group)) return data - # Merge as per precedence config + # Merge groups as per precedence config, if not implicit localhost # only allow to call the functions we want exposed - for entry in C.VARIABLE_PRECEDENCE: - if entry in self._ALLOWED: - display.debug('Calling %s to load vars for %s' % (entry, host.name)) - all_vars = combine_vars(all_vars, locals()[entry]()) - else: - display.warning('Ignoring unknown variable precedence entry: %s' % (entry)) + if not host.implicit: + for entry in C.VARIABLE_PRECEDENCE: + if entry in self._ALLOWED: + display.debug('Calling %s to load vars for %s' % (entry, host.name)) + all_vars = combine_vars(all_vars, locals()[entry]()) + else: + display.warning('Ignoring unknown variable precedence entry: %s' % (entry)) # host vars, from inventory, inventory adjacent and play adjacent via plugins all_vars = combine_vars(all_vars, host.get_vars())