Commit 41aaad69 by Michael DeHaan

Make add_host clear the inventory pattern cache, add some more aliases. Fixes #4442.

parent 9c9ec52b
......@@ -266,6 +266,10 @@ class Inventory(object):
self._pattern_hosts[pattern] = results
return self._pattern_hosts[pattern]
def clear_pattern_cache(self):
''' called exclusively by the add_host plugin to allow patterns to be recalculated '''
self._pattern_hosts = {}
def groups_for_host(self, host):
results = []
groups = self.get_groups()
......
......@@ -75,7 +75,7 @@ class ActionModule(object):
new_host.set_variable(k, args[k])
groupnames = args.get('groupname', args.get('groups', ''))
groupnames = args.get('groupname', args.get('groups', args.get('group', '')))
# add it to the group if that was specified
if groupnames != '':
for group_name in groupnames.split(","):
......@@ -89,6 +89,10 @@ class ActionModule(object):
result['new_host'] = new_name
# clear pattern caching completely since it's unpredictable what
# patterns may have referenced the group
inventory.clear_pattern_cache()
return ReturnData(conn=conn, comm_ok=True, result=result)
......
......@@ -10,12 +10,12 @@ description:
version_added: "0.9"
options:
name:
aliases: [ 'hostname' ]
aliases: [ 'hostname', 'host' ]
description:
- The hostname/ip of the host to add to the inventory, can include a colon and a port number.
required: true
groups:
aliases: [ 'groupname' ]
aliases: [ 'groupname', 'group' ]
description:
- The groups to add the hostname to, comma separated.
required: false
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment