From 0cd316bd60c00d1a49e1538605fc7344dfb00729 Mon Sep 17 00:00:00 2001 From: Ken'ichi Ohmichi Date: Wed, 24 Dec 2014 03:51:04 +0000 Subject: [PATCH] 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 --- tempest/clients.py | 3 +-- tempest/common/rest_client.py | 9 +++++---- tempest/services/baremetal/base.py | 4 ++-- tempest/services/compute/json/base.py | 8 ++++---- tempest/services/data_processing/v1_1/client.py | 5 +++-- tempest/services/database/json/flavors_client.py | 4 ++-- tempest/services/database/json/versions_client.py | 4 ++-- tempest/services/identity/json/identity_client.py | 4 ++-- tempest/services/identity/v3/json/base.py | 4 ++-- tempest/services/identity/v3/json/identity_client.py | 2 +- tempest/services/image/v1/json/image_client.py | 4 ++-- tempest/services/image/v2/json/image_client.py | 4 ++-- tempest/services/messaging/json/messaging_client.py | 4 ++-- tempest/services/network/json/network_client.py | 8 ++++---- tempest/services/object_storage/base.py | 4 ++-- .../services/orchestration/json/orchestration_client.py | 9 +++++---- tempest/services/telemetry/json/telemetry_client.py | 4 ++-- tempest/services/volume/json/base.py | 9 +++++---- tempest/tests/test_rest_client.py | 6 +++--- 19 files changed, 51 insertions(+), 48 deletions(-) diff --git a/tempest/clients.py b/tempest/clients.py index a79275eb82..99339c14ba 100644 --- a/tempest/clients.py +++ b/tempest/clients.py @@ -158,8 +158,7 @@ class Manager(manager.Manager): 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 c54f69880e..3dd8503f33 100644 --- a/tempest/common/rest_client.py +++ b/tempest/common/rest_client.py @@ -78,16 +78,17 @@ class RestClient(object): 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 4933300786..657af29105 100644 --- a/tempest/services/baremetal/base.py +++ b/tempest/services/baremetal/base.py @@ -49,8 +49,8 @@ class BaremetalClient(rest_client.RestClient): """ 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 b712452110..68d8614f18 100644 --- a/tempest/services/compute/json/base.py +++ b/tempest/services/compute/json/base.py @@ -30,7 +30,7 @@ class ComputeClient(rest_client.RestClient): 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 7acbae74fa..7365c8516d 100644 --- a/tempest/services/data_processing/v1_1/client.py +++ b/tempest/services/data_processing/v1_1/client.py @@ -21,9 +21,10 @@ CONF = config.CONF 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 f276a45804..a57b0454f4 100644 --- a/tempest/services/database/json/flavors_client.py +++ b/tempest/services/database/json/flavors_client.py @@ -24,8 +24,8 @@ CONF = config.CONF 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 81c0e6c8f4..911b55d5ed 100644 --- a/tempest/services/database/json/versions_client.py +++ b/tempest/services/database/json/versions_client.py @@ -24,9 +24,9 @@ CONF = config.CONF 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 281464ceb8..3ad60f265b 100644 --- a/tempest/services/identity/json/identity_client.py +++ b/tempest/services/identity/json/identity_client.py @@ -22,8 +22,8 @@ CONF = config.CONF 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 3df0dabd77..acb0ab7d52 100644 --- a/tempest/services/identity/v3/json/base.py +++ b/tempest/services/identity/v3/json/base.py @@ -24,7 +24,7 @@ class IdentityV3Client(rest_client.RestClient): """ 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 4c8d8df84f..e45e2800d1 100644 --- a/tempest/services/identity/v3/json/identity_client.py +++ b/tempest/services/identity/v3/json/identity_client.py @@ -523,7 +523,7 @@ class IdentityV3ClientJSON(base.IdentityV3Client): 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 d60c9d92d3..19f275fd97 100644 --- a/tempest/services/image/v1/json/image_client.py +++ b/tempest/services/image/v1/json/image_client.py @@ -35,8 +35,8 @@ LOG = logging.getLogger(__name__) 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 74215083b4..e6178799df 100644 --- a/tempest/services/image/v2/json/image_client.py +++ b/tempest/services/image/v2/json/image_client.py @@ -29,8 +29,8 @@ CONF = config.CONF 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 2794ea9d8c..caed02f247 100644 --- a/tempest/services/messaging/json/messaging_client.py +++ b/tempest/services/messaging/json/messaging_client.py @@ -28,8 +28,8 @@ CONF = config.CONF 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 c622ee490f..096d6ec545 100644 --- a/tempest/services/network/json/network_client.py +++ b/tempest/services/network/json/network_client.py @@ -38,10 +38,10 @@ class NetworkClientJSON(rest_client.RestClient): """ 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 c903ca54a6..3e8eb4ce43 100644 --- a/tempest/services/object_storage/base.py +++ b/tempest/services/object_storage/base.py @@ -24,6 +24,6 @@ class ObjectStorageClient(rest_client.RestClient): """ 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 9b4700a892..6bf7ceb73a 100644 --- a/tempest/services/orchestration/json/orchestration_client.py +++ b/tempest/services/orchestration/json/orchestration_client.py @@ -28,10 +28,11 @@ CONF = config.CONF 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 d2dd3754a8..df7a575177 100644 --- a/tempest/services/telemetry/json/telemetry_client.py +++ b/tempest/services/telemetry/json/telemetry_client.py @@ -25,8 +25,8 @@ CONF = config.CONF 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 8bc2f930d6..e6c997c266 100644 --- a/tempest/services/volume/json/base.py +++ b/tempest/services/volume/json/base.py @@ -24,7 +24,8 @@ class VolumeClient(rest_client.RestClient): """ 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 5b2ce7a28f..42ba5a007f 100644 --- a/tempest/tests/test_rest_client.py +++ b/tempest/tests/test_rest_client.py @@ -38,7 +38,7 @@ class BaseRestClientTestClass(base.TestCase): 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 @@ class TestRestClientErrorCheckerJSON(base.TestCase): 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 @@ class TestNegativeRestClient(BaseRestClientTestClass): 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'))