From aa601680db0ccc9b494aabad45aeddaf2fddaac6 Mon Sep 17 00:00:00 2001 From: Angus Lees Date: Mon, 25 Aug 2014 12:02:16 +1000 Subject: [PATCH] Fix incorrect exception order in _execute_request _execute_request has a list of exception handlers to log various types of errors with more specific error messages. Unfortunately, it catches requests.exceptions.ConnectionError before requests.exceptions.SSLError, but ConnectionError is a superclass of SSLError so the latter is never invoked. This change corrects the exception handling order, and enables the bad-except-order pylint check now that the check passes. Change-Id: I92bacd6088de5cbc170bc5c081a1db1baeec69e7 Closes-Bug: #1360970 --- .pylintrc | 1 - .../services/loadbalancer/drivers/netscaler/ncc_client.py | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.pylintrc b/.pylintrc index 0c90b4ad3a..4611e192da 100644 --- a/.pylintrc +++ b/.pylintrc @@ -19,7 +19,6 @@ disable= locally-disabled, # "E" Error for important programming issues (likely bugs) access-member-before-definition, - bad-except-order, bad-super-call, maybe-no-member, no-member, diff --git a/neutron/services/loadbalancer/drivers/netscaler/ncc_client.py b/neutron/services/loadbalancer/drivers/netscaler/ncc_client.py index 87e11fca6c..b23bbb0bac 100644 --- a/neutron/services/loadbalancer/drivers/netscaler/ncc_client.py +++ b/neutron/services/loadbalancer/drivers/netscaler/ncc_client.py @@ -130,15 +130,15 @@ class NSClient(object): try: response = requests.request(method, url=resource_uri, headers=headers, data=body) + except requests.exceptions.SSLError: + LOG.exception(_LE("SSL error occurred while connecting to %s"), + self.service_uri) + raise NCCException(NCCException.CONNECTION_ERROR) except requests.exceptions.ConnectionError: LOG.exception(_LE("Connection error occurred while connecting " "to %s"), self.service_uri) raise NCCException(NCCException.CONNECTION_ERROR) - except requests.exceptions.SSLError: - LOG.exception(_LE("SSL error occurred while connecting to %s"), - self.service_uri) - raise NCCException(NCCException.CONNECTION_ERROR) except requests.exceptions.Timeout: LOG.exception(_LE("Request to %s timed out"), self.service_uri) raise NCCException(NCCException.CONNECTION_ERROR)