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
This commit is contained in:
David Kranz 2015-03-20 09:42:56 -04:00
parent f731aa355e
commit 1e33e374ce
3 changed files with 24 additions and 18 deletions

View File

@ -227,7 +227,7 @@ class Manager(manager.Manager):
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

View File

@ -25,25 +25,39 @@ class NegativeRestClient(service_client.ServiceClient):
"""
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):

View File

@ -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 @@ class ServiceClient(rest_client.RestClient):
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: