Activity log for bug #1634969

Date Who What changed Old value New value Message
2016-10-19 16:49:02 Choe, Cheng-Dae bug added bug
2016-10-19 16:50:24 Choe, Cheng-Dae description $ tox -e functional Failed to import test module: openstack.tests.functional.telemetry.v2.test_statistics Traceback (most recent call last): File "/Users/charlie/work/openstack/python-openstacksdk/.tox/functional/lib/python2.7/site-packages/unittest2/loader.py", line 456, in _find_test_path module = self._get_module_from_name(name) File "/Users/charlie/work/openstack/python-openstacksdk/.tox/functional/lib/python2.7/site-packages/unittest2/loader.py", line 395, in _get_module_from_name __import__(name) File "openstack/tests/functional/telemetry/v2/test_statistics.py", line 18, in <module> @unittest.skipUnless(base.service_exists(service_type="metering"), File "openstack/tests/functional/base.py", line 63, in service_exists conn.session.get_endpoint(**kwargs) File "openstack/session.py", line 238, in get_endpoint sc_endpoint) File "openstack/session.py", line 123, in _get_endpoint_versions response = self.get(root_endpoint) File "/Users/charlie/work/openstack/python-openstacksdk/.tox/functional/lib/python2.7/site-packages/keystoneauth1/session.py", line 667, in get return self.request(url, 'GET', **kwargs) File "openstack/session.py", line 54, in map_exceptions_wrapper raise exceptions.SDKException(message=e.message, cause=e) SDKException: Connection failure that may be retried. The test run didn't actually run any tests I'm trying to functional test with trystack.org. but ceilometer endpoint gets connection failure. here is just simple path for just skip test when endpoint connection failed. but I'm not sure it is a right solution. diff --git a/openstack/tests/functional/base.py b/openstack/tests/functional/base.py index 3d37081..cc40f0a 100644 --- a/openstack/tests/functional/base.py +++ b/openstack/tests/functional/base.py @@ -17,6 +17,7 @@ import unittest from keystoneauth1 import exceptions as _exceptions from openstack import connection +from openstack import exceptions #: Defines the OpenStack Client Config (OCC) cloud key in your OCC config @@ -46,6 +47,7 @@ IMAGE_NAME = _get_resource_value('image_name', 'cirros-0.3.4-x86_64-uec') FLAVOR_NAME = _get_resource_value('flavor_name', 'm1.small') +# todo (charlie) cache result def service_exists(**kwargs): """Decorator function to check whether a service exists @@ -65,6 +67,10 @@ def service_exists(**kwargs): return True except _exceptions.EndpointNotFound: return False + except exceptions.SDKException as e: + if isinstance(e.cause, _exceptions.connection.ConnectFailure): + return False + raise class BaseFunctionalTest(unittest.TestCase): $ tox -e functional Failed to import test module: openstack.tests.functional.telemetry.v2.test_statistics Traceback (most recent call last):   File "/Users/charlie/work/openstack/python-openstacksdk/.tox/functional/lib/python2.7/site-packages/unittest2/loader.py", line 456, in _find_test_path     module = self._get_module_from_name(name)   File "/Users/charlie/work/openstack/python-openstacksdk/.tox/functional/lib/python2.7/site-packages/unittest2/loader.py", line 395, in _get_module_from_name     __import__(name)   File "openstack/tests/functional/telemetry/v2/test_statistics.py", line 18, in <module>     @unittest.skipUnless(base.service_exists(service_type="metering"),   File "openstack/tests/functional/base.py", line 63, in service_exists     conn.session.get_endpoint(**kwargs)   File "openstack/session.py", line 238, in get_endpoint     sc_endpoint)   File "openstack/session.py", line 123, in _get_endpoint_versions     response = self.get(root_endpoint)   File "/Users/charlie/work/openstack/python-openstacksdk/.tox/functional/lib/python2.7/site-packages/keystoneauth1/session.py", line 667, in get     return self.request(url, 'GET', **kwargs)   File "openstack/session.py", line 54, in map_exceptions_wrapper     raise exceptions.SDKException(message=e.message, cause=e) SDKException: Connection failure that may be retried. The test run didn't actually run any tests I'm trying to functional test with trystack.org. but ceilometer endpoint gets connection failure. here is just simple path for just skip test when endpoint connection failed. but I'm not sure it is a right solution. diff --git a/openstack/tests/functional/base.py b/openstack/tests/functional/base.py index 3d37081..ec168b3 100644 --- a/openstack/tests/functional/base.py +++ b/openstack/tests/functional/base.py @@ -17,6 +17,7 @@ import unittest from keystoneauth1 import exceptions as _exceptions from openstack import connection +from openstack import exceptions #: Defines the OpenStack Client Config (OCC) cloud key in your OCC config @@ -65,6 +66,10 @@ def service_exists(**kwargs): return True except _exceptions.EndpointNotFound: return False + except exceptions.SDKException as e: + if isinstance(e.cause, _exceptions.connection.ConnectFailure): + return False + raise class BaseFunctionalTest(unittest.TestCase):