Thank you so much for everyone's help.
The fix for issue "read_config: no serverID / URL match found. Check slapd -h arguments" is the port number used in -h option. Fixed: slapd -d -1 -h "ldap://apggd04dev.pg.dtveng.net" Error: slapd -d -1 -h "ldap://apggd04dev.pg.dtveng.net:389"
Have a great day! Joe
________________________________ From: Brendan Kearney bpk678@gmail.com To: Joe Phan joeanhphan@yahoo.com Cc: OpenLDAP Forum openldap-technical@openldap.org Sent: Thursday, April 18, 2013 6:27 PM Subject: Re: slapd terminates with error "read_config: no serverID / URL match found. Check slapd -h arguments"
Oh, forgot to mention... if you dont already have it setup, you need an olcRootDN and olcRootPW in the config database that matches the binddn and credentials directives for olcSyncRepl. i happen to use cn=config for the config database, and cn=Manager,dc=bpk2,dc=com for the DIT binddn's. credentials should be the password used for auth. the password can be different for the config database vs the DIT, but within each they should match.
On Thu, 2013-04-18 at 21:10 -0400, Brendan Kearney wrote:
i dont think you are loading the module correctly. adjust the olcModulePath to your needs:
dn: cn=module,cn=config changetype:add objectClass: olcModuleList cn: module olcModulePath: /usr/lib64/openldap olcModuleLoad: syncprov.la
what i have used to get my n-way working for cn=config, adjust to your needs:
dn: olcOverlay=syncprov,olcDatabase={0}config,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov
dn: olcDatabase={0}config,cn=config changetype: modify add: olcSyncRepl olcSyncRepl: rid=001 provider=ldap://ldap1.bpk2.com binddn="cn=config" bindmethod=simple credentials=secret searchbase="cn=config" type=refreshAndPersist retry="5 5 300 5" timeout=1 olcSyncRepl: rid=002 provider=ldap://ldap2.bpk2.com binddn="cn=config" bindmethod=simple credentials=secret searchbase="cn=config" type=refreshAndPersist retry="5 5 300 5" timeout=1
add: olcMirrorMode olcMirrorMode: TRUE
then for the DIT itself, adjust to your needs:
dn: olcDatabase={2}hdb,cn=config changetype: modify add: olcLimits olcLimits: dn.exact="cn=Manager,dc=bpk2,dc=com" time.soft=unlimited time.hard=unlimited size.soft=unlimited size.hard=unlimited
add: olcSyncRepl olcSyncRepl: rid=001 provider=ldap://ldap1.bpk2.com binddn="cn=Manager,dc=bpk2,dc=com" bindmethod=simple credentials=secret searchbase="dc=bpk2,dc=com" scope=sub schemachecking=off type=refreshAndPersist interval=00:00:00:10 retry="5 5 300 5" timeout=1 olcSyncRepl: rid=002 provider=ldap://ldap2.bpk2.com binddn="cn=Manager,dc=bpk2,dc=com" bindmethod=simple credentials=secret searchbase="dc=bpk2,dc=com" scope=sub schemachecking=off type=refreshAndPersist interval=00:00:00:10 retry="5 5 300 5" timeout=1
add: olcMirrorMode olcMirrorMode: TRUE
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov
you should turn up the sync log level to make sure you see the replication logs, too. it has helped me. i only turned on sync, you might want stats, stats2, etc:
dn: cn=config changetype: modify replace: olcLogLevel olcLogLevel: sync
hope that helps.
On Thu, 2013-04-18 at 17:26 -0700, Joe Phan wrote:
Hi,
When I configure N-Way Multi-Master configuration with cn=config, slapd terminates with the error: "module syncprov.la: null module registered" and "read_config: no serverID / URL match found. Check slapd -h arguments". olcServerID IDs are already added and configured properly, but when slapd starts with -h option, it always fails.
Please help if someone has gone through a similar issue. Thanks, Joe
Reference, Step 3-4: http://niranjanmr.wordpress.com/2012/03/29/n-waymmr/ Is there an equivalent /etc/sysconfig/ldap file in Solaris 10?
Platform: Sun Solaris10 OpenLDAP: openldap-2.4.32
Configuring for N-Way Multi-Master: adding olcServerID, olcOverlay: syncprov, and olcSyncRepl: apggd04dev# more config_repl.ldif #Specify ServerID for both the masters dn: cn=config changetype: modify add: olcServerID olcServerID: 101 ldap://apggd06dev.pg.dtveng.net olcServerID: 201 ldap://apggd04dev.pg.dtveng.net
#Enable Syncprov Overlay for config database dn: olcOverlay=syncprov,olcDatabase={0}config,cn=config changetype: add objectclass: olcOverlayConfig objectclass: olcSyncProvConfig olcOverlay: syncprov
#Configure SyncRepl for config database dn: olcDatabase={0}config,cn=config changetype: modify add: olcSyncRepl olcSyncRepl: rid=001 provider=ldap://apggd06dev.pg.dtveng.net binddn="cn=config" bindmethod=simple credentials=secret searchbase="cn=config" type=refreshAndPersist retry="5 5 300 5" timeout=1 olcSyncRepl: rid=002 provider=ldap://apggd04dev.pg.dtveng.net binddn="cn=config" bindmethod=simple credentials=secret searchbase="cn=config" type=refreshAndPersist retry="5 5 300 5" timeout=1
add: olcMirrorMode olcMirrorMode: TRUE
apggd04dev# ldapmodify -x -D "cn=config" -w secret -f config_repl.ldif -h apggd04dev.pg.dtveng.net <== olcServerID IDs are already added successfully to dn: cn=config. modifying entry "cn=config" adding new entry "olcOverlay=syncprov,olcDatabase={0}config,cn=config" modifying entry "olcDatabase={0}config,cn=config"
Restart slapd with -h option:
apggd04dev# /usr/local/libexec/slapd -d -1 -h ldap://apggd04dev.pg.dtveng.net:389
entryUUID: 05897b3c-3bd8-1032-8598-57af23b0cca0 creatorsName: cn=config createTimestamp: 20130417182610Z olcServerID: 101 ldap://apggd06dev.pg.dtveng.net <=== olcServerID IDs are successfully loaded olcServerID: 201 ldap://apggd04dev.pg.dtveng.net <=== olcServerID IDs are successfully loaded entryCSN: 20130418183118.510871Z#000000#000#000000 modifiersName: cn=config modifyTimestamp: 20130418183118Z contextCSN: 20130418183118.573577Z#000000#000#000000
... olcModuleLoad: {0}syncprov.la 51705faf loaded module syncprov.la 51705faf module syncprov.la: null module registered <=== ERROR for syncprov.la module ...
olcSyncrepl: {0}rid=001 provider=ldap://apggd06dev.pg.dtveng.net binddn="cn=co <=== olcSyncrepl is successfully loaded nfig" bindmethod=simple credentials=secret searchbase="cn=config" type=refres hAndPersist retry="5 5 300 5" timeout=1 olcSyncrepl: {1}rid=002 provider=ldap://apggd04dev.pg.dtveng.net binddn="cn=co nfig" bindmethod=simple credentials=secret searchbase="cn=config" type=refres hAndPersist retry="5 5 300 5" timeout=1 olcMirrorMode: TRUE ... 5170847e index objectClass 0x0004 5170847e index entryUUID 0x0006 5170847e index entryCSN 0x0006 5170847e send_ldap_result: conn=-1 op=0 p=0 5170847e send_ldap_result: err=0 matched="" text="" 5170655f read_config: no serverID / URL match found. Check slapd -h arguments. <=== ERROR for serverID 5170655f slapd destroy: freeing system resources. 5170655f syncinfo_free: rid=001 5170655f slapd stopped. <=== slapd terminates 5170655f connections_destroy: nothing to destroy.