[Date Prev][Date Next] [Chronological] [Thread] [Top]

LDAP master+slave - strange behavour

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
  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
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?