This is quite strange. When I list the files in symas'RPM, i get a bunch of entries but nothing related to replication :
$ rpm -qpl symas-openldap-silver-2.4.16.0.x86_64.rpm | grep sync $
=> No result.
Would it mean that this version of openldap is shipped without the synchronization module ...?
On Mon, Aug 17, 2009 at 4:18 PM, Pierre Laporte < pierre.laporte.steria@gmail.com> wrote:
Hi, I tried to gather some more information.
How were you trying to "include the syncprov module" ? With 'moduleload syncprov.la' ? Was the modulepath set correctly? Can you provide some debug output from slapd showing what it tried?
Yep, using "moduleload syncprov.la". As soon as I try to start slapd, i get this in the logfile :
$ solserver restart Aug 17 15:58:28 localhost slapd[29875]: @(#) $OpenLDAP: slapd 2.4.16 (Apr 20 2009 19:56:04) $ svovi01@viol :/home/build/sol-2.4.16-0/bld64/ldap24/servers/slapd Aug 17 15:58:28 localhost slapd[29875]: lt_dlopenext failed: (syncprov.la) file not found Aug 17 15:58:28 localhost slapd[29875]: slapd stopped. Aug 17 15:58:28 localhost slapd[29875]: connections_destroy: nothing to destroy.
My modulepath is defined by : "modulepath /opt/symas/lib64/openldap"
$ cd /opt/symas/lib64/openldap ; ls *.la back_bdb.la back_hdb.la back_monitor.la collect.la constraint.la dds.la dyngroup.la dynlist.la memberof.la ppolicy.la refint.la retcode.la seqmod.la unique.la valsort.la
=> No syncprov.la here
Considering that it might be linked statically, i tried to use only this line in slapd.conf : "overlay syncprov"
But here are the logs : Aug 17 16:04:47 localhost slapd[30049]: @(#) $OpenLDAP: slapd 2.4.16 (Apr 20 2009 19:56:04) $ svovi01@viol :/home/build/sol-2.4.16-0/bld64/ldap24/servers/slapd Aug 17 16:04:47 localhost slapd[30049]: overlay "syncprov" not found Aug 17 16:04:47 localhost slapd[30049]: slapd stopped. Aug 17 16:04:47 localhost slapd[30049]: connections_destroy: nothing to destroy.
So, this means that the syncprov overlay was not found, it is most likely provided as a module. Not knowing exactly how Symas packages their binaries, I would run '"find /opt/symas -name 'syncprov*'" to try and find a module, or "objdump -T `find /opt/symas -name 'slapd'`|grep syncprov" to determine if syncprov is built in.
That's where it hurts ... $ find /opt/symas -name 'syncprov*' $
=> No result found.
$ objdump -T `find /opt/symas -name 'slapd'`|grep syncprov $
=> No result as well
$ objdump -T `find /opt/symas -name 'slapd'`|grep sync 000000000047ee20 g DF .text 00000000000004ff Base syncrepl_add_glue 000000000048d870 g DF .text 0000000000000105 Base slap_init_sync_cookie_ctxcsn 000000000048d980 g DF .text 0000000000000111 Base slap_dup_sync_cookie 0000000000484d30 g DF .text 000000000000041b Base syncinfo_free 000000000048d320 g DF .text 00000000000000a5 Base slap_sync_cookie_free 000000000048d560 g DF .text 000000000000030b Base slap_parse_sync_cookie 00000000006109a0 g DO .data 0000000000000010 Base slap_sync_cookie 000000000048d140 g DF .text 00000000000001d7 Base slap_compose_sync_cookie 00000000004881b0 g DF .text 0000000000000b19 Base syncrepl_config
=> Syncprov is nowhere to be found ...
There are other options for packages for Red Hat, such as:
http://staff.telkomsa.net/packages/rhel5/openldap/
(see http://staff.telkomsa.net/packages/OpenLDAP.repo)
Which ships syncprov as a module ... see the comments in the default slapd.conf.
I'd prefer not to switch for another package, but if there is no other solution, i guess i will.
Of course, as the Symas people usually say about Red Hat, contact the provider of your binaries for support :-p. I can't imagine that Symas would ship without syncprov, so you may want to consult any documentation they have provided if you haven't yet come right.
I have been quite busy those days, I haven't found any workaround yet.
Here is my slapd.conf file
include /opt/symas/etc/openldap/schema/core.schema include /opt/symas/etc/openldap/schema/cosine.schema include /opt/symas/etc/openldap/schema/inetorgperson.schema
pidfile /var/symas/slapd.pid argsfile /var/symas/slapd.args
modulepath /opt/symas/lib64/openldap moduleload back_hdb.la moduleload back_bdb.la moduleload back_monitor.la moduleload syncprov.la
access to attrs=userPassword by self write by users write by anonymous read
access to * by self write by users read by anonymous auth
database hdb suffix "dc=organization,dc=my" rootdn "cn=Manager,dc=organization,dc=my" rootpw secret
serverID 1 overlay syncprov syncrepl rid=001 provider=ldap://192.168.49.96 binddn="cn=Manager,dc=organization,dc=my" bindmethod=simple credentials=secret searchbase="dc=organization,dc=my" type=refreshAndPersist interval=00:00:00:10 retry="15 5 300 +" timeout=1 syncrepl rid=002 provider=ldap://192.168.49.97 binddn="cn=Manager,dc=organization,dc=my" bindmethod=simple credentials=secret searchbase="dc=organization,dc=my" type=refreshAndPersist interval=00:00:00:10 retry="15 5 300 +" timeout=1 mirrormode on
index objectClass eq directory /var/symas/openldap-data/mydata cachesize 5000 idlcachesize 5000 checkpoint 512 60 database monitor
Thanks for your help !
Pierre.