From c2d314dec5bd949b2d9346325c66068bc4df2201 Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Thu, 14 Jan 2016 17:55:44 -0500 Subject: [PATCH] fix issue with add_hosts overwriting existing vars fixes github.com/ansible/ansible-modules-core/issues/2799 and is alternative to #13841 --- lib/ansible/plugins/strategy/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/ansible/plugins/strategy/__init__.py b/lib/ansible/plugins/strategy/__init__.py index 7b2a3794ef..7e726f0d34 100644 --- a/lib/ansible/plugins/strategy/__init__.py +++ b/lib/ansible/plugins/strategy/__init__.py @@ -40,6 +40,7 @@ from ansible.playbook.included_file import IncludedFile from ansible.plugins import action_loader, connection_loader, filter_loader, lookup_loader, module_loader, test_loader from ansible.template import Templar from ansible.vars.unsafe_proxy import wrap_var +from ansible.vars import combine_vars try: from __main__ import display @@ -372,9 +373,8 @@ class StrategyBase: allgroup.add_host(new_host) # Set/update the vars for this host - new_vars = host_info.get('host_vars', dict()) - new_host.vars = self._inventory.get_host_vars(new_host) - new_host.vars.update(new_vars) + new_host.vars = combine_vars(new_host.vars, self._inventory.get_host_vars(new_host)) + new_host.vars = combine_vars(new_host.vars, host_info.get('host_vars', dict())) new_groups = host_info.get('groups', []) for group_name in new_groups: