When using entry distribution with a local db, each db has to have a copy of the root entry. For example, if you have a suffix ou=people,dc=example,dc=com with backends be1,be2,be3,be4 - each backend must have the entry
dn: ou=people,dc=example,dc=com objectclass: organizationalunit ....
This is problematic from the standpoint of access control, replication, etc.
Furthermore, the only way to add this entry is by using an import e.g. create an ldif file with the entry in it then
for be in be1 be2 be3 be4 ; do ldif2db -n $be rootentry.ldif ; done
This makes it difficult to set up via LDAP:
One solution to use LDAP would be to extend the MTN_CONTROL_USE_ONE_BACKEND_OID and MTN_CONTROL_USE_ONE_BACKEND_EXT_OID controls for use with ADD operations. Then an LDAP client could use the control and an add operation to populate all of the backends.
Another solution would be to figure out a way to have only 1 copy of the root entry. This may be very difficult because the ldbm_add.c code assumes the use of only 1 backend. Perhaps entry distribution should always create an additional backend for the root entry and any other entries which should not be distributed, and the ldbm_add code should be changed to handle the case where the parent is in a different database backend.
Metadata Update from @rmeggins: - Issue set to the milestone: FUTURE
Metadata Update from @mreynolds: - Custom field reviewstatus adjusted to None - Issue close_status updated to: wontfix - Issue status updated to: Closed (was: Open)
389-ds-base is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in 389-ds-base's github repository.
This issue has been cloned to Github and is available here: - https://github.com/389ds/389-ds-base/issues/1010
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.