now correctly aplies add_host passed variables last to override existing vars.

This commit is contained in:
Brian Coca 2015-03-20 11:22:07 -04:00
parent 7aab5d6828
commit a53cf9d6fa
2 changed files with 11 additions and 6 deletions

View file

@ -69,12 +69,6 @@ class ActionModule(object):
inventory._hosts_cache[new_name] = new_host
allgroup.add_host(new_host)
# Add any variables to the new_host
for k in args.keys():
if not k in [ 'name', 'hostname', 'groupname', 'groups' ]:
new_host.set_variable(k, args[k])
groupnames = args.get('groupname', args.get('groups', args.get('group', '')))
# add it to the group if that was specified
if groupnames:
@ -100,6 +94,11 @@ class ActionModule(object):
# actually load host vars
new_host.vars = inventory.get_host_variables(new_name, update_cached=True, vault_password=inventory._vault_password)
# Add any passed variables to the new_host
for k in args.keys():
if not k in [ 'name', 'hostname', 'groupname', 'groups' ]:
new_host.set_variable(k, args[k])
result['new_host'] = new_name
# clear pattern caching completely since it's unpredictable what

View file

@ -42,6 +42,12 @@
debug: var=unicode_host_var
- name: 'A play for hosts in group: ĪīĬĭ'
hosts: 'ĪīĬĭ'
gather_facts: false
tasks:
- debug: var=hostvars[inventory_hostname]
- name: 'A play for hosts in group: ĪīĬĭ'
hosts: 'ĪīĬĭ'
gather_facts: true