Page MenuHomePhorge

after LDAP connection problem kolabd seems to reuse this broken LDAP connection and reports errors instead of reestablishing/repairing the connection
Closed, ResolvedPublic

Description

root@kolabmupdatep001a [1] kolab # rpm -qv pykolab
pykolab-0.7.27-3.1.el6.kolab_14.noarch

Currently we find the situation visible in the log extract below many times a day and think that all the "pykolab.auth ERROR Could not update dn" errors just come from a broken LDAP connection that is been reused to fire this updates.
As we believe it would be usefull to check the LDAP connection status before firering the update or at least once after occurance of this error and try to reestablish the connection in a configurable time interval and for a configurable number of times where "0" coudl be infinte and after a succesful reconnect retry the update and preceed. We would expect that every connection problem and every failed recconect throws an error to the logs.

pykolab.log extract

/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:26:20,410 MainThread/9479 pykolab.imap INFO Cleaning up ACL entries for sysv.revision@domain.de across all folders
/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:28:02,972 MainThread/9479 pykolab.auth ERROR An error occured using _persistent_search: CYRUSError(30, 'GETACL', 'Mailbox does not exist')
/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:28:02,973 MainThread/9479 pykolab.auth ERROR Traceback (most recent call last):
/var/log/kolab/pykolab.log-20160806.gz:  File "/usr/lib/python2.6/site-packages/pykolab/auth/ldap/__init__.py", line 2914, in _search
/var/log/kolab/pykolab.log-20160806.gz:    secondary_domains
/var/log/kolab/pykolab.log-20160806.gz:  File "<string>", line 10, in <module>
/var/log/kolab/pykolab.log-20160806.gz:  File "/usr/lib/python2.6/site-packages/pykolab/auth/ldap/__init__.py", line 2642, in _persistent_search
/var/log/kolab/pykolab.log-20160806.gz:    secondary_domains=secondary_domains
/var/log/kolab/pykolab.log-20160806.gz:  File "/usr/lib/python2.6/site-packages/pykolab/auth/ldap/__init__.py", line 2499, in _synchronize_callback
/var/log/kolab/pykolab.log-20160806.gz:    entry['type']
/var/log/kolab/pykolab.log-20160806.gz:  File "<string>", line 1, in <module>
/var/log/kolab/pykolab.log-20160806.gz:  File "/usr/lib/python2.6/site-packages/pykolab/auth/ldap/__init__.py", line 1632, in _change_delete_user
/var/log/kolab/pykolab.log-20160806.gz:    self.imap.user_mailbox_delete(entry[result_attribute])
/var/log/kolab/pykolab.log-20160806.gz:  File "/usr/lib/python2.6/site-packages/pykolab/imap/__init__.py", line 764, in user_mailbox_delete
/var/log/kolab/pykolab.log-20160806.gz:    self.cleanup_acls(mailbox_base_name)
/var/log/kolab/pykolab.log-20160806.gz:  File "/usr/lib/python2.6/site-packages/pykolab/imap/__init__.py", line 75, in cleanup_acls
/var/log/kolab/pykolab.log-20160806.gz:    acls = self.imap.lam(folder)
/var/log/kolab/pykolab.log-20160806.gz:  File "/usr/lib/python2.6/site-packages/cyruslib.py", line 570, in lam
/var/log/kolab/pykolab.log-20160806.gz:    res, acl = self.__docommand("getacl", self.decode(mailbox))
/var/log/kolab/pykolab.log-20160806.gz:  File "/usr/lib/python2.6/site-packages/cyruslib.py", line 391, in __docommand
/var/log/kolab/pykolab.log-20160806.gz:    self.__doexception(function, msg[0], *args)
/var/log/kolab/pykolab.log-20160806.gz:  File "/usr/lib/python2.6/site-packages/cyruslib.py", line 359, in __doexception
/var/log/kolab/pykolab.log-20160806.gz:    self.__doraise( function.upper(), msg )
/var/log/kolab/pykolab.log-20160806.gz:  File "/usr/lib/python2.6/site-packages/cyruslib.py", line 368, in __doraise
/var/log/kolab/pykolab.log-20160806.gz:    raise CYRUSError( idError[0], mode, msg )
/var/log/kolab/pykolab.log-20160806.gz:CYRUSError: (30, 'GETACL', 'Mailbox does not exist')
/var/log/kolab/pykolab.log-20160806.gz:
/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:33:20,904 MainThread/9479 pykolab.auth ERROR Could not update dn 'cn=Max Jackson,ou=itm-xxx,ou=Bau,o=Orga,c=de':
/var/log/kolab/pykolab.log-20160806.gz:[(0, 'mailhost', 'kolabbep002.srv.ha3.dir.domain.de')]
/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:34:47,915 MainThread/9479 pykolab.imap INFO Creating new mailbox for user ext.prakt.boedeker@domain.de
/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:34:49,857 MainThread/9479 pykolab.auth ERROR Could not update dn 'cn=Tatiana B\xc3\xb6deker,ou=Jugendsunterstellung,ou=Jugendunterstellung in ausgewogenen Lebenssituationen,ou=Erziehungsangebote,ou=Bergjugendschuh,ou=Sozial,o=Orga,c=de':
/var/log/kolab/pykolab.log-20160806.gz:[(0, 'mailhost', 'kolabbep004.srv.ha3.dir.domain.de')]
/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:34:51,587 MainThread/9479 pykolab.auth ERROR Could not update dn 'cn=Ulrich Sp\xc3\xb6tzl,ou=itm-xxx,ou=Bau,o=Orga,c=de':
/var/log/kolab/pykolab.log-20160806.gz:[(0, 'mailhost', 'kolabbep001.srv.ha3.dir.domain.de')]
/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:34:52,082 MainThread/9479 pykolab.auth ERROR Could not update dn 'cn=E-Mail Jahrmarkt-Plakatwettbewerb,ou=Technische B\xc3\xbcros-xxx,ou=abschnitt 6 - Veranstaltungen,ou= f\xc3\xbcr Arbeit und Wirtschaft,o=Orga,c=de':
/var/log/kolab/pykolab.log-20160806.gz:[(0, 'mailhost', 'kolabbep002.srv.ha3.dir.domain.de')]
/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:34:52,261 MainThread/9479 pykolab.imap INFO Creating new mailbox for user sysv.revisionsschuh@domain.de
/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:38:39,915 MainThread/9479 pykolab.auth ERROR Could not update dn 'cn=Max Jackson,ou=itm-xxx,ou=Bau,o=Orga,c=de':
/var/log/kolab/pykolab.log-20160806.gz:[(0, 'mailhost', 'kolabbep002.srv.ha3.dir.domain.de')]
/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:39:55,646 MainThread/9479 pykolab.auth ERROR Could not update dn 'cn=Tatiana B\xc3\xb6deker,ou=Jugendsunterstellung,ou=Jugendunterstellung in ausgewogenen Lebenssituationen,ou=Erziehungsangebote,ou=Bergjugendschuh,ou=Sozial,o=Orga,c=de':
/var/log/kolab/pykolab.log-20160806.gz:[(0, 'mailhost', 'kolabbep004.srv.ha3.dir.domain.de')]
/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:39:56,938 MainThread/9479 pykolab.auth ERROR Could not update dn 'cn=Ulrich Sp\xc3\xb6tzl,ou=itm-xxx,ou=Bau,o=Orga,c=de':
/var/log/kolab/pykolab.log-20160806.gz:[(0, 'mailhost', 'kolabbep001.srv.ha3.dir.domain.de')]
/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:39:57,313 MainThread/9479 pykolab.auth ERROR Could not update dn 'cn=E-Mail Jahrmarkt-Plakatwettbewerb,ou=Technische B\xc3\xbcros-xxx,ou=abschnitt 6 - Veranstaltungen,ou= f\xc3\xbcr Arbeit und Wirtschaft,o=Orga,c=de':
/var/log/kolab/pykolab.log-20160806.gz:[(0, 'mailhost', 'kolabbep002.srv.ha3.dir.domain.de')]
/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:53:52,233 MainThread/9479 pykolab.imap INFO Renaming INBOX from user/diana.ossfeld@domain.de to user/diana.trojan@domain.de
/var/log/kolab/pykolab.log-20160806.gz:2016-08-08 09:53:55,830 MainThread/9479 pykolab.auth ERROR An error occured using _persistent_search: NO_SUCH_OBJECT({'matched': 'ou=sg 21 haushaltsplanung und -vollzug\\, controlling (kvr-gl/21),ou=gesch\xc3\xa4ftsabschnitt 2 finanzding und zentrale leistungen (kvr-gl/2),ou=gesch\xc3\xa4ftsleitung (kvr-gl),ou=kreisverwaltungs (kvr),o=Orga,c=de', 'desc': 'No such object'},)

Details

Ticket Type
Task