Handle keystoneauth exceptions in retry logic
The retry_logic in do_request catches neutronclient errors, but if a
SessionClient is being used, nothing throws neutronclient errors -
instead keystoneauth Session throws keystoneauth exceptions.
Add the keystoneauth.exceptions.ConnectionError to the things that
handle the error and retry.
Change-Id: If16e50ee53279652fbdfc2d13d5509f46a54124a
(cherry picked from commit b8a05333dd
)
This commit is contained in:
parent
4072abac8d
commit
47f6ac356b
|
@ -22,6 +22,7 @@ import re
|
|||
import time
|
||||
|
||||
import debtcollector.renames
|
||||
from keystoneauth1 import exceptions as ksa_exc
|
||||
import requests
|
||||
import six.moves.urllib.parse as urlparse
|
||||
from six import string_types
|
||||
|
@ -335,7 +336,7 @@ class ClientBase(object):
|
|||
try:
|
||||
return self.do_request(method, action, body=body,
|
||||
headers=headers, params=params)
|
||||
except exceptions.ConnectionFailed:
|
||||
except (exceptions.ConnectionFailed, ksa_exc.ConnectionError):
|
||||
# Exception has already been logged by do_request()
|
||||
if i < self.retries:
|
||||
_logger.debug('Retrying connection to Neutron service')
|
||||
|
|
Loading…
Reference in New Issue