Bug 1559764

Summary: memberof fails if group is moved into scope [rhel-7.5.z]
Product: Red Hat Enterprise Linux 7 Reporter: Oneata Mircea Teodor <toneata>
Component: 389-ds-baseAssignee: mreynolds
Status: CLOSED ERRATA QA Contact: Viktor Ashirov <vashirov>
Severity: medium Docs Contact: Marc Muehlfeld <mmuehlfe>
Priority: high    
Version: 7.4CC: amsharma, lkrispen, mreynolds, msauton, nkinder, rmeggins
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 389-ds-base-1.3.7.5-20 Doc Type: Bug Fix
Doc Text:
If an administrator moves a group in Directory Server from one subtree to another, the memberOf plug-in deletes the memberOf attribute with the old value and adds a new memberOf attribute with the new group's distinguished name (DN) in affected user entries. Previously, if the old subtree was not within the scope of the memberOf plug-in, deleting the old memberOf attribute failed because the values did not exist. As a consequence, the plug-in did not add the new memberOf value, and the user entry contained an incorrect memberOf value. With this update, the plug-in now checks the return code when deleting the old value. If the return code is "no such value", the plug-in only adds the new memberOf value. As a result, the memberOf attribute information is correct.
Story Points: ---
Clone Of: 1551071 Environment:
Last Closed: 2018-05-14 16:09:58 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:
Bug Depends On: 1551071    
Bug Blocks:    

Description Oneata Mircea Teodor 2018-03-23 09:03:31 UTC
This bug has been copied from bug #1551071 and has been proposed to be backported to 7.5 z-stream (EUS).

Comment 5 Amita Sharma 2018-04-16 07:05:33 UTC
# pytest -s -v try.py 
================================================================ test session starts =================================================================
platform linux -- Python 3.6.3, pytest-3.5.0, py-1.5.3, pluggy-0.6.0 -- /opt/rh/rh-python36/root/usr/bin/python3
cachedir: .pytest_cache
metadata: {'Python': '3.6.3', 'Platform': 'Linux-3.10.0-862.el7.x86_64-x86_64-with-redhat-7.5-Maipo', 'Packages': {'pytest': '3.5.0', 'py': '1.5.3', 'pluggy': '0.6.0'}, 'Plugins': {'metadata': '1.7.0', 'html': '1.17.0'}}
389-ds-base: 1.3.7.5-21.el7
nss: 3.34.0-4.el7
nspr: 4.17.0-1.el7
openldap: 2.4.44-13.el7
svrcore: 4.1.3-2.el7

rootdir: /mnt/tests/rhds/tests/upstream/ds/dirsrvtests/tests/tickets, inifile:
plugins: metadata-1.7.0, html-1.17.0
collected 1 item                                                                                                                                     

try.py::test_ticket_49161 OK group dirsrv exists
OK user dirsrv exists
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
INFO:lib389:!!!!!!! cn=m1,cn=sub1,dc=example,dc=com: memberof->cn=g1,cn=sub1,dc=example,dc=com
INFO:lib389:!!!!!!! cn=m1,cn=sub1,dc=example,dc=com: memberof->cn=g1,cn=sub1,dc=example,dc=com
INFO:lib389:!!!!!!! cn=m1,cn=sub1,dc=example,dc=com: memberof->cn=g1,cn=sub1,dc=example,dc=com
INFO:lib389:!!!!!!! cn=m1,cn=sub1,dc=example,dc=com: memberof->cn=g1,cn=sub1,dc=example,dc=com
CRITICAL:dirsrvtests.tests.tickets.try:Renaming user (cn=g2,cn=sub2,dc=example,dc=com): new cn=g2-new
INFO:lib389:!!!!!!! cn=m1,cn=sub1,dc=example,dc=com: memberof->cn=g1,cn=sub1,dc=example,dc=com
INFO:lib389:!!!!!!! cn=m1,cn=sub1,dc=example,dc=com: memberof->cn=g1,cn=sub1,dc=example,dc=com
INFO:lib389:!!!!!!! cn=m1,cn=sub1,dc=example,dc=com: memberof->cn=g1,cn=sub1,dc=example,dc=com
INFO:lib389:!!!!!!! cn=m1,cn=sub1,dc=example,dc=com: memberof->cn=g2-new,cn=sub1,dc=example,dc=com
INFO:lib389:!!!!!!! cn=m1,cn=sub1,dc=example,dc=com: memberof->cn=g1,cn=sub1,dc=example,dc=com
INFO:lib389:!!!!!!! cn=m1,cn=sub1,dc=example,dc=com: memberof->cn=g2-new,cn=sub1,dc=example,dc=com
PASSEDInstance slapd-standalone1 removed.


============================================================= 1 passed in 17.57 seconds ==============================================================
[root@qeos-28 tickets]#

Comment 11 errata-xmlrpc 2018-05-14 16:09:58 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.

https://access.redhat.com/errata/RHSA-2018:1380