Allow for updating host vars in add_host

This commit is contained in:
James Tanner 2013-10-04 16:15:17 -04:00
parent 1688139cb5
commit 52aea868df

View file

@ -56,20 +56,25 @@ class ActionModule(object):
new_name, new_port = new_name.split(":")
args['ansible_ssh_port'] = new_port
# create host and get inventory
new_host = Host(new_name)
# redefine inventory and get group "all"
inventory = self.runner.inventory
allgroup = inventory.get_group('all')
# check if host in cache, add if not
if new_name in inventory._hosts_cache:
new_host = inventory._hosts_cache[new_name]
else:
new_host = Host(new_name)
# only groups can be added directly to inventory
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])
# add the new host to the 'all' group
allgroup = inventory.get_group('all')
allgroup.add_host(new_host)
groupnames = args.get('groupname', args.get('groups', ''))
# add it to the group if that was specified
if groupnames != '':