[Zope-CMF] LDAPUserFolder can't contact LDAP server after restart

Bert Vanderbauwhede Bert.Vanderbauwhede@rug.ac.be
Mon, 10 Mar 2003 14:20:25 +0100 (MET)


Hi,

We have three servers, each with the same setup and running the same CMF
site. We use LDAPUserFolder for authentication. This used to work fine,
but...

Due to a memory leak, our LDAP server (an ancient version of OpenLDAP) has
to be restarted at 13:00 (and 19:00) every day. And here the problem
begins.

Our main server has actually no problem at all. The site can't be
accessed for a couple of seconds while the LDAP server is restarting
(returns a site error: Can't contact LDAP server), but once that's done,
the site works just like before. The other two servers however keep
returning the site error. Only by (manually) restarting zope can we get
the site running again.

Has anyone any idea why this happens? The server that works fine is our
main webserver and is heavily used. The other two servers are only used by
a small number of people. Could this be part of the problem?

This is the traceback we get:

Error Type: SERVER_DOWN
Error Value: {'desc': "Can't contact LDAP server", 'info': ''}
Error Traceback: Traceback (innermost last):
  File /usr/local/zope/lib/python/ZPublisher/Publish.py, line 89, in publish
  File /usr/local/zope/lib/python/ZPublisher/BaseRequest.py, line 388, in traverse
  File /usr/local/zope/lib/python/Products/LDAPUserFolder/LDAPUserFolder.py, line 620, in validate
    (Object: acl_users)
  File /usr/local/zope/lib/python/AccessControl/User.py, line 628, in validate
    (Object: acl_users)
  File /usr/local/zope/lib/python/Products/LDAPUserFolder/LDAPUserFolder.py, line 596, in authenticate
    (Object: acl_users)
  File /usr/local/zope/lib/python/Products/LDAPUserFolder/LDAPUserFolder.py, line 507, in getUser
    (Object: acl_users)
  File /usr/local/zope/lib/python/Products/LDAPUserFolder/LDAPUserFolder.py, line 246, in _lookupuser
    (Object: acl_users)
  File /usr/local/zope/lib/python/Products/LDAPUserFolder/LDAPUserFolder.py, line 837, in _searchResults
    (Object: acl_users)
  File /usr/local/zope/lib/python/Products/LDAPUserFolder/LDAPUserFolder.py, line 791, in _connect
    (Object: acl_users)
  File /usr/local/python/lib/python2.1/site-packages/ldap/ldapobject.py, line 469, in simple_bind_s
  File /usr/local/python/lib/python2.1/site-packages/ldap/ldapobject.py, line 155, in bind_s
  File /usr/local/python/lib/python2.1/site-packages/ldap/ldapobject.py, line 149, in bind
  File /usr/local/python/lib/python2.1/site-packages/ldap/ldapobject.py, line 94, in _ldap_call

Setup:
RedHat 8.0
Python 2.1.3
Zope 2.5.1
CMF 1.2
LDAPUserFolder 1.4
python-ldap 2.0.0pre06


Bert Vanderbauwhede...
---
"To make it really easy, the Unix commands are named using a Caesar
 cipher, so that folks using a voice synthesizer can control a Unix box
 using the type of sounds that Terrance and Phillip like to make a lot."