1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Make FreeIPA inventory work (#25354)

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This commit is contained in:
Abhijeet Kasurde 2017-08-19 01:16:43 +05:30 committed by ansibot
parent b900f4a3be
commit c876f4f3cf

View file

@ -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: