Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 553027

Summary: Support for nsUniqueId and alias for additional retro changelog attributes
Product: [Retired] 389 Reporter: Endi Sukma Dewata <edewata>
Component: Server - PluginsAssignee: Rich Megginson <rmeggins>
Status: CLOSED CURRENTRELEASE QA Contact: Viktor Ashirov <vashirov>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.2.1CC: amsharma, jgalipea, nhosoi, nkinder, rmeggins
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-07 17:00:18 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:    
Bug Blocks: 543590, 639035    
Attachments:
Description Flags
Patch rmeggins: review+

Description Endi Sukma Dewata 2010-01-06 21:10:57 UTC
Currently the retro changelog supports a set of additional attributes:
* built-in attribute: isReplicated
* any attributes stored in the changed entry: e.g. cn, uid, objectClass

Adding nsUniqueId into the change log record is currently not possible because it requires calling the slapi_entry_get_uniqueid(). Also the additional attribute may conflict with the standard attributes in the change log record.

To fix this problem the plugin should support the nsUniqueId as a built-in attribute and an alias for renaming each additional attribute. The alias should be specified after the attribute name in the nsslapd-attribute, separated by a colon. For example:

nsslapd-attribute: nsUniqueId:changedUniqueId
nsslapd-attribute: objectClass:changedObjectClass

The change log record should look like the following:

dn: changenumber=...,cn=changelog
objectClass: top
objectClass: changelogentry
objectClass: extensibleObject
changeNumber: ...
changeTime: ...
changeType: ...
targetDn: ...
changedUniqueId: <nsUniqueId of the changed entry>
changedObjectClass: <objectClass of the changed entry>

Comment 1 Endi Sukma Dewata 2010-01-13 06:34:09 UTC
Created attachment 383418 [details]
Patch

Comment 2 Rich Megginson 2010-01-13 16:21:15 UTC
To ssh://git.fedorahosted.org/git/389/ds.git
   cd1ab96..9f88491  master -> master

commit 9f88491132cb2d1c5f11fd5475e1a6826e1dc7ee
Author: Endi S. Dewata <endisd>
Date:   Tue Jan 12 14:43:08 2010 -0600

Pushed to master by rmeggins

Comment 4 Amita Sharma 2011-06-22 08:33:00 UTC
ldapsearch -x -h localhost -p 1389 -D "cn=Directory Manager" -w Secret123 -b "cn=changelog" -s sub "(objectclass=*)" nsUniqueId
# extended LDIF
#
# LDAPv3
# base <cn=changelog> with scope subtree
# filter: (objectclass=*)
# requesting: nsUniqueId 
#

# changelog
dn: cn=changelog
nsUniqueId: a511a250-9bef11e0-8bc3f046-3ecc72f1

# 26, changelog
dn: changenumber=26,cn=changelog
nsUniqueId: d0f05e04-9ca711e0-8bc3f046-3ecc72f1

# 27, changelog
dn: changenumber=27,cn=changelog
nsUniqueId: cafb7d56-9ca911e0-8bc3f046-3ecc72f1


Hence Verified.