Hi!
I used to dump the OpenLDAP databases using slapcat (as suggested for backup). As an optimization I avoid storing identical databases. However I had seen changes that actually were not made, so my question:
Is slapcat expected to be stable, i.e. report entries and attributes in a specific ordering? Is slapadd expected to be stable, i.e. add entries and attributes the same way when they come from the same LDIF file?
I had just removed the entryCSN on cn=config, and I see differences after removing and rebuilding the config database that were not made in the LDIF file:
--- /tmp/1 2013-07-12 14:49:35.000000000 +0200 +++ /tmp/2 2013-07-12 14:49:35.000000000 +0200 @@ -4,6 +4,10 @@ olcArgsFile: /var/run/slapd/slapd.args olcAuthzRegexp: {0}gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth dn :cn=config +olcLogLevel: config +olcLogLevel: stats +olcLogLevel: sync +olcLogLevel: none olcPidFile: /var/run/slapd/slapd.pid olcServerID: 1 ldap://rksapds1.site olcServerID: 2 ldap://rksapds2.site @@ -19,10 +23,6 @@ entryUUID: db3f4d44-7c0e-1032-81c4-d54356bd918f creatorsName: cn=config createTimestamp: 20130708113956Z -olcLogLevel: config -olcLogLevel: stats -olcLogLevel: sync -olcLogLevel: none entryCSN: 20130712095650.995134Z#000000#000#000000 modifiersName: cn=config modifyTimestamp: 20130712095650Z @@ -2152,12 +2152,12 @@ dn: olcDatabase={2}monitor,cn=config objectClass: olcDatabaseConfig olcDatabase: {2}monitor +olcAccess: {0}to dn.subtree="cn=monitor" by dn.base="cn=Admin,dc=censored + ,dc=uni-regensburg,dc=de" write by users read by * none structuralObjectClass: olcDatabaseConfig entryUUID: 20f4a254-7f1a-1032-9c35-67ae7acd0417 creatorsName: cn=config createTimestamp: 20130712083810Z -olcAccess: {0}to dn.subtree="cn=monitor" by dn.base="cn=Admin,dc=censored - ,dc=uni-regensburg,dc=de" write by users read by * none entryCSN: 20130712085712.643156Z#000000#000#000000 modifiersName: cn=config modifyTimestamp: 20130712085712Z
Regards, Ulrich
Ulrich Windl wrote:
Is slapcat expected to be stable,
Yes.
Details can depend on the backend though.
i.e. report entries and attributes in a specific ordering?
LDIF does not necessarily have a specific ordering. Don't expect simple text diff tools to be helpful with LDIF data in general.
Is slapadd expected to be stable, i.e. add entries and attributes the same way when they come from the same LDIF file?
Yes, in the sense that your LDAP entries will mainly contain all the attributes and values like before.
Ciao, Michael.
Michael Ströder wrote:
Ulrich Windl wrote:
Is slapcat expected to be stable,
Yes.
Details can depend on the backend though.
i.e. report entries and attributes in a specific ordering?
LDIF does not necessarily have a specific ordering.
The *X.500 Data Model* specifies that there is no ordering. Entries are sets of attributes. Sets are inherently unordered.
Don't expect simple text diff tools to be helpful with LDIF data in general.
Is slapadd expected to be stable, i.e. add entries and attributes the same way when they come from the same LDIF file?
Yes, in the sense that your LDAP entries will mainly contain all the attributes and values like before.
Ciao, Michael.
openldap-technical@openldap.org