Bug 739959

Summary: [RFE] Allow separate fractional attrs to be defined for incremental and total protocols
Product: Red Hat Enterprise Linux 6 Reporter: Nathan Kinder <nkinder>
Component: 389-ds-baseAssignee: Rich Megginson <rmeggins>
Status: CLOSED ERRATA QA Contact: IDM QE LIST <seceng-idm-qe-list>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.2CC: dpal, jgalipea, jr.aquino, nsoman, rmeggins, sramling
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 389-ds-base-1.2.9.12-2.el6 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: 739172 Environment:
Last Closed: 2011-12-06 17:56:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 739172    
Bug Blocks: 747120    

Description Nathan Kinder 2011-09-20 14:41:22 UTC
+++ This bug was initially created as a clone of Bug #739172 +++

When using fractional replication, there is a single list of attributes to exclude that is used for both total update and incremental updated replication protocols.  While this is generally what one wants to do, it would be nice to have the ability to have separate attribute lists for each protocol.

In the case where you are using a plug-in like memberOf, you want to exclude the memberOf attribute from replication to allow each replica to generate it's own memberOf attributes.  This makes sense for the incremental update protocol, but there is no reason to exclude it from total update, as the memberOf consistency is in a known good state.  If we could replicate memberOf for total update, there would be no need to run a potentially costly memberOf fixup task on each replica after it is initialized.

--- Additional comment from nkinder on 2011-09-16 13:08:17 EDT ---

Created attachment 523589 [details]
Patch

--- Additional comment from nkinder on 2011-09-16 13:28:29 EDT ---

*** Bug 739176 has been marked as a duplicate of this bug. ***

--- Additional comment from rmeggins on 2011-09-16 13:36:39 EDT ---

If you specify a list of fractional attributes for incremental protocol, and you do not specify a list for total protocol, will total protocol use the list of the incremental attributes?

--- Additional comment from nkinder on 2011-09-16 13:42:55 EDT ---

(In reply to comment #3)
> If you specify a list of fractional attributes for incremental protocol, and
> you do not specify a list for total protocol, will total protocol use the list
> of the incremental attributes?

Yes.  I did this to remain backwards compatible.  I don't want someone upgrading to suddenly find that attributes they want completely excluded (like passwords) are being pushed to replicas during initialization.

--- Additional comment from nkinder on 2011-09-16 16:46:42 EDT ---

Pushed to master.  Thanks to Rich and Noriko for their reviews!

Counting objects: 25, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (13/13), done.
Writing objects: 100% (13/13), 2.19 KiB, done.
Total 13 (delta 11), reused 0 (delta 0)
To ssh://git.fedorahosted.org/git/389/ds.git
   6120b3d..0157534  master -> master

Comment 1 Nathan Kinder 2011-09-20 14:42:54 UTC
This is needed for use by IPA.

Comment 3 Sankar Ramalingam 2011-11-08 10:30:33 UTC
Added two tests in TET under mmrepl/fractional to verify the newly added fractional replication attribute list. 

This is how the configuration looks like...
/usr/lib64/mozldap/ldapsearch -p 30000 -h localhost -D "cn=Directory Manager" -w Secret123 -b "cn=fractional_0_to_fractional_2,cn=replica,cn=\"dc=example,dc=com\",cn=mapping tree,cn=config" objectClass=* nsDS5ReplicatedAttributeList nsDS5ReplicatedAttributeListTotal
version: 1
dn: cn=fractional_0_to_fractional_2,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=m
 apping tree,cn=config
nsDS5ReplicatedAttributeList: (objectclass=*) $ EXCLUDE audio businessCategory
  carLicense departmentNumber description destinationIndicator displayName em
 ployeeNumber employeeType userPassword facsimileTelephoneNumber roomNumber t
 elephoneNumber memberOf manager
nsDS5ReplicatedAttributeListTotal: (objectclass=*) $ EXCLUDE audio businessCat
 egory carLicense departmentNumber description destinationIndicator displayNa
 me employeeNumber employeeType userPassword facsimileTelephoneNumber roomNum
 ber telephoneNumber

As per the configuration, the memberOf and manager attributes synced when total update is run and not with incremental updates.

Hence marking the bug as verified.

Comment 4 errata-xmlrpc 2011-12-06 17:56:33 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/RHEA-2011-1711.html