Separate build_interval/timeout from RestClient
RestClient used compute build_interval/timeout values as the default,
even if the other projects' clients. This implementation is not useful
when RestClient is changed to a library class.
Then this patch separates compute build_interval/timeout values from
the class and set the same static values as the default.
Change-Id: Ibc4307b406b71db258975da90a39c1f51ad27e12
diff --git a/tempest/clients.py b/tempest/clients.py
index a79275e..99339c1 100644
--- a/tempest/clients.py
+++ b/tempest/clients.py
@@ -158,8 +158,7 @@
self.telemetry_client = TelemetryClientJSON(
self.auth_provider)
self.negative_client = rest_client.NegativeRestClient(
- self.auth_provider)
- self.negative_client.service = service
+ self.auth_provider, service)
# TODO(andreaf) EC2 client still do their auth, v2 only
ec2_client_args = (self.credentials.username,
diff --git a/tempest/common/rest_client.py b/tempest/common/rest_client.py
index c54f698..3dd8503 100644
--- a/tempest/common/rest_client.py
+++ b/tempest/common/rest_client.py
@@ -78,16 +78,17 @@
LOG = logging.getLogger(__name__)
- def __init__(self, auth_provider):
+ def __init__(self, auth_provider, service,
+ build_interval=1, build_timeout=60):
self.auth_provider = auth_provider
+ self.service = service
+ self.build_interval = build_interval
+ self.build_timeout = build_timeout
self.endpoint_url = None
- self.service = None
# The version of the API this client implements
self.api_version = None
self._skip_path = False
- self.build_interval = CONF.compute.build_interval
- self.build_timeout = CONF.compute.build_timeout
self.general_header_lc = set(('cache-control', 'connection',
'date', 'pragma', 'trailer',
'transfer-encoding', 'via',
diff --git a/tempest/services/baremetal/base.py b/tempest/services/baremetal/base.py
index 4933300..657af29 100644
--- a/tempest/services/baremetal/base.py
+++ b/tempest/services/baremetal/base.py
@@ -49,8 +49,8 @@
"""
def __init__(self, auth_provider):
- super(BaremetalClient, self).__init__(auth_provider)
- self.service = CONF.baremetal.catalog_type
+ super(BaremetalClient, self).__init__(
+ auth_provider, CONF.baremetal.catalog_type)
self.uri_prefix = ''
def serialize(self, object_type, object_dict):
diff --git a/tempest/services/compute/json/base.py b/tempest/services/compute/json/base.py
index b712452..68d8614 100644
--- a/tempest/services/compute/json/base.py
+++ b/tempest/services/compute/json/base.py
@@ -30,7 +30,7 @@
if build_timeout is None:
build_timeout = CONF.compute.build_timeout
- super(ComputeClient, self).__init__(auth_provider)
- self.service = CONF.compute.catalog_type
- self.build_interval = build_interval
- self.build_timeout = build_timeout
+ super(ComputeClient, self).__init__(auth_provider,
+ CONF.compute.catalog_type,
+ build_interval=build_interval,
+ build_timeout=build_timeout)
diff --git a/tempest/services/data_processing/v1_1/client.py b/tempest/services/data_processing/v1_1/client.py
index 7acbae7..7365c85 100644
--- a/tempest/services/data_processing/v1_1/client.py
+++ b/tempest/services/data_processing/v1_1/client.py
@@ -21,9 +21,10 @@
class DataProcessingClient(rest_client.RestClient):
+
def __init__(self, auth_provider):
- super(DataProcessingClient, self).__init__(auth_provider)
- self.service = CONF.data_processing.catalog_type
+ super(DataProcessingClient, self).__init__(
+ auth_provider, CONF.data_processing.catalog_type)
def _request_and_check_resp(self, request_func, uri, resp_status):
"""Make a request using specified request_func and check response
diff --git a/tempest/services/database/json/flavors_client.py b/tempest/services/database/json/flavors_client.py
index f276a45..a57b045 100644
--- a/tempest/services/database/json/flavors_client.py
+++ b/tempest/services/database/json/flavors_client.py
@@ -24,8 +24,8 @@
class DatabaseFlavorsClientJSON(rest_client.RestClient):
def __init__(self, auth_provider):
- super(DatabaseFlavorsClientJSON, self).__init__(auth_provider)
- self.service = CONF.database.catalog_type
+ super(DatabaseFlavorsClientJSON, self).__init__(
+ auth_provider, CONF.database.catalog_type)
def list_db_flavors(self, params=None):
url = 'flavors'
diff --git a/tempest/services/database/json/versions_client.py b/tempest/services/database/json/versions_client.py
index 81c0e6c..911b55d 100644
--- a/tempest/services/database/json/versions_client.py
+++ b/tempest/services/database/json/versions_client.py
@@ -24,9 +24,9 @@
class DatabaseVersionsClientJSON(rest_client.RestClient):
def __init__(self, auth_provider):
- super(DatabaseVersionsClientJSON, self).__init__(auth_provider)
+ super(DatabaseVersionsClientJSON, self).__init__(
+ auth_provider, CONF.database.catalog_type)
self.skip_path()
- self.service = CONF.database.catalog_type
def list_db_versions(self, params=None):
"""List all versions."""
diff --git a/tempest/services/identity/json/identity_client.py b/tempest/services/identity/json/identity_client.py
index 281464c..3ad60f2 100644
--- a/tempest/services/identity/json/identity_client.py
+++ b/tempest/services/identity/json/identity_client.py
@@ -22,8 +22,8 @@
class IdentityClientJSON(rest_client.RestClient):
def __init__(self, auth_provider):
- super(IdentityClientJSON, self).__init__(auth_provider)
- self.service = CONF.identity.catalog_type
+ super(IdentityClientJSON, self).__init__(auth_provider,
+ CONF.identity.catalog_type)
self.endpoint_url = 'adminURL'
def has_admin_extensions(self):
diff --git a/tempest/services/identity/v3/json/base.py b/tempest/services/identity/v3/json/base.py
index 3df0dab..acb0ab7 100644
--- a/tempest/services/identity/v3/json/base.py
+++ b/tempest/services/identity/v3/json/base.py
@@ -24,7 +24,7 @@
"""
def __init__(self, auth_provider):
- super(IdentityV3Client, self).__init__(auth_provider)
- self.service = CONF.identity.catalog_type
+ super(IdentityV3Client, self).__init__(auth_provider,
+ CONF.identity.catalog_type)
self.endpoint_url = 'adminURL'
self.api_version = "v3"
diff --git a/tempest/services/identity/v3/json/identity_client.py b/tempest/services/identity/v3/json/identity_client.py
index 4c8d8df..e45e280 100644
--- a/tempest/services/identity/v3/json/identity_client.py
+++ b/tempest/services/identity/v3/json/identity_client.py
@@ -523,7 +523,7 @@
class V3TokenClientJSON(rest_client.RestClient):
def __init__(self):
- super(V3TokenClientJSON, self).__init__(None)
+ super(V3TokenClientJSON, self).__init__(None, None)
auth_url = CONF.identity.uri_v3
if not auth_url:
raise exceptions.InvalidConfiguration('you must specify a v3 uri '
diff --git a/tempest/services/image/v1/json/image_client.py b/tempest/services/image/v1/json/image_client.py
index d60c9d9..19f275f 100644
--- a/tempest/services/image/v1/json/image_client.py
+++ b/tempest/services/image/v1/json/image_client.py
@@ -35,8 +35,8 @@
class ImageClientJSON(rest_client.RestClient):
def __init__(self, auth_provider):
- super(ImageClientJSON, self).__init__(auth_provider)
- self.service = CONF.image.catalog_type
+ super(ImageClientJSON, self).__init__(auth_provider,
+ CONF.image.catalog_type)
self._http = None
def _image_meta_from_headers(self, headers):
diff --git a/tempest/services/image/v2/json/image_client.py b/tempest/services/image/v2/json/image_client.py
index 7421508..e617879 100644
--- a/tempest/services/image/v2/json/image_client.py
+++ b/tempest/services/image/v2/json/image_client.py
@@ -29,8 +29,8 @@
class ImageClientV2JSON(rest_client.RestClient):
def __init__(self, auth_provider):
- super(ImageClientV2JSON, self).__init__(auth_provider)
- self.service = CONF.image.catalog_type
+ super(ImageClientV2JSON, self).__init__(auth_provider,
+ CONF.image.catalog_type)
self._http = None
def _get_http(self):
diff --git a/tempest/services/messaging/json/messaging_client.py b/tempest/services/messaging/json/messaging_client.py
index 2794ea9..caed02f 100644
--- a/tempest/services/messaging/json/messaging_client.py
+++ b/tempest/services/messaging/json/messaging_client.py
@@ -28,8 +28,8 @@
class MessagingClientJSON(rest_client.RestClient):
def __init__(self, auth_provider):
- super(MessagingClientJSON, self).__init__(auth_provider)
- self.service = CONF.messaging.catalog_type
+ super(MessagingClientJSON, self).__init__(auth_provider,
+ CONF.messaging.catalog_type)
self.version = '1'
self.uri_prefix = 'v{0}'.format(self.version)
diff --git a/tempest/services/network/json/network_client.py b/tempest/services/network/json/network_client.py
index c622ee4..096d6ec 100644
--- a/tempest/services/network/json/network_client.py
+++ b/tempest/services/network/json/network_client.py
@@ -38,10 +38,10 @@
"""
def __init__(self, auth_provider):
- super(NetworkClientJSON, self).__init__(auth_provider)
- self.service = CONF.network.catalog_type
- self.build_timeout = CONF.network.build_timeout
- self.build_interval = CONF.network.build_interval
+ super(NetworkClientJSON, self).__init__(
+ auth_provider, CONF.network.catalog_type,
+ build_interval=CONF.network.build_interval,
+ build_timeout=CONF.network.build_timeout)
self.version = '2.0'
self.uri_prefix = "v%s" % (self.version)
diff --git a/tempest/services/object_storage/base.py b/tempest/services/object_storage/base.py
index c903ca5..3e8eb4c 100644
--- a/tempest/services/object_storage/base.py
+++ b/tempest/services/object_storage/base.py
@@ -24,6 +24,6 @@
"""
def __init__(self, auth_provider):
- super(ObjectStorageClient, self).__init__(auth_provider)
- self.service = CONF.object_storage.catalog_type
+ super(ObjectStorageClient, self).__init__(
+ auth_provider, CONF.object_storage.catalog_type)
self.format = 'json'
diff --git a/tempest/services/orchestration/json/orchestration_client.py b/tempest/services/orchestration/json/orchestration_client.py
index 9b4700a..6bf7ceb 100644
--- a/tempest/services/orchestration/json/orchestration_client.py
+++ b/tempest/services/orchestration/json/orchestration_client.py
@@ -28,10 +28,11 @@
class OrchestrationClient(rest_client.RestClient):
def __init__(self, auth_provider):
- super(OrchestrationClient, self).__init__(auth_provider)
- self.service = CONF.orchestration.catalog_type
- self.build_interval = CONF.orchestration.build_interval
- self.build_timeout = CONF.orchestration.build_timeout
+ super(OrchestrationClient, self).__init__(
+ auth_provider,
+ CONF.orchestration.catalog_type,
+ build_interval=CONF.orchestration.build_interval,
+ build_timeout=CONF.orchestration.build_timeout)
def list_stacks(self, params=None):
"""Lists all stacks for a user."""
diff --git a/tempest/services/telemetry/json/telemetry_client.py b/tempest/services/telemetry/json/telemetry_client.py
index d2dd375..df7a575 100644
--- a/tempest/services/telemetry/json/telemetry_client.py
+++ b/tempest/services/telemetry/json/telemetry_client.py
@@ -25,8 +25,8 @@
class TelemetryClientJSON(rest_client.RestClient):
def __init__(self, auth_provider):
- super(TelemetryClientJSON, self).__init__(auth_provider)
- self.service = CONF.telemetry.catalog_type
+ super(TelemetryClientJSON, self).__init__(auth_provider,
+ CONF.telemetry.catalog_type)
self.version = '2'
self.uri_prefix = "v%s" % self.version
diff --git a/tempest/services/volume/json/base.py b/tempest/services/volume/json/base.py
index 8bc2f93..e6c997c 100644
--- a/tempest/services/volume/json/base.py
+++ b/tempest/services/volume/json/base.py
@@ -24,7 +24,8 @@
"""
def __init__(self, auth_provider):
- super(VolumeClient, self).__init__(auth_provider)
- self.service = CONF.volume.catalog_type
- self.build_interval = CONF.volume.build_interval
- self.build_timeout = CONF.volume.build_timeout
+ super(VolumeClient, self).__init__(
+ auth_provider,
+ CONF.volume.catalog_type,
+ build_interval=CONF.volume.build_interval,
+ build_timeout=CONF.volume.build_timeout)
diff --git a/tempest/tests/test_rest_client.py b/tempest/tests/test_rest_client.py
index 5b2ce7a..42ba5a0 100644
--- a/tempest/tests/test_rest_client.py
+++ b/tempest/tests/test_rest_client.py
@@ -38,7 +38,7 @@
self.useFixture(fake_config.ConfigFixture())
self.stubs.Set(config, 'TempestConfigPrivate', fake_config.FakePrivate)
self.rest_client = rest_client.RestClient(
- fake_auth_provider.FakeAuthProvider())
+ fake_auth_provider.FakeAuthProvider(), None)
self.stubs.Set(httplib2.Http, 'request', self.fake_http.request)
self.useFixture(mockpatch.PatchObject(self.rest_client, '_get_region',
side_effect=self._get_region()))
@@ -304,7 +304,7 @@
self.useFixture(fake_config.ConfigFixture())
self.stubs.Set(config, 'TempestConfigPrivate', fake_config.FakePrivate)
self.rest_client = rest_client.RestClient(
- fake_auth_provider.FakeAuthProvider())
+ fake_auth_provider.FakeAuthProvider(), None)
def test_response_less_than_400(self):
self.rest_client._error_checker(**self.set_data("399"))
@@ -434,7 +434,7 @@
self.fake_http = fake_http.fake_httplib2()
super(TestNegativeRestClient, self).setUp()
self.negative_rest_client = rest_client.NegativeRestClient(
- fake_auth_provider.FakeAuthProvider())
+ fake_auth_provider.FakeAuthProvider(), None)
self.useFixture(mockpatch.PatchObject(self.negative_rest_client,
'_log_request'))