From 3c2acd501f261f0c2593ca21040e5ff98850ff95 Mon Sep 17 00:00:00 2001 From: Simon Pichugin Date: Wed, 21 Oct 2015 16:05:43 +0200 Subject: [PATCH] Ticket 48319 Fix ldap.LDAPError exception processing Bug Description: Many lib389 modules contain the code block like this: except ldap.LDAPError as e: self.log.fatal('Failed. Error: %s' % e.message('desc')) raise ldap.LDAPError It causes problems for the debugging. For example: - ldap.LDAPError is a string object, not a method or a function; "e.message('desc'))" will cause "TypeError: 'str' object is not callable". - 'raise ldap.LDAPError' will raise a new blank ldap.LDAPError object. Fix Description: Replace e.message('desc') with str(e) Replace 'raise ldap.LDAPError' with 'raise' https://fedorahosted.org/389/ticket/48319 Review by: ? --- lib389/__init__.py | 4 ++-- lib389/agreement.py | 4 ++-- lib389/changelog.py | 4 ++-- lib389/replica.py | 14 +++++++------- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib389/__init__.py b/lib389/__init__.py index 2763af5..2119a94 100644 --- a/lib389/__init__.py +++ b/lib389/__init__.py @@ -276,7 +276,7 @@ class DirSrv(SimpleLDAPObject): except ldap.OPERATIONS_ERROR as e: log.exception("Skipping exception: Probably Active Directory") except ldap.LDAPError as e: - log.exception("Error during initialization, error: " + e.message['desc']) + log.exception("Error during initialization, error: " + str(e)) raise def __localinit__(self): @@ -1883,7 +1883,7 @@ class DirSrv(SimpleLDAPObject): break except ldap.LDAPError as e: log.fatal('testReplication() failed to modify (%s), error (%d)' - % (suffix, e.message['desc'])) + % (suffix, str(e))) return False loop += 1 time.sleep(2) diff --git a/lib389/agreement.py b/lib389/agreement.py index 675f3ca..27db71d 100644 --- a/lib389/agreement.py +++ b/lib389/agreement.py @@ -550,8 +550,8 @@ class Agreement(object): self.conn.delete_s(agmts[0].dn) except ldap.LDAPError as e: self.log.error('Failed to delete agreement (%s), error: %s' % - (agmts[0].dn, e.message['desc'])) - raise ldap.LDAPError + (agmts[0].dn, str(e))) + raise else: # No agreements, error? self.log.error('No agreements found') diff --git a/lib389/changelog.py b/lib389/changelog.py index cea25e7..d026626 100644 --- a/lib389/changelog.py +++ b/lib389/changelog.py @@ -66,8 +66,8 @@ class Changelog(object): try: self.conn.delete_s(DN_CHANGELOG) except ldap.LDAPError as e: - self.log.error('Failed to delete the changelog: ' + e.message['desc']) - raise ldap.LDAPError + self.log.error('Failed to delete the changelog: ' + str(e)) + raise def setProperties(self, changelogdn=None, properties=None): if not changelogdn: diff --git a/lib389/replica.py b/lib389/replica.py index 69c32e4..13990bb 100644 --- a/lib389/replica.py +++ b/lib389/replica.py @@ -357,12 +357,12 @@ class Replica(object): self.conn.delete_s(agmt.dn) except ldap.LDAPError as e: self.log.fatal('Failed to delete replica agreement (%s), error: %s' % - (admt.dn, e.message('desc'))) - raise ldap.LDAPError + (admt.dn, str(e))) + raise except ldap.LDAPError as e: self.log.fatal('Failed to search for replication agreements under (%s), error: %s' % - (dn_replica, e.message('desc'))) - raise ldap.LDAPError + (dn_replica, str(e))) + raise def disableReplication(self, suffix=None): ''' @@ -395,14 +395,14 @@ class Replica(object): self.deleteAgreements(nsuffix) except ldap.LDAPError as e: self.log.fatal('Failed to delete replica agreements!') - raise ldap.LDAPError + raise # Delete the replica try: self.conn.delete_s(dn_replica) except ldap.LDAPError as e: - self.log.fatal('Failed to delete replica configuration (%s), error: %s' % (dn_replica, e.message('desc'))) - raise ldap.LDAPError + self.log.fatal('Failed to delete replica configuration (%s), error: %s' % (dn_replica, str(e))) + raise def enableReplication(self, suffix=None, role=None, replicaId=CONSUMER_REPLICAID, binddn=None): if not suffix: -- 2.4.3