I finally got around to updating some custom overlays to be configurable with cn=config and noticed that overlays were processed in the reverse order of what I expected after using slapd.d rather than slapd.conf.
If I have the following in slapd.conf:
... overlay overlay1 overlay overlay2 overlay overlay3 ...
and convert it to slapd.d, I will see the following in cn=config:
... # {0}overlay3, {1}bdb, config dn: olcOverlay={0}overlay3,olcDatabase={1}bdb,cn=config objectClass: olcOverlayConfig olcOverlay: {0}overlay3
# {1}overlay2, {1}bdb, config dn: olcOverlay={1}overlay2,olcDatabase={1}bdb,cn=config objectClass: olcOverlayConfig olcOverlay: {1}overlay2
# {2}overlay1, {1}bdb, config dn: olcOverlay={2}overlay1,olcDatabase={1}bdb,cn=config objectClass: olcOverlayConfig olcOverlay: {2}overlay1 ...
When slapd is started with slapd.conf, the overlay stack is correct (overlay3 -> overlay2 -> overlay1 for processing order), although cn=config reports the above. When slapd.d is used, the overlay stack is the opposite (overlay1 -> overlay2 -> overlay3). This occurs in both 2.3.39 and 2.4.6.
I see this as a problem in situations where order of overlays is important (syncprov comes to mind).
Is this a known behavior? It's obviously not that difficult to issue an ldapmodify command to set the proper order, but it was unexpected that I had to do so.
Thanks,
dave
David Hawes wrote:
I finally got around to updating some custom overlays to be configurable with cn=config and noticed that overlays were processed in the reverse order of what I expected after using slapd.d rather than slapd.conf.
Is this a known behavior? It's obviously not that difficult to issue an ldapmodify command to set the proper order, but it was unexpected that I had to do so.
Nope, that's not expected or intended. I guess you should file an ITS.
openldap-software@openldap.org