Make FreeIPA inventory work (#25354)

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
pull/28418/head
Abhijeet Kasurde 7 years ago committed by ansibot
parent b900f4a3be
commit c876f4f3cf

@ -3,6 +3,7 @@
import argparse import argparse
from ipalib import api from ipalib import api
import json import json
from distutils.version import StrictVersion
def initialize(): def initialize():
@ -31,13 +32,17 @@ def list_groups(api):
inventory = {} inventory = {}
hostvars = {} hostvars = {}
meta = {}
ipa_version = api.Command.env()['result']['version']
result = api.Command.hostgroup_find()['result'] result = api.Command.hostgroup_find()['result']
for hostgroup in result: for hostgroup in result:
# Get direct and indirect members (nested hostgroups) of hostgroup # Get direct and indirect members (nested hostgroups) of hostgroup
members = [] 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: if 'member_host' in hostgroup:
members = [host for host in hostgroup['member_host']] members = [host for host in hostgroup['member_host']]
if 'memberindirect_host' in hostgroup: if 'memberindirect_host' in hostgroup:

Loading…
Cancel
Save