mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Performance: Find commands: do not process members by default
In all *-find commands, member attributes shouldn't be processed due high amount fo ldpaserches cause serious performance issues. For this reason --no-members option is set by default in CLI and API. To get members in *-find command option --all in CLI is rquired or 'no_members=False' or 'all=True' must be set in API call. For other commands processing of members stays unchanged. WebUI is not affected by this change. https://fedorahosted.org/freeipa/ticket/4995 Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
This commit is contained in:
@@ -291,9 +291,47 @@ class test_role(Declarative):
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Search for %r with members' % role1,
|
||||
command=('role_find', [role1], {'no_members': False}),
|
||||
expected=dict(
|
||||
count=1,
|
||||
truncated=False,
|
||||
summary=u'1 role matched',
|
||||
result=[
|
||||
{
|
||||
'dn': role1_dn,
|
||||
'cn': [role1],
|
||||
'description': [u'role desc 1'],
|
||||
'member_group': [group1],
|
||||
'memberof_privilege': [privilege1],
|
||||
},
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Search for %r' % role1,
|
||||
command=('role_find', [role1], {}),
|
||||
expected=dict(
|
||||
count=1,
|
||||
truncated=False,
|
||||
summary=u'1 role matched',
|
||||
result=[
|
||||
{
|
||||
'dn': role1_dn,
|
||||
'cn': [role1],
|
||||
'description': [u'role desc 1'],
|
||||
},
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Search for %r with members' % search,
|
||||
command=('role_find', [search], {'no_members': False}),
|
||||
expected=dict(
|
||||
count=1,
|
||||
truncated=False,
|
||||
@@ -323,8 +361,6 @@ class test_role(Declarative):
|
||||
'dn': role1_dn,
|
||||
'cn': [role1],
|
||||
'description': [u'role desc 1'],
|
||||
'member_group': [group1],
|
||||
'memberof_privilege': [privilege1],
|
||||
},
|
||||
],
|
||||
),
|
||||
@@ -350,8 +386,8 @@ class test_role(Declarative):
|
||||
|
||||
|
||||
dict(
|
||||
desc='Search for %r' % role1,
|
||||
command=('role_find', [role1], {}),
|
||||
desc='Search for %r with members' % role1,
|
||||
command=('role_find', [role1], {'no_members': False}),
|
||||
expected=dict(
|
||||
count=1,
|
||||
truncated=False,
|
||||
@@ -370,8 +406,26 @@ class test_role(Declarative):
|
||||
|
||||
|
||||
dict(
|
||||
desc='Search for %r' % search,
|
||||
command=('role_find', [search], {}),
|
||||
desc='Search for %r' % role1,
|
||||
command=('role_find', [role1], {}),
|
||||
expected=dict(
|
||||
count=1,
|
||||
truncated=False,
|
||||
summary=u'1 role matched',
|
||||
result=[
|
||||
{
|
||||
'dn': role1_dn,
|
||||
'cn': [role1],
|
||||
'description': [u'role desc 1'],
|
||||
},
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Search for %r with members' % search,
|
||||
command=('role_find', [search], {'no_members': False}),
|
||||
expected=dict(
|
||||
count=2,
|
||||
truncated=False,
|
||||
@@ -394,6 +448,29 @@ class test_role(Declarative):
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Search for %r' % search,
|
||||
command=('role_find', [search], {}),
|
||||
expected=dict(
|
||||
count=2,
|
||||
truncated=False,
|
||||
summary=u'2 roles matched',
|
||||
result=[
|
||||
{
|
||||
'dn': role1_dn,
|
||||
'cn': [role1],
|
||||
'description': [u'role desc 1'],
|
||||
},
|
||||
{
|
||||
'dn': role2_dn,
|
||||
'cn': [role2],
|
||||
'description': [u'role desc 2'],
|
||||
},
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
dict(
|
||||
desc='Update %r' % role1,
|
||||
command=(
|
||||
|
||||
Reference in New Issue
Block a user