Query for server role IPA master

server_find and server_role plugin were hiding IPA master role
information. It's now possible to fetch IPA master role information and
to filter by IPA master role, e.g. to ignore servers that have some
services configured but not (yet) enabled.

See: https://pagure.io/freeipa/issue/7566
Signed-off-by: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
Reviewed-By: Fraser Tweedale <ftweedal@redhat.com>
This commit is contained in:
Christian Heimes
2018-07-05 23:50:37 +02:00
parent e8d33ccfd1
commit 7c2ca14118
3 changed files with 24 additions and 6 deletions

View File

@@ -205,7 +205,10 @@ class server(LDAPObject):
return
enabled_roles = self.api.Command.server_role_find(
server_server=entry_attrs['cn'][0], status=ENABLED)['result']
server_server=entry_attrs['cn'][0],
status=ENABLED,
include_master=True,
)['result']
enabled_role_names = [r[u'role_servrole'] for r in enabled_roles]
@@ -339,7 +342,9 @@ class server_find(LDAPSearch):
role_status = self.api.Command.server_role_find(
server_server=None,
role_servrole=role,
status=ENABLED)['result']
status=ENABLED,
include_master=True,
)['result']
return set(
r[u'server_server'] for r in role_status)