summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ceilometerclient/tests/unit/test_client.py10
-rw-r--r--ceilometerclient/v2/client.py4
2 files changed, 14 insertions, 0 deletions
diff --git a/ceilometerclient/tests/unit/test_client.py b/ceilometerclient/tests/unit/test_client.py
index 000f0e8..5233709 100644
--- a/ceilometerclient/tests/unit/test_client.py
+++ b/ceilometerclient/tests/unit/test_client.py
@@ -17,6 +17,7 @@ from keystoneclient.auth.identity import v3 as v3_auth
from keystoneclient import exceptions as ks_exc
from keystoneclient import session as ks_session
import mock
+import requests
from ceilometerclient import client
from ceilometerclient import exc
@@ -218,6 +219,15 @@ class ClientTestWithAodh(ClientTest):
self.assertEqual('True', (client.alarm_client.http_client.
auth_plugin.opts['insecure']))
+ def test_ceilometerclient_available_without_aodh_services_running(self):
+ env = FAKE_ENV.copy()
+ env.pop('auth_plugin', None)
+ with mock.patch('ceilometerclient.openstack.common.apiclient.client.'
+ 'HTTPClient.client_request') as mocked_request:
+ mocked_request.side_effect = requests.exceptions.ConnectionError
+ ceiloclient = client.get_client(2, **env)
+ self.assertIsInstance(ceiloclient, v2client.Client)
+
class ClientAuthTest(utils.BaseTestCase):
diff --git a/ceilometerclient/v2/client.py b/ceilometerclient/v2/client.py
index 3aaf9b1..9620c4a 100644
--- a/ceilometerclient/v2/client.py
+++ b/ceilometerclient/v2/client.py
@@ -16,6 +16,8 @@
# under the License.
import copy
+import requests
+
from ceilometerclient import client as ceiloclient
from ceilometerclient.v2 import alarms
from ceilometerclient.v2 import capabilities
@@ -125,3 +127,5 @@ class Client(object):
return None
except kc_exc.EndpointNotFound:
return None
+ except requests.exceptions.ConnectionError:
+ return None