performance optimization in inventory.groups_list()

don't calculate all hosts for every parent group of every group
when that parent group was already in the cache
parent 5ec35fa3
......@@ -233,7 +233,8 @@ class Inventory(object):
groups[g.name] = [h.name for h in g.get_hosts()]
ancestors = g.get_ancestors()
for a in ancestors:
groups[a.name] = [h.name for h in a.get_hosts()]
if a.name not in groups:
groups[a.name] = [h.name for h in a.get_hosts()]
self._groups_list = groups
return self._groups_list
......
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