[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
LDAP master+slave - strange behavour
- To: openldap-software@OpenLDAP.org
- Subject: LDAP master+slave - strange behavour
- From: Alexei Monastyrnyi <alexeim@orcsoftware.com>
- Date: Tue, 14 Sep 2004 16:19:57 +0200
- Organization: Orc Software AB
- User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040616
Hi List.
I'm running two Solaris 9 boxes with OpenLDAP servers 2.2.15 on board.
Seems like there is a sort of misbehavior of slave server.
As documentation states, it should act like this.
(http://www.openldap.org/doc/admin22/replication.html)
*Sample replication scenario:*
1. The LDAP client submits an LDAP modify operation to the slave slapd.
2. The slave slapd returns a referral to the LDAP client referring
the client to the master slapd.
3. The LDAP client submits the LDAP modify operation to the master
slapd.
4. The master slapd performs the modify operation, writes out the
change to its replication log file and returns a success code to
the client.
5. The slurpd process notices that a new entry has been appended to
the replication log file, reads the replication log entry, and
sends the change to the slave slapd via LDAP.
6. The slave slapd performs the modify operation and returns a
success code to the slurpd process.
But it does not.
My slave server allows modify/delete of LDAP entries via
ldapmodify/ldapdelete utilities, and sends strange error message when
trying to use ldapadd.
alien:alexeim> ldapadd -c -h ldap2.orcsoftware.com -D
"cn=manager,dc=orcsoftware,dc=com" -W -f /tmp/cat35
48.ldif
Enter LDAP Password:
adding new entry "cn=cat3548,ou=Hosts,dc=orcsoftware,dc=com"
ldap_add: Internal (implementation specific) error (80)
additional info: no structuralObjectClass operational attribute
I want to say that it does not try to use referral as it should. So
master server becomes unaware of what slave does.
The slave server does accept add/mod/del operation from the master. That
is OK.
The servers have almost equal configs, except master/slave parts. Both
of them use the same schema files.
Master server ldap.orcsoftware.com has
replica host=ldap2.orcsoftware.com:389 bindmethod=simple
binddn="cn=Manager,dc=orcsoftware,dc=com" credentials=<mamager_passwd>
replogfile /usr/local/var/openldap-slurp/replication.log
Slave server ldap2.orcsoftware.com has
updatedn "cn=Manager,dc=orcsoftware,dc=com
updateref ldap://ldap.orcsoftware.com
cachesize 2000
Maybe someone will point out where I'm wrong?
Thanks,
Alexei.