keystonemiddleware/keystonemiddleware/auth_token
Tim Burke 86904543eb Handle DiscoveryFailure errors
DiscoveryFailures can happen for a variety of reasons, ranging
from service misconfiguration to a keystone outage to a transient
network failure. If we don't catch and handle the failure here,
it will almost certainly cause something further up the WSGI stack
to send a 500 Internal Error (and likely log a traceback).

A log line like

    Unable to validate token: Could not find versioned identity
    endpoints when attempting to authenticate. Please check that
    your auth_url is correct. Unable to establish connection to
    http://keystone:35357: HTTPConnectionPool(host='keystone',
    port=35357): Max retries exceeded with url: / (Caused by
    NewConnectionError('<urllib3.connection.HTTPConnection
    object at 0x7fc53e22e050>: Failed to establish a new
    connection: [Errno 111] ECONNREFUSED',))

should be plenty enough for an operator to assess the situation;
I don't need a 29-frame traceback.

Change-Id: I946388c09b2ca0230d2cef009c679a7ac7c8398f
2018-08-01 23:26:13 +00:00
..
__init__.py Handle DiscoveryFailure errors 2018-08-01 23:26:13 +00:00
_auth.py Correct docs usage of keystoneauth1 session 2017-09-12 16:18:00 -05:00
_base.py Break default auth plugin into file 2015-02-26 10:01:15 +11:00
_cache.py Fix the AttributeError: __exit__ error 2018-02-22 16:31:11 +08:00
_exceptions.py Create a Config object 2016-06-10 18:21:56 +00:00
_identity.py Only include response body if there's a response 2018-04-10 15:49:03 -07:00
_memcache_crypt.py Fix py3 byte/string error 2017-10-11 10:21:06 -05:00
_opts.py Rename auth_uri to www_authenticate_uri 2017-10-11 14:00:49 +02:00
_request.py Introduce new header for system-scoped tokens 2018-05-02 19:15:16 +00:00
_revocations.py use oslo.log instead of logging 2017-01-13 03:24:18 +00:00
_signing_dir.py Remove log translations 2017-05-02 09:58:02 +08:00
_user_plugin.py Add service token to user token plugin 2016-10-11 16:03:26 +11:00