[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: LDAP Writes are not propagated to mirror nodes.
K C, Sachin (Sachin) wrote:
Gavin,
Find in the attached the config files for 2 nodes (node1.conf
and node2.conf)
initial.ldif file contains the LDIF data.
Well I've spent 3 hours tonight testing various settings and operations;
adding/deleting/modifying etc.
It seems very inconsistent. For example, I'll add 5 new users on node2
and node1 will only add one of them and stop at:
send_ldap_result: conn=-1 op=0 p=0
bdb_dn2entry("uid=user6,ou=people,o=org")
=> bdb_dn2id("uid=user6,ou=people,o=org")
<= bdb_dn2id: get failed: DB_NOTFOUND: No matching key/data pair found
(-30990)
=> bdb_dn2id_add 0x8: "uid=user6,ou=people,o=org"
<= bdb_dn2id_add 0x8: 0
=> index_entry_add( 8, "uid=user6,ou=people,o=ORG" )
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
<= index_entry_add( 8, "uid=user6,ou=people,o=ORG" ) success
=> entry_encode(0x00000008): uid=user6,ou=people,o=ORG
bdb_add: added id=00000008 dn="uid=user6,ou=people,o=ORG"
send_ldap_result: conn=-1 op=0 p=0
bdb_dn2entry("o=org")
bdb_entry_get: rc=0
bdb_dn2entry("o=org")
bdb_modify_internal: 0x00000001: o=ORG
bdb_modify: modify failed (16)
send_ldap_result: conn=-1 op=0 p=0
null_callback : error code 0x10
syncrepl_updateCookie: rid=001 be_modify failed (16)
node1 is now sitting there with only that user6.
Replication seems to have stopped working also. Both nodes are still up.
If I stop and start node1 it catches up ok.
Attached are the configs I'm working with.
--
Kind Regards,
Gavin Henry.
Managing Director.
T +44 (0) 1224 279484
M +44 (0) 7930 323266
F +44 (0) 1224 824887
E ghenry@suretecsystems.com
Open Source. Open Solutions(tm).
http://www.suretecsystems.com/
dn: o=ORG
objectclass: top
objectclass: organization
o: ORG
dn: ou=People,o=ORG
objectclass: top
objectclass: organizationalUnit
ou: People
description: Branch point for user entries
dn: uid=Usr,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: Usr
sn: User
cn: Priviledged
userPassword: password1
description: Priviledged Directory User - DONOTDELETE
dn: uid=user1,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user1
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP
dn: uid=user2,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user2
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP
dn: uid=user3,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user3
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP
dn: uid=user4,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user4
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP
dn: uid=user5,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user5
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP
dn: uid=user6,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user6
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP
dn: uid=user7,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user7
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP
dn: uid=user8,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user8
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP
dn: uid=user9,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user9
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP
#
#
#
# STANDALONE SLAPD CONFIGURATION FILE
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
#ucdata-path /opt/openldap/share/openldap/ucdata
include /opt/openldap/etc/openldap/schema/core.schema
include /opt/openldap/etc/openldap/schema/cosine.schema
include /opt/openldap/etc/openldap/schema/inetorgperson.schema
include /opt/openldap/etc/openldap/schema/nis.schema
pidfile /opt/cso/ldap/var/slapd.pid
argsfile /opt/cso/ldap/var/slapd.args
modulepath /usr/local/libexec/openldap
moduleload back_bdb.la
moduleload syncprov.la
sizelimit 1000000
timelimit 360
idletimeout 420
threads 32
# To turn logging off set loglevel to 0 then stop/start ldap server
loglevel sync stats
allow bind_v2
# If this LDAP server is to be used standalone then
# the access area should be set to the following:
access to dn.regex=".*"
by self write
by dn.exact="uid=Usr,o=ORG" write
by * write
serverID 1
#######################################################################
# bdb active database definitions
#######################################################################
database bdb
suffix "o=ORG"
rootdn "uid=Usr,o=ORG"
rootpw password1
directory /opt/cso/ldap/db
# cleartext passwords, especially for the rootdn, should
# be avoid. See slapd.conf(5) for details.
cachesize 10000
index cn pres,eq,sub
index sn pres,eq,sub
index givenName pres,eq,sub
index uid eq
index objectClass,entryCSN,entryUUID eq
syncrepl rid=1
provider=ldap://127.0.0.1:391/
type=refreshAndPersist
retry="30 +"
searchbase="o=ORG"
schemachecking=off
bindmethod=simple
binddn="uid=Usr,o=ORG"
credentials=password1
mirrormode on
overlay syncprov
syncprov-checkpoint 100 1
#
#
#
# STANDALONE SLAPD CONFIGURATION FILE
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
#ucdata-path /opt/openldap/share/openldap/ucdata
include /opt/openldap/etc/openldap/schema/core.schema
include /opt/openldap/etc/openldap/schema/cosine.schema
include /opt/openldap/etc/openldap/schema/inetorgperson.schema
include /opt/openldap/etc/openldap/schema/nis.schema
pidfile /opt/cso/ldap/var/slapd2.pid
argsfile /opt/cso/ldap/var/slapd2.args
modulepath /usr/local/libexec/openldap
moduleload back_bdb.la
moduleload syncprov.la
sizelimit 1000000
timelimit 360
idletimeout 420
threads 32
# To turn logging off set loglevel to 0 then stop/start ldap server
loglevel sync stats
allow bind_v2
# If this LDAP server is to be used standalone then
# the access area should be set to the following:
access to dn.regex=".*"
by self write
by dn.exact="uid=Usr,o=ORG" write
by * write
serverID 2
#######################################################################
# bdb active database definitions
#######################################################################
database bdb
suffix "o=ORG"
rootdn "uid=Usr,o=ORG"
rootpw password1
directory /opt/cso/ldap/db2
# cleartext passwords, especially for the rootdn, should
# be avoid. See slapd.conf(5) for details.
cachesize 10000
index cn pres,eq,sub
index sn pres,eq,sub
index givenName pres,eq,sub
index uid eq
index objectClass,entryCSN,entryUUID eq
syncrepl rid=2
provider=ldap://127.0.0.1:390/
type=refreshAndPersist
retry="30 +"
searchbase="o=ORG"
schemachecking=off
bindmethod=simple
binddn="uid=Usr,o=ORG"
credentials=password1
mirrormode on
overlay syncprov
syncprov-checkpoint 100 1