summaryrefslogtreecommitdiff
path: root/ceilometerclient
diff options
context:
space:
mode:
authorMehdi Abaakouk <sileht@redhat.com>2015-11-19 16:26:42 +0100
committerMehdi Abaakouk <sileht@redhat.com>2015-11-20 07:34:20 +0100
commit52d518537df335432fc487ccd5c81a500049cd28 (patch)
treef1cb3eff92882e03e2f107cc62fd05dff7a57ead /ceilometerclient
parent7be79a22f151c35b86e747d3eb9af78f0fbea06b (diff)
downloadpython-ceilometerclient-52d518537df335432fc487ccd5c81a500049cd28.tar.gz
Catch exception raised by keystoneauth1
We must support session object that comes from keystoneauth1 and keystoneclient. This change adds code path for keystoneauth1 when it misses. Change-Id: I1164a0a0745605b6bc4fd1fc8fb2813c7e40fb9b
Diffstat (limited to 'ceilometerclient')
-rw-r--r--ceilometerclient/tests/unit/test_client.py3
-rw-r--r--ceilometerclient/v2/client.py11
2 files changed, 10 insertions, 4 deletions
diff --git a/ceilometerclient/tests/unit/test_client.py b/ceilometerclient/tests/unit/test_client.py
index 3021699..99fa212 100644
--- a/ceilometerclient/tests/unit/test_client.py
+++ b/ceilometerclient/tests/unit/test_client.py
@@ -12,6 +12,7 @@
import types
+from keystoneauth1 import exceptions as ka_exc
from keystoneclient.auth.identity import v2 as v2_auth
from keystoneclient.auth.identity import v3 as v3_auth
from keystoneclient import exceptions as ks_exc
@@ -46,7 +47,7 @@ class ClientTest(utils.BaseTestCase):
if not env.get('auth_plugin'):
with mock.patch('ceilometerclient.client.AuthPlugin.'
'redirect_to_aodh_endpoint') as redirect_aodh:
- redirect_aodh.side_effect = ks_exc.EndpointNotFound
+ redirect_aodh.side_effect = ka_exc.EndpointNotFound
return client.get_client(api_version, **env)
else:
env['auth_plugin'].redirect_to_aodh_endpoint.side_effect = \
diff --git a/ceilometerclient/v2/client.py b/ceilometerclient/v2/client.py
index b3272a1..0014636 100644
--- a/ceilometerclient/v2/client.py
+++ b/ceilometerclient/v2/client.py
@@ -28,7 +28,8 @@ from ceilometerclient.v2 import samples
from ceilometerclient.v2 import statistics
from ceilometerclient.v2 import trait_descriptions
from ceilometerclient.v2 import traits
-from keystoneclient import exceptions
+from keystoneauth1 import exceptions as ka_exc
+from keystoneclient import exceptions as kc_exc
class Client(object):
@@ -94,7 +95,9 @@ class Client(object):
kwargs["service_type"] = "alarming"
try:
return ceiloclient._construct_http_client(**kwargs), True
- except exceptions.EndpointNotFound:
+ except ka_exc.EndpointNotFound:
+ return self.http_client, False
+ except kc_exc.EndpointNotFound:
return self.http_client, False
else:
if aodh_endpoint:
@@ -111,6 +114,8 @@ class Client(object):
# the endpoint of alarm auth_plugin.
kwargs["auth_plugin"].redirect_to_aodh_endpoint(
kwargs.get('timeout'))
- except exceptions.EndpointNotFound:
+ except ka_exc.EndpointNotFound:
+ return self.http_client, False
+ except kc_exc.EndpointNotFound:
return self.http_client, False
return ceiloclient._construct_http_client(**kwargs), True