Remove remaining CONF references in service_client
The client manager and javelin2 provide these values now, and
NegativeRestClient was fixed to not need these values.
This change is needed to move clients to tempest_lib.
Change-Id: Id30f17281b7e2f9c2a9ef5b9861a27e294911ff6
diff --git a/tempest/clients.py b/tempest/clients.py
index c75bef5..e1b6eab 100644
--- a/tempest/clients.py
+++ b/tempest/clients.py
@@ -227,7 +227,7 @@
endpoint_type=CONF.data_processing.endpoint_type,
**self.default_params_with_timeout_values)
self.negative_client = negative_rest_client.NegativeRestClient(
- self.auth_provider, service)
+ self.auth_provider, service, **self.default_params)
# Generating EC2 credentials in tempest is only supported
# with identity v2
diff --git a/tempest/common/negative_rest_client.py b/tempest/common/negative_rest_client.py
index a02e494..abd8b31 100644
--- a/tempest/common/negative_rest_client.py
+++ b/tempest/common/negative_rest_client.py
@@ -25,25 +25,39 @@
"""
Version of RestClient that does not raise exceptions.
"""
- def __init__(self, auth_provider, service):
- region = self._get_region(service)
- super(NegativeRestClient, self).__init__(auth_provider,
- service, region)
+ def __init__(self, auth_provider, service,
+ build_interval=None, build_timeout=None,
+ disable_ssl_certificate_validation=None,
+ ca_certs=None, trace_requests=None):
+ region, endpoint_type = self._get_region_and_endpoint_type(service)
+ super(NegativeRestClient, self).__init__(
+ auth_provider,
+ service,
+ region,
+ endpoint_type=endpoint_type,
+ build_interval=build_interval,
+ build_timeout=build_timeout,
+ disable_ssl_certificate_validation=(
+ disable_ssl_certificate_validation),
+ ca_certs=ca_certs,
+ trace_requests=trace_requests)
- def _get_region(self, service):
+ def _get_region_and_endpoint_type(self, service):
"""
Returns the region for a specific service
"""
service_region = None
+ service_endpoint_type = None
for cfgname in dir(CONF._config):
# Find all config.FOO.catalog_type and assume FOO is a service.
cfg = getattr(CONF, cfgname)
catalog_type = getattr(cfg, 'catalog_type', None)
if catalog_type == service:
service_region = getattr(cfg, 'region', None)
+ service_endpoint_type = getattr(cfg, 'endpoint_type', None)
if not service_region:
service_region = CONF.identity.region
- return service_region
+ return service_region, service_endpoint_type
def _error_checker(self, method, url,
headers, body, resp, resp_body):
diff --git a/tempest/common/service_client.py b/tempest/common/service_client.py
index ad6610a..87e925d 100644
--- a/tempest/common/service_client.py
+++ b/tempest/common/service_client.py
@@ -14,10 +14,6 @@
from tempest_lib.common import rest_client
-from tempest import config
-
-CONF = config.CONF
-
class ServiceClient(rest_client.RestClient):
@@ -26,15 +22,11 @@
disable_ssl_certificate_validation=None, ca_certs=None,
trace_requests=None):
- # TODO(oomichi): This params setting should be removed after all
- # service clients pass these values, and we can make ServiceClient
- # free from CONF values.
- dscv = (disable_ssl_certificate_validation or
- CONF.identity.disable_ssl_certificate_validation)
+ dscv = disable_ssl_certificate_validation
params = {
'disable_ssl_certificate_validation': dscv,
- 'ca_certs': ca_certs or CONF.identity.ca_certificates_file,
- 'trace_requests': trace_requests or CONF.debug.trace_requests
+ 'ca_certs': ca_certs,
+ 'trace_requests': trace_requests
}
if endpoint_type is not None: