Use inventory.get_host instead of direct access to inventory.hosts (#41860)

* Use inventory.get_host instead of direct access to inventory.hosts. Fixes #32152

* Prevent potential side effect, by using self._inventory.localhost directly instead of get_host
This commit is contained in:
Matt Martz 2018-06-25 15:06:32 -05:00 committed by GitHub
parent d255cf42d7
commit 1a2ef0922f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -717,7 +717,12 @@ class StrategyBase:
# the host here is from the executor side, which means it was a
# serialized/cloned copy and we'll need to look up the proper
# host object from the master inventory
real_host = self._inventory.hosts[host.name]
real_host = self._inventory.hosts.get(host.name)
if real_host is None:
if host.name == self._inventory.localhost.name:
real_host = self._inventory.localhost
else:
raise AnsibleError('%s cannot be matched in inventory' % host.name)
group_name = result_item.get('add_group')
parent_group_names = result_item.get('parent_groups', [])