Bug 815799

Summary: Internal server error when Web UI calls pwpolicy_find with pkey_only option
Product: Red Hat Enterprise Linux 6 Reporter: Dmitri Pal <dpal>
Component: ipaAssignee: Rob Crittenden <rcritten>
Status: CLOSED ERRATA QA Contact: IDM QE LIST <seceng-idm-qe-list>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.3CC: jgalipea, mkosek, nsoman, syeghiay
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ipa-2.2.0-12.el6 Doc Type: Bug Fix
Doc Text:
No documentation needed.
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 13:27:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dmitri Pal 2012-04-24 14:32:37 UTC
This bug is created as a clone of upstream ticket:
https://fedorahosted.org/freeipa/ticket/2676

Server returns internal server error when there exists 3 or more password policies.

Probably regression because of #2045

Log:
{{{
[Tue Apr 24 09:11:09 2012] [error] ipa: INFO: admin.LAB.BOS.REDHAT.COM: group_find(None): SUCCESS
[Tue Apr 24 09:11:09 2012] [error] ipa: ERROR: non-public: KeyError: 'cospriority'
[Tue Apr 24 09:11:09 2012] [error] Traceback (most recent call last):
[Tue Apr 24 09:11:09 2012] [error]   File "/usr/lib/python2.6/site-packages/ipaserver/rpcserver.py", line 320, in wsgi_execute
[Tue Apr 24 09:11:09 2012] [error]     result = self.Command[name](*args, **options)
[Tue Apr 24 09:11:09 2012] [error]   File "/usr/lib/python2.6/site-packages/ipalib/frontend.py", line 438, in __call__
[Tue Apr 24 09:11:09 2012] [error]     ret = self.run(*args, **options)
[Tue Apr 24 09:11:09 2012] [error]   File "/usr/lib/python2.6/site-packages/ipalib/frontend.py", line 716, in run
[Tue Apr 24 09:11:09 2012] [error]     return self.execute(*args, **options)
[Tue Apr 24 09:11:09 2012] [error]   File "/usr/lib/python2.6/site-packages/ipalib/plugins/baseldap.py", line 1913, in execute
[Tue Apr 24 09:11:09 2012] [error]     entries.sort(self.entries_sortfn)
[Tue Apr 24 09:11:09 2012] [error]   File "/usr/lib/python2.6/site-packages/ipalib/plugins/pwpolicy.py", line 466, in sort_priority
[Tue Apr 24 09:11:09 2012] [error]     return cmp(int(x[1]['cospriority'][0]), int(y[1]['cospriority'][0]))
[Tue Apr 24 09:11:09 2012] [error] KeyError: 'cospriority'
[Tue Apr 24 09:11:09 2012] [error] ipa: INFO: admin: pwpolicy_find(None, sizelimit=0, pkey_only=True): KeyError

}}}

Comment 2 Martin Kosek 2012-04-26 12:46:12 UTC
Fixed upstream:

master:
b137b7137176fbcc02db0b9b9fdf53a896fdd11a
c34136b0375aace93ee947cc45a3cbdc64b2e35c
e1f69625454fe1c023c0f4571bbb0a15efc15ccf

ipa-2-2:
2271e0a481889d1a7d5d8b71aa9dda73880dd3f2
a79b4cea94403eee74afd5e773be1ce6b48e29fc
71f4b2be541863e7e462867c550e0f4fa6ba2642

Note: paging for password policy page in the Web UI was disabled so that the password policy order is right (password policies are ordered by their priority).

Comment 6 Martin Kosek 2012-05-03 07:11:23 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
No documentation needed.

Comment 7 Namita Soman 2012-05-03 19:02:44 UTC
Verified using ipa-server-2.2.0-12.el6.x86_64

Was able to add 7 policies - and no internal server errors, and while adding used varying priorities, and all were listed in sorted order

Comment 9 errata-xmlrpc 2012-06-20 13:27:26 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2012-0819.html