Use hostgroup_find(all=True) returns member hosts of all hostgroups in a single call (#29106)

This commit is contained in:
Ryan Groten 2017-12-18 10:28:19 -07:00 committed by ansibot
parent 2cdbde524b
commit b34d150bec

View file

@ -5,7 +5,6 @@
import argparse
from ipalib import api
import json
from distutils.version import StrictVersion
def initialize():
@ -35,15 +34,11 @@ def list_groups(api):
inventory = {}
hostvars = {}
ipa_version = api.Command.env()['result']['version']
result = api.Command.hostgroup_find()['result']
result = api.Command.hostgroup_find(all=True)['result']
for hostgroup in result:
# Get direct and indirect members (nested hostgroups) of hostgroup
members = []
if StrictVersion(ipa_version) >= StrictVersion('4.0.0'):
hostgroup_name = hostgroup['cn'][0]
hostgroup = api.Command.hostgroup_show(hostgroup_name)['result']
if 'member_host' in hostgroup:
members = [host for host in hostgroup['member_host']]