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 ...?
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 well000000000047ee20 g DF .text 00000000000004ff Base syncrepl_add_glue
$ objdump -T `find /opt/symas -name 'slapd'`|grep sync
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.