Hi all,

I am configuring N-way mmr between 2 Providers (there are no consumers as of now) . My master servers are in this case: ldap1.example.org and ldap2.example.org .
version used are: 

openldap-servers-2.4.23-20.el6.x86_64

I am using http://www.openldap.org/doc/admin24/replication.html#N-Way%20Multi-Master as my reference for configuration.


My syncrepl for cn=config database is as follows:

#Specify ServerID for both the masters
dn: cn=config
changetype: modify
add: olcServerID
olcServerID: 101 ldap://ldap1.example.org
olcServerID: 201 ldap://ldap2.example.org

#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://ldap1.example.org binddn="cn=admin,cn=config" bindmethod=simple
  credentials=config searchbase="cn=config" type=refreshAndPersist retry="5 5 300 5" timeout=1
olcSyncRepl: rid=002 provider=ldap://ldap2.example.org binddn="cn=admin,cn=config" bindmethod=simple
  credentials=config searchbase="cn=config" type=refreshAndPersist retry="5 5 300 5" timeout=1
-
add: olcMirrorMode
olcMirrorMode: TRUE

my syncrepl for bdb is as follows:

dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=003 provider=ldap://ldap1.example.org binddn="cn=replicator,ou=Admins,dc=example,dc=org" bindmethod=simple
  credentials=Secret123 searchbase="dc=example,dc=org" type=refreshAndPersist retry="5 5 5 +"
olcSyncRepl: rid=004 provider=ldap://ldap2.example.org binddn="cn=replicator,ou=Admins,dc=example,dc=org" bindmethod=simple
  credentials=Secret123 searchbase="dc=example,dc=org" type=refreshAndPersist retry="5 5 5 +"
-
add: olcMirrorMode
olcMirrorMode: TRUE

dn: olcOverlay=syncprov,olcDatabase={2}bdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov


Q) I would like to know  should i have 2 syncrepl agreements in both Masters (ldap1.example.org and ldap2.example.org)

Q) On provider-1 (ldap1.example.org) can i just have 1 single olcsyncrepl specifying the provider as "ldap2" ?

dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=003 provider=ldap://ldap2.example.org binddn="cn=replicator,ou=Admins,dc=example,dc=org" bindmethod=simple
  credentials=Secret123 searchbase="dc=example,dc=org" type=refreshAndPersist retry="5 5 5 +"
-
add: olcMirrorMode
olcMirrorMode: TRUE


Q) What is the use of specify the olcsyncrepl which is pointing to it's own provider ?


Any pointers on the above would be helpful

Regards
Niranjan