Browse Source

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
changes/39/116539/4
Angus Lees 7 years ago
parent
commit
b0d763e922
  1. 1
      .pylintrc
  2. 8
      neutron/services/loadbalancer/drivers/netscaler/ncc_client.py

1
.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,

8
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)

Loading…
Cancel
Save