Hello,
I'm attempting to setup a delta-syncrepl replication scheme to replace an aging slurpd installation and am having troubles. After trying about 4 different tutorials and going through the docs this is almost working. When bringing up a new ldap slave, it copies the database down from the provider and seems to mirror it locally. When making additions to the master, they do not replicate down to the slaves.
The slave's syslog has lots of entries like this: Feb 24 17:50:37.012 ns1.mad01.mtt slapd[21033]: do_syncrep2: rid=000 LDAP_RES_SEARCH_RESULT (32) No such object Feb 24 17:50:37.057 ns1.mad01.mtt slapd[21033]: do_syncrep2: rid=000 (32) No such object Feb 24 17:50:37.086 ns1.mad01.mtt slapd[21033]: do_syncrepl: rid=000 retrying
ldapsearch -x -b 'o=mtt' 'uid=newlyaddeduser' -H ldap://provider # Shows the user ldapsearch -x -b 'o=mtt' 'uid=newlyaddeduser' -H ldap://slave # Does not show anything
If anyone has ANY suggestions or pointers towards the source of this problem I'd really appreciate it.
Thanks!
========= PROVIDER slapd.conf =========== include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/inetorgperson.schema
access to attrs=userPassword by self write by anonymous read by dn.base="cn=Manager,o=mtt" write by dn.base="cn=Replicator,o=mtt" read by * read
access to * by self write by anonymous read by dn.base="cn=Manager,o=mtt" write by dn.base="cn=Replicator,o=mtt" read by * read by * read
pidfile /var/run/openldap/slapd.pid argsfile /var/run/openldap/slapd.args loglevel none modulepath /usr/lib64/openldap/ moduleload syncprov moduleload accesslog sizelimit 500 tool-threads 2 backend hdb database config database hdb directory /var/lib/ldap suffix cn=accesslog rootdn cn=accesslog index default eq index entryCSN,objectClass,reqEnd,reqResult,reqStart database hdb suffix "o=mtt" directory /var/lib/ldap rootdn "cn=Manager,o=mtt" rootpw <SHA1 HASH HERE>
overlay syncprov syncprov-nopresent TRUE syncprov-reloadhint TRUE syncprov-checkpoint 1000 60 overlay accesslog logdb cn=accesslog logops writes logsuccess TRUE logpurge 07+00:00 01+00:00
limits dn.exact="cn=Replicator,o=mtt" time.soft=unlimited time.hard=unlimited size.soft=unlimited size.hard=unlimited dbconfig set_cachesize 0 2097152 0 dbconfig set_lk_max_objects 1500 dbconfig set_lk_max_locks 1500 dbconfig set_lk_max_lockers 1500 index objectClass eq lastmod on checkpoint 512 30 database monitor monitoring on
=====================================
=========== SLAVE slapd.conf ============ include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/inetorgperson.schema access to attrs=userPassword by self write by anonymous read by dn.base="cn=Manager,o=mtt" write by dn.base="cn=Replicator,o=mtt" read by * read access to * by self write by anonymous read by dn.base="cn=Manager,o=mtt" write by dn.base="cn=Replicator,o=mtt" read by * read by * read pidfile /var/run/openldap/slapd.pid argsfile /var/run/openldap/slapd.args loglevel none sizelimit 500 tool-threads 2 backend hdb database monitor monitoring on database hdb suffix "o=mtt" directory /var/lib/ldap rootdn "cn=Manager,o=mtt" rootpw <SHA1 PASSWORD HASH HERE> syncrepl rid=0 provider=ldap://ldap.lax03.mtt:389 bindmethod=simple binddn="cn=Replicator,o=mtt" credentials=<PLAINTEXT PASSWORD HERE> searchbase="o=mtt" logbase="cn=accesslog" logfilter="(&(objectClass=auditWriteObject)(reqResult=0))" schemachecking=on type=refreshAndPersist retry="60 +" syncdata=accesslog updateref ldap://ldap.lax03.mtt
=====================================
--On Tuesday, February 24, 2009 9:00 AM -0800 Jeff Schroeder jeffschroed@gmail.com wrote:
Hello,
I'm attempting to setup a delta-syncrepl replication scheme to replace an aging slurpd installation and am having troubles. After trying about 4 different tutorials and going through the docs this is almost working. When bringing up a new ldap slave, it copies the database down from the provider and seems to mirror it locally. When making additions to the master, they do not replicate down to the slaves.
I suggest you go and re-read the documentation. There are multiple errors in your setup. See comments below for errors in the master configuration.
database hdb directory /var/lib/ldap suffix cn=accesslog rootdn cn=accesslog index default eq index entryCSN,objectClass,reqEnd,reqResult,reqStart
Where's the syncprov overlay on the accesslog DB?
http://www.openldap.org/doc/admin24/replication.html#Delta-syncrepl
database hdb suffix "o=mtt" directory /var/lib/ldap rootdn "cn=Manager,o=mtt" rootpw <SHA1 HASH HERE>
Where are your required indices? for this database?
http://www.openldap.org/doc/admin24/replication.html#Delta-syncrepl
overlay syncprov syncprov-nopresent TRUE syncprov-reloadhint TRUE
The above two statements do *not* go in the main DB.
http://www.openldap.org/doc/admin24/replication.html#Delta-syncrepl
syncprov-checkpoint 1000 60
Just this one does.
overlay accesslog logdb cn=accesslog logops writes logsuccess TRUE logpurge 07+00:00 01+00:00
This looks correct.
limits dn.exact="cn=Replicator,o=mtt" time.soft=unlimited time.hard=unlimited size.soft=unlimited size.hard=unlimited dbconfig set_cachesize 0 2097152 0 dbconfig set_lk_max_objects 1500 dbconfig set_lk_max_locks 1500 dbconfig set_lk_max_lockers 1500 index objectClass eq lastmod on checkpoint 512 30 database monitor monitoring on
=====================================
=========== SLAVE slapd.conf ============ include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/inetorgperson.schema access to attrs=userPassword by self write by anonymous read by dn.base="cn=Manager,o=mtt" write by dn.base="cn=Replicator,o=mtt" read by * read access to * by self write by anonymous read by dn.base="cn=Manager,o=mtt" write by dn.base="cn=Replicator,o=mtt" read by * read by * read pidfile /var/run/openldap/slapd.pid argsfile /var/run/openldap/slapd.args loglevel none sizelimit 500 tool-threads 2 backend hdb database monitor monitoring on database hdb suffix "o=mtt" directory /var/lib/ldap rootdn "cn=Manager,o=mtt" rootpw <SHA1 PASSWORD HASH HERE> syncrepl rid=0 provider=ldap://ldap.lax03.mtt:389 bindmethod=simple binddn="cn=Replicator,o=mtt" credentials=<PLAINTEXT PASSWORD HERE> searchbase="o=mtt" logbase="cn=accesslog" logfilter="(&(objectClass=auditWriteObject)(reqResult=0))" schemachecking=on type=refreshAndPersist retry="60 +" syncdata=accesslog updateref ldap://ldap.lax03.mtt
=====================================
--
Quanah Gibson-Mount Principal Software Engineer Zimbra, Inc -------------------- Zimbra :: the leader in open source messaging and collaboration
openldap-software@openldap.org