diff --git a/tempest/clients.py b/tempest/clients.py index d0a14919b2..797185ade0 100644 --- a/tempest/clients.py +++ b/tempest/clients.py @@ -184,7 +184,6 @@ class Manager(object): :param password: Override of the password :param tenant_name: Override of the tenant name """ - self.config = CONF # If no creds are provided, we fall back on the defaults # in the config file for the Compute API. self.username = username or CONF.identity.username @@ -201,12 +200,12 @@ class Manager(object): self.auth_url = CONF.identity.uri self.auth_url_v3 = CONF.identity.uri_v3 - client_args = (CONF, self.username, self.password, + client_args = (self.username, self.password, self.auth_url, self.tenant_name) if self.auth_url_v3: auth_version = 'v3' - client_args_v3_auth = (CONF, self.username, + client_args_v3_auth = (self.username, self.password, self.auth_url_v3, self.tenant_name, auth_version) else: @@ -231,7 +230,7 @@ class Manager(object): self.volume_types_client = VolumeTypesClientXML(*client_args) self.identity_client = IdentityClientXML(*client_args) self.identity_v3_client = IdentityV3ClientXML(*client_args) - self.token_client = TokenClientXML(CONF) + self.token_client = TokenClientXML() self.security_groups_client = SecurityGroupsClientXML( *client_args) self.interfaces_client = InterfacesClientXML(*client_args) @@ -287,7 +286,7 @@ class Manager(object): self.volume_types_client = VolumeTypesClientJSON(*client_args) self.identity_client = IdentityClientJSON(*client_args) self.identity_v3_client = IdentityV3ClientJSON(*client_args) - self.token_client = TokenClientJSON(CONF) + self.token_client = TokenClientJSON() self.security_groups_client = SecurityGroupsClientJSON( *client_args) self.interfaces_v3_client = InterfacesV3ClientJSON(*client_args) diff --git a/tempest/common/rest_client.py b/tempest/common/rest_client.py index b1fef99317..636e2bf84e 100644 --- a/tempest/common/rest_client.py +++ b/tempest/common/rest_client.py @@ -22,10 +22,13 @@ import re import time from tempest.common import http +from tempest import config from tempest import exceptions from tempest.openstack.common import log as logging from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + # redrive rate limited calls at most twice MAX_RECURSION_DEPTH = 2 TOKEN_CHARS_RE = re.compile('^[-A-Za-z0-9+/=]*$') @@ -38,9 +41,8 @@ class RestClient(object): TYPE = "json" LOG = logging.getLogger(__name__) - def __init__(self, config, user, password, auth_url, tenant_name=None, + def __init__(self, user, password, auth_url, tenant_name=None, auth_version='v2'): - self.config = config self.user = user self.password = password self.auth_url = auth_url @@ -51,21 +53,21 @@ class RestClient(object): self.token = None self.base_url = None self.region = {} - for cfgname in dir(self.config): + for cfgname in dir(CONF): # Find all config.FOO.catalog_type and assume FOO is a service. - cfg = getattr(self.config, cfgname) + cfg = getattr(CONF, cfgname) catalog_type = getattr(cfg, 'catalog_type', None) if not catalog_type: continue service_region = getattr(cfg, 'region', None) if not service_region: - service_region = self.config.identity.region + service_region = CONF.identity.region self.region[catalog_type] = service_region self.endpoint_url = 'publicURL' self.headers = {'Content-Type': 'application/%s' % self.TYPE, 'Accept': 'application/%s' % self.TYPE} - self.build_interval = config.compute.build_interval - self.build_timeout = config.compute.build_timeout + 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', @@ -74,18 +76,18 @@ class RestClient(object): 'location', 'proxy-authenticate', 'retry-after', 'server', 'vary', 'www-authenticate')) - dscv = self.config.identity.disable_ssl_certificate_validation + dscv = CONF.identity.disable_ssl_certificate_validation self.http_obj = http.ClosingHttp( disable_ssl_certificate_validation=dscv) def __str__(self): STRING_LIMIT = 80 - str_format = ("config:%s, user:%s, password:%s, " + str_format = ("user:%s, password:%s, " "auth_url:%s, tenant_name:%s, auth_version:%s, " "service:%s, base_url:%s, region:%s, " "endpoint_url:%s, build_interval:%s, build_timeout:%s" "\ntoken:%s..., \nheaders:%s...") - return str_format % (self.config, self.user, self.password, + return str_format % (self.user, self.password, self.auth_url, self.tenant_name, self.auth_version, self.service, self.base_url, self.region, self.endpoint_url, diff --git a/tempest/services/baremetal/base.py b/tempest/services/baremetal/base.py index 74d023a3fd..0b5426e37f 100644 --- a/tempest/services/baremetal/base.py +++ b/tempest/services/baremetal/base.py @@ -16,6 +16,9 @@ import json import six from tempest.common import rest_client +from tempest import config + +CONF = config.CONF def handle_errors(f): @@ -44,10 +47,10 @@ class BaremetalClient(rest_client.RestClient): """ - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(BaremetalClient, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(BaremetalClient, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.baremetal.catalog_type + self.service = CONF.baremetal.catalog_type self.uri_prefix = '' def serialize(self, object_type, object_dict): diff --git a/tempest/services/baremetal/v1/base_v1.py b/tempest/services/baremetal/v1/base_v1.py index 5e90cd6a63..13693e1415 100644 --- a/tempest/services/baremetal/v1/base_v1.py +++ b/tempest/services/baremetal/v1/base_v1.py @@ -21,8 +21,8 @@ class BaremetalClientV1(base.BaremetalClient): methods in order to send requests to Ironic. """ - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(BaremetalClientV1, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(BaremetalClientV1, self).__init__(username, password, auth_url, tenant_name) self.version = '1' self.uri_prefix = 'v%s' % self.version diff --git a/tempest/services/baremetal/v1/client_json.py b/tempest/services/baremetal/v1/client_json.py index f1708afca5..c98b20f896 100644 --- a/tempest/services/baremetal/v1/client_json.py +++ b/tempest/services/baremetal/v1/client_json.py @@ -18,8 +18,8 @@ from tempest.services.baremetal.v1 import base_v1 class BaremetalClientJSON(base_v1.BaremetalClientV1): """Tempest REST client for Ironic JSON API v1.""" - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(BaremetalClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(BaremetalClientJSON, self).__init__(username, password, auth_url, tenant_name) self.serialize = lambda obj_type, obj_body: json.dumps(obj_body) diff --git a/tempest/services/botoclients.py b/tempest/services/botoclients.py index a1e1b5c1b4..03e87b13bd 100644 --- a/tempest/services/botoclients.py +++ b/tempest/services/botoclients.py @@ -18,25 +18,27 @@ import contextlib import types import urlparse +from tempest import config from tempest import exceptions import boto import boto.ec2 import boto.s3.connection +CONF = config.CONF + class BotoClientBase(object): ALLOWED_METHODS = set() - def __init__(self, config, - username=None, password=None, + def __init__(self, username=None, password=None, auth_url=None, tenant_name=None, *args, **kwargs): - self.connection_timeout = str(config.boto.http_socket_timeout) - self.num_retries = str(config.boto.num_retries) - self.build_timeout = config.boto.build_timeout + self.connection_timeout = str(CONF.boto.http_socket_timeout) + self.num_retries = str(CONF.boto.num_retries) + self.build_timeout = CONF.boto.build_timeout self.ks_cred = {"username": username, "password": password, "auth_url": auth_url, @@ -103,15 +105,15 @@ class APIClientEC2(BotoClientBase): def connect_method(self, *args, **kwargs): return boto.connect_ec2(*args, **kwargs) - def __init__(self, config, *args, **kwargs): - super(APIClientEC2, self).__init__(config, *args, **kwargs) - aws_access = config.boto.aws_access - aws_secret = config.boto.aws_secret - purl = urlparse.urlparse(config.boto.ec2_url) + def __init__(self, *args, **kwargs): + super(APIClientEC2, self).__init__(*args, **kwargs) + aws_access = CONF.boto.aws_access + aws_secret = CONF.boto.aws_secret + purl = urlparse.urlparse(CONF.boto.ec2_url) - region_name = config.compute.region + region_name = CONF.compute.region if not region_name: - region_name = config.identity.region + region_name = CONF.identity.region region = boto.ec2.regioninfo.RegionInfo(name=region_name, endpoint=purl.hostname) port = purl.port @@ -194,11 +196,11 @@ class ObjectClientS3(BotoClientBase): def connect_method(self, *args, **kwargs): return boto.connect_s3(*args, **kwargs) - def __init__(self, config, *args, **kwargs): - super(ObjectClientS3, self).__init__(config, *args, **kwargs) - aws_access = config.boto.aws_access - aws_secret = config.boto.aws_secret - purl = urlparse.urlparse(config.boto.s3_url) + def __init__(self, *args, **kwargs): + super(ObjectClientS3, self).__init__(*args, **kwargs) + aws_access = CONF.boto.aws_access + aws_secret = CONF.boto.aws_secret + purl = urlparse.urlparse(CONF.boto.s3_url) port = purl.port if port is None: if purl.scheme is not "https": diff --git a/tempest/services/compute/json/aggregates_client.py b/tempest/services/compute/json/aggregates_client.py index d9e73de77a..235d00623a 100644 --- a/tempest/services/compute/json/aggregates_client.py +++ b/tempest/services/compute/json/aggregates_client.py @@ -16,15 +16,18 @@ import json from tempest.common.rest_client import RestClient +from tempest import config from tempest import exceptions +CONF = config.CONF + class AggregatesClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(AggregatesClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(AggregatesClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def list_aggregates(self): """Get aggregate list.""" diff --git a/tempest/services/compute/json/availability_zone_client.py b/tempest/services/compute/json/availability_zone_client.py index 49664c7665..2b7e23c1ce 100644 --- a/tempest/services/compute/json/availability_zone_client.py +++ b/tempest/services/compute/json/availability_zone_client.py @@ -16,15 +16,18 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class AvailabilityZoneClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(AvailabilityZoneClientJSON, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(AvailabilityZoneClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def get_availability_zone_list(self): resp, body = self.get('os-availability-zone') diff --git a/tempest/services/compute/json/certificates_client.py b/tempest/services/compute/json/certificates_client.py index f4d31edb23..06e2ae760b 100644 --- a/tempest/services/compute/json/certificates_client.py +++ b/tempest/services/compute/json/certificates_client.py @@ -16,15 +16,18 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class CertificatesClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(CertificatesClientJSON, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(CertificatesClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def get_certificate(self, id): url = "os-certificates/%s" % (id) diff --git a/tempest/services/compute/json/extensions_client.py b/tempest/services/compute/json/extensions_client.py index ae68261d56..8505d93ccf 100644 --- a/tempest/services/compute/json/extensions_client.py +++ b/tempest/services/compute/json/extensions_client.py @@ -16,14 +16,17 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class ExtensionsClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ExtensionsClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ExtensionsClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def list_extensions(self): url = 'extensions' diff --git a/tempest/services/compute/json/fixed_ips_client.py b/tempest/services/compute/json/fixed_ips_client.py index 31754ca0f3..19bf4e26c2 100644 --- a/tempest/services/compute/json/fixed_ips_client.py +++ b/tempest/services/compute/json/fixed_ips_client.py @@ -16,14 +16,17 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class FixedIPsClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(FixedIPsClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(FixedIPsClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def get_fixed_ip_details(self, fixed_ip): url = "os-fixed-ips/%s" % (fixed_ip) diff --git a/tempest/services/compute/json/flavors_client.py b/tempest/services/compute/json/flavors_client.py index 300a0de6f9..7fcf1b23a5 100644 --- a/tempest/services/compute/json/flavors_client.py +++ b/tempest/services/compute/json/flavors_client.py @@ -17,14 +17,17 @@ import json import urllib from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class FlavorsClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(FlavorsClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(FlavorsClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def list_flavors(self, params=None): url = 'flavors' diff --git a/tempest/services/compute/json/floating_ips_client.py b/tempest/services/compute/json/floating_ips_client.py index 1235dd1155..7c2139d518 100644 --- a/tempest/services/compute/json/floating_ips_client.py +++ b/tempest/services/compute/json/floating_ips_client.py @@ -17,14 +17,17 @@ import json import urllib from tempest.common.rest_client import RestClient +from tempest import config from tempest import exceptions +CONF = config.CONF + class FloatingIPsClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(FloatingIPsClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(FloatingIPsClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def list_floating_ips(self, params=None): """Returns a list of all floating IPs filtered by any parameters.""" diff --git a/tempest/services/compute/json/hosts_client.py b/tempest/services/compute/json/hosts_client.py index 23cb7e958e..33e53453e9 100644 --- a/tempest/services/compute/json/hosts_client.py +++ b/tempest/services/compute/json/hosts_client.py @@ -16,14 +16,17 @@ import json import urllib from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class HostsClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(HostsClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(HostsClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def list_hosts(self, params=None): """Lists all hosts.""" diff --git a/tempest/services/compute/json/hypervisor_client.py b/tempest/services/compute/json/hypervisor_client.py index c8ac9518a1..a4d866018a 100644 --- a/tempest/services/compute/json/hypervisor_client.py +++ b/tempest/services/compute/json/hypervisor_client.py @@ -16,15 +16,18 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class HypervisorClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(HypervisorClientJSON, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(HypervisorClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def get_hypervisor_list(self): """List hypervisors information.""" diff --git a/tempest/services/compute/json/images_client.py b/tempest/services/compute/json/images_client.py index d64d8d74d2..c9adc3fe2e 100644 --- a/tempest/services/compute/json/images_client.py +++ b/tempest/services/compute/json/images_client.py @@ -18,17 +18,20 @@ import urllib from tempest.common.rest_client import RestClient from tempest.common import waiters +from tempest import config from tempest import exceptions +CONF = config.CONF + class ImagesClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ImagesClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ImagesClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type - self.build_interval = self.config.compute.build_interval - self.build_timeout = self.config.compute.build_timeout + self.service = CONF.compute.catalog_type + self.build_interval = CONF.compute.build_interval + self.build_timeout = CONF.compute.build_timeout def create_image(self, server_id, name, meta=None): """Creates an image of the original server.""" diff --git a/tempest/services/compute/json/instance_usage_audit_log_client.py b/tempest/services/compute/json/instance_usage_audit_log_client.py index 97062cb4a1..2673bd7750 100644 --- a/tempest/services/compute/json/instance_usage_audit_log_client.py +++ b/tempest/services/compute/json/instance_usage_audit_log_client.py @@ -16,14 +16,17 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class InstanceUsagesAuditLogClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): + def __init__(self, username, password, auth_url, tenant_name=None): super(InstanceUsagesAuditLogClientJSON, self).__init__( - config, username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + username, password, auth_url, tenant_name) + self.service = CONF.compute.catalog_type def list_instance_usage_audit_logs(self): url = 'os-instance_usage_audit_log' diff --git a/tempest/services/compute/json/interfaces_client.py b/tempest/services/compute/json/interfaces_client.py index 06e6476005..21d3a5acbd 100644 --- a/tempest/services/compute/json/interfaces_client.py +++ b/tempest/services/compute/json/interfaces_client.py @@ -17,15 +17,18 @@ import json import time from tempest.common.rest_client import RestClient +from tempest import config from tempest import exceptions +CONF = config.CONF + class InterfacesClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(InterfacesClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(InterfacesClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def list_interfaces(self, server): resp, body = self.get('servers/%s/os-interface' % server) diff --git a/tempest/services/compute/json/keypairs_client.py b/tempest/services/compute/json/keypairs_client.py index efd92d20d7..dd4e3e180a 100644 --- a/tempest/services/compute/json/keypairs_client.py +++ b/tempest/services/compute/json/keypairs_client.py @@ -16,14 +16,17 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class KeyPairsClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(KeyPairsClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(KeyPairsClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def list_keypairs(self): resp, body = self.get("os-keypairs") diff --git a/tempest/services/compute/json/limits_client.py b/tempest/services/compute/json/limits_client.py index 525c12fb6f..c5cc98807e 100644 --- a/tempest/services/compute/json/limits_client.py +++ b/tempest/services/compute/json/limits_client.py @@ -14,15 +14,19 @@ # under the License. import json + from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class LimitsClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(LimitsClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(LimitsClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def get_absolute_limits(self): resp, body = self.get("limits") diff --git a/tempest/services/compute/json/quotas_client.py b/tempest/services/compute/json/quotas_client.py index b6ec9b829b..df12467387 100644 --- a/tempest/services/compute/json/quotas_client.py +++ b/tempest/services/compute/json/quotas_client.py @@ -16,14 +16,17 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class QuotasClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(QuotasClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(QuotasClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def get_quota_set(self, tenant_id): """List the quota set for a tenant.""" diff --git a/tempest/services/compute/json/security_groups_client.py b/tempest/services/compute/json/security_groups_client.py index 8a446267d8..299a6e6d27 100644 --- a/tempest/services/compute/json/security_groups_client.py +++ b/tempest/services/compute/json/security_groups_client.py @@ -17,16 +17,19 @@ import json import urllib from tempest.common.rest_client import RestClient +from tempest import config from tempest import exceptions +CONF = config.CONF + class SecurityGroupsClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(SecurityGroupsClientJSON, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(SecurityGroupsClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def list_security_groups(self, params=None): """List all security groups for a user.""" diff --git a/tempest/services/compute/json/servers_client.py b/tempest/services/compute/json/servers_client.py index 0b9ca0e7b6..0987f0527c 100644 --- a/tempest/services/compute/json/servers_client.py +++ b/tempest/services/compute/json/servers_client.py @@ -20,17 +20,20 @@ import urllib from tempest.common.rest_client import RestClient from tempest.common import waiters +from tempest import config from tempest import exceptions +CONF = config.CONF + class ServersClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None, + def __init__(self, username, password, auth_url, tenant_name=None, auth_version='v2'): - super(ServersClientJSON, self).__init__(config, username, password, + super(ServersClientJSON, self).__init__(username, password, auth_url, tenant_name, auth_version=auth_version) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def create_server(self, name, image_ref, flavor_ref, **kwargs): """ diff --git a/tempest/services/compute/json/services_client.py b/tempest/services/compute/json/services_client.py index 7829e5a310..c209cf3df8 100644 --- a/tempest/services/compute/json/services_client.py +++ b/tempest/services/compute/json/services_client.py @@ -18,14 +18,17 @@ import json import urllib from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class ServicesClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ServicesClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ServicesClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def list_services(self, params=None): url = 'os-services' diff --git a/tempest/services/compute/json/tenant_usages_client.py b/tempest/services/compute/json/tenant_usages_client.py index a2637675b6..c141fa798f 100644 --- a/tempest/services/compute/json/tenant_usages_client.py +++ b/tempest/services/compute/json/tenant_usages_client.py @@ -17,14 +17,17 @@ import json import urllib from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class TenantUsagesClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): + def __init__(self, username, password, auth_url, tenant_name=None): super(TenantUsagesClientJSON, self).__init__( - config, username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + username, password, auth_url, tenant_name) + self.service = CONF.compute.catalog_type def list_tenant_usages(self, params=None): url = 'os-simple-tenant-usage' diff --git a/tempest/services/compute/json/volumes_extensions_client.py b/tempest/services/compute/json/volumes_extensions_client.py index aa49be5255..d61b8a5478 100644 --- a/tempest/services/compute/json/volumes_extensions_client.py +++ b/tempest/services/compute/json/volumes_extensions_client.py @@ -18,18 +18,21 @@ import time import urllib from tempest.common.rest_client import RestClient +from tempest import config from tempest import exceptions +CONF = config.CONF + class VolumesExtensionsClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(VolumesExtensionsClientJSON, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(VolumesExtensionsClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type - self.build_interval = self.config.volume.build_interval - self.build_timeout = self.config.volume.build_timeout + self.service = CONF.compute.catalog_type + self.build_interval = CONF.volume.build_interval + self.build_timeout = CONF.volume.build_timeout def list_volumes(self, params=None): """List all the volumes created.""" diff --git a/tempest/services/compute/v3/json/aggregates_client.py b/tempest/services/compute/v3/json/aggregates_client.py index d63be02bee..bc037c9759 100644 --- a/tempest/services/compute/v3/json/aggregates_client.py +++ b/tempest/services/compute/v3/json/aggregates_client.py @@ -16,16 +16,19 @@ import json from tempest.common.rest_client import RestClient +from tempest import config from tempest import exceptions +CONF = config.CONF + class AggregatesV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(AggregatesV3ClientJSON, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(AggregatesV3ClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_v3_type + self.service = CONF.compute.catalog_v3_type def list_aggregates(self): """Get aggregate list.""" diff --git a/tempest/services/compute/v3/json/availability_zone_client.py b/tempest/services/compute/v3/json/availability_zone_client.py index 97ff21caaf..a3f4d94022 100644 --- a/tempest/services/compute/v3/json/availability_zone_client.py +++ b/tempest/services/compute/v3/json/availability_zone_client.py @@ -16,15 +16,18 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class AvailabilityZoneV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(AvailabilityZoneV3ClientJSON, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(AvailabilityZoneV3ClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_v3_type + self.service = CONF.compute.catalog_v3_type def get_availability_zone_list(self): resp, body = self.get('os-availability-zone') diff --git a/tempest/services/compute/v3/json/certificates_client.py b/tempest/services/compute/v3/json/certificates_client.py index 7c212900af..1833cb90f9 100644 --- a/tempest/services/compute/v3/json/certificates_client.py +++ b/tempest/services/compute/v3/json/certificates_client.py @@ -16,15 +16,18 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class CertificatesV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(CertificatesV3ClientJSON, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(CertificatesV3ClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_v3_type + self.service = CONF.compute.catalog_v3_type def get_certificate(self, id): url = "os-certificates/%s" % (id) diff --git a/tempest/services/compute/v3/json/extensions_client.py b/tempest/services/compute/v3/json/extensions_client.py index c508d2fbe2..f7600933e2 100644 --- a/tempest/services/compute/v3/json/extensions_client.py +++ b/tempest/services/compute/v3/json/extensions_client.py @@ -16,15 +16,18 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class ExtensionsV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ExtensionsV3ClientJSON, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ExtensionsV3ClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_v3_type + self.service = CONF.compute.catalog_v3_type def list_extensions(self): url = 'extensions' diff --git a/tempest/services/compute/v3/json/flavors_client.py b/tempest/services/compute/v3/json/flavors_client.py index f8c762c629..d434f1ec22 100644 --- a/tempest/services/compute/v3/json/flavors_client.py +++ b/tempest/services/compute/v3/json/flavors_client.py @@ -17,14 +17,17 @@ import json import urllib from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class FlavorsV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(FlavorsV3ClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(FlavorsV3ClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_v3_type + self.service = CONF.compute.catalog_v3_type def list_flavors(self, params=None): url = 'flavors' diff --git a/tempest/services/compute/v3/json/hosts_client.py b/tempest/services/compute/v3/json/hosts_client.py index 669bf59ab4..d15b2372c3 100644 --- a/tempest/services/compute/v3/json/hosts_client.py +++ b/tempest/services/compute/v3/json/hosts_client.py @@ -16,14 +16,17 @@ import json import urllib from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class HostsV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(HostsV3ClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(HostsV3ClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_v3_type + self.service = CONF.compute.catalog_v3_type def list_hosts(self, params=None): """Lists all hosts.""" diff --git a/tempest/services/compute/v3/json/hypervisor_client.py b/tempest/services/compute/v3/json/hypervisor_client.py index d78cc5e975..a4ec606346 100644 --- a/tempest/services/compute/v3/json/hypervisor_client.py +++ b/tempest/services/compute/v3/json/hypervisor_client.py @@ -16,15 +16,18 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class HypervisorV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(HypervisorV3ClientJSON, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(HypervisorV3ClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_v3_type + self.service = CONF.compute.catalog_v3_type def get_hypervisor_list(self): """List hypervisors information.""" diff --git a/tempest/services/compute/v3/json/instance_usage_audit_log_client.py b/tempest/services/compute/v3/json/instance_usage_audit_log_client.py index c5fba48837..b51f4903b2 100644 --- a/tempest/services/compute/v3/json/instance_usage_audit_log_client.py +++ b/tempest/services/compute/v3/json/instance_usage_audit_log_client.py @@ -16,14 +16,17 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class InstanceUsagesAuditLogV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): + def __init__(self, username, password, auth_url, tenant_name=None): super(InstanceUsagesAuditLogV3ClientJSON, self).__init__( - config, username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_v3_type + username, password, auth_url, tenant_name) + self.service = CONF.compute.catalog_v3_type def list_instance_usage_audit_logs(self, time_before=None): if time_before: diff --git a/tempest/services/compute/v3/json/interfaces_client.py b/tempest/services/compute/v3/json/interfaces_client.py index 7fb0fa97ba..8f0760cdb7 100644 --- a/tempest/services/compute/v3/json/interfaces_client.py +++ b/tempest/services/compute/v3/json/interfaces_client.py @@ -17,16 +17,19 @@ import json import time from tempest.common.rest_client import RestClient +from tempest import config from tempest import exceptions +CONF = config.CONF + class InterfacesV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(InterfacesV3ClientJSON, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(InterfacesV3ClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_v3_type + self.service = CONF.compute.catalog_v3_type def list_interfaces(self, server): resp, body = self.get('servers/%s/os-attach-interfaces' % server) diff --git a/tempest/services/compute/v3/json/keypairs_client.py b/tempest/services/compute/v3/json/keypairs_client.py index 26018aeff4..c2efb84f74 100644 --- a/tempest/services/compute/v3/json/keypairs_client.py +++ b/tempest/services/compute/v3/json/keypairs_client.py @@ -16,14 +16,17 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class KeyPairsV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(KeyPairsV3ClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(KeyPairsV3ClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_v3_type + self.service = CONF.compute.catalog_v3_type def list_keypairs(self): resp, body = self.get("keypairs") diff --git a/tempest/services/compute/v3/json/quotas_client.py b/tempest/services/compute/v3/json/quotas_client.py index 0f0fd00834..ea0d3a2cc6 100644 --- a/tempest/services/compute/v3/json/quotas_client.py +++ b/tempest/services/compute/v3/json/quotas_client.py @@ -16,14 +16,17 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class QuotasV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(QuotasV3ClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(QuotasV3ClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_v3_type + self.service = CONF.compute.catalog_v3_type def get_quota_set(self, tenant_id): """List the quota set for a tenant.""" diff --git a/tempest/services/compute/v3/json/servers_client.py b/tempest/services/compute/v3/json/servers_client.py index ef282fa6d5..aa8c95aee4 100644 --- a/tempest/services/compute/v3/json/servers_client.py +++ b/tempest/services/compute/v3/json/servers_client.py @@ -21,17 +21,20 @@ import urllib from tempest.common.rest_client import RestClient from tempest.common import waiters +from tempest import config from tempest import exceptions +CONF = config.CONF + class ServersV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, + def __init__(self, username, password, auth_url, tenant_name=None, auth_version='v2'): - super(ServersV3ClientJSON, self).__init__(config, username, password, + super(ServersV3ClientJSON, self).__init__(username, password, auth_url, tenant_name, auth_version=auth_version) - self.service = self.config.compute.catalog_v3_type + self.service = CONF.compute.catalog_v3_type def create_server(self, name, image_ref, flavor_ref, **kwargs): """ diff --git a/tempest/services/compute/v3/json/services_client.py b/tempest/services/compute/v3/json/services_client.py index e0c1c3c0db..174a4f7d7e 100644 --- a/tempest/services/compute/v3/json/services_client.py +++ b/tempest/services/compute/v3/json/services_client.py @@ -18,14 +18,17 @@ import json import urllib from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class ServicesV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ServicesV3ClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ServicesV3ClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_v3_type + self.service = CONF.compute.catalog_v3_type def list_services(self, params=None): url = 'os-services' diff --git a/tempest/services/compute/v3/json/tenant_usages_client.py b/tempest/services/compute/v3/json/tenant_usages_client.py index ff0251d7f7..fbc41deb2d 100644 --- a/tempest/services/compute/v3/json/tenant_usages_client.py +++ b/tempest/services/compute/v3/json/tenant_usages_client.py @@ -17,14 +17,17 @@ import json import urllib from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class TenantUsagesV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): + def __init__(self, username, password, auth_url, tenant_name=None): super(TenantUsagesV3ClientJSON, self).__init__( - config, username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_v3_type + username, password, auth_url, tenant_name) + self.service = CONF.compute.catalog_v3_type def list_tenant_usages(self, params=None): url = 'os-simple-tenant-usage' diff --git a/tempest/services/compute/v3/json/version_client.py b/tempest/services/compute/v3/json/version_client.py index 1773af58a7..419bbb828f 100644 --- a/tempest/services/compute/v3/json/version_client.py +++ b/tempest/services/compute/v3/json/version_client.py @@ -16,15 +16,18 @@ import json from tempest.common import rest_client +from tempest import config + +CONF = config.CONF class VersionV3ClientJSON(rest_client.RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(VersionV3ClientJSON, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(VersionV3ClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_v3_type + self.service = CONF.compute.catalog_v3_type def get_version(self): resp, body = self.get('') diff --git a/tempest/services/compute/xml/aggregates_client.py b/tempest/services/compute/xml/aggregates_client.py index 164a96329c..ddef18be5b 100644 --- a/tempest/services/compute/xml/aggregates_client.py +++ b/tempest/services/compute/xml/aggregates_client.py @@ -16,19 +16,22 @@ from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest import exceptions from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import Text from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + class AggregatesClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(AggregatesClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(AggregatesClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def _format_aggregate(self, g): agg = xml_to_json(g) diff --git a/tempest/services/compute/xml/availability_zone_client.py b/tempest/services/compute/xml/availability_zone_client.py index 4024d29293..ac1bb4b76f 100644 --- a/tempest/services/compute/xml/availability_zone_client.py +++ b/tempest/services/compute/xml/availability_zone_client.py @@ -16,16 +16,19 @@ from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + class AvailabilityZoneClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(AvailabilityZoneClientXML, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(AvailabilityZoneClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def _parse_array(self, node): return [xml_to_json(x) for x in node] diff --git a/tempest/services/compute/xml/certificates_client.py b/tempest/services/compute/xml/certificates_client.py index 682f8deb7a..3f2438dadd 100644 --- a/tempest/services/compute/xml/certificates_client.py +++ b/tempest/services/compute/xml/certificates_client.py @@ -15,14 +15,17 @@ from tempest.common.rest_client import RestClientXML +from tempest import config + +CONF = config.CONF class CertificatesClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(CertificatesClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(CertificatesClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def get_certificate(self, id): url = "os-certificates/%s" % (id) diff --git a/tempest/services/compute/xml/extensions_client.py b/tempest/services/compute/xml/extensions_client.py index b2ab9da75d..98cd3e3247 100644 --- a/tempest/services/compute/xml/extensions_client.py +++ b/tempest/services/compute/xml/extensions_client.py @@ -14,16 +14,20 @@ # under the License. from lxml import etree + from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + class ExtensionsClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ExtensionsClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ExtensionsClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def _parse_array(self, node): array = [] diff --git a/tempest/services/compute/xml/fixed_ips_client.py b/tempest/services/compute/xml/fixed_ips_client.py index 53482c1fe8..f212e2137e 100644 --- a/tempest/services/compute/xml/fixed_ips_client.py +++ b/tempest/services/compute/xml/fixed_ips_client.py @@ -15,17 +15,20 @@ from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import Text +CONF = config.CONF + class FixedIPsClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(FixedIPsClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(FixedIPsClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def get_fixed_ip_details(self, fixed_ip): url = "os-fixed-ips/%s" % (fixed_ip) diff --git a/tempest/services/compute/xml/flavors_client.py b/tempest/services/compute/xml/flavors_client.py index b7e63e6e9b..74c0e4785f 100644 --- a/tempest/services/compute/xml/flavors_client.py +++ b/tempest/services/compute/xml/flavors_client.py @@ -18,12 +18,14 @@ import urllib from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import Text from tempest.services.compute.xml.common import xml_to_json from tempest.services.compute.xml.common import XMLNS_11 +CONF = config.CONF XMLNS_OS_FLV_EXT_DATA = \ "http://docs.openstack.org/compute/ext/flavor_extra_data/api/v1.1" @@ -33,10 +35,10 @@ XMLNS_OS_FLV_ACCESS = \ class FlavorsClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(FlavorsClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(FlavorsClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def _format_flavor(self, f): flavor = {'links': []} diff --git a/tempest/services/compute/xml/floating_ips_client.py b/tempest/services/compute/xml/floating_ips_client.py index de78b1ed3a..bbfe86b99d 100644 --- a/tempest/services/compute/xml/floating_ips_client.py +++ b/tempest/services/compute/xml/floating_ips_client.py @@ -17,18 +17,21 @@ from lxml import etree import urllib from tempest.common.rest_client import RestClientXML +from tempest import config from tempest import exceptions from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import Text from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + class FloatingIPsClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(FloatingIPsClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(FloatingIPsClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def _parse_array(self, node): array = [] diff --git a/tempest/services/compute/xml/hosts_client.py b/tempest/services/compute/xml/hosts_client.py index e7931a37a5..441be0e39e 100644 --- a/tempest/services/compute/xml/hosts_client.py +++ b/tempest/services/compute/xml/hosts_client.py @@ -16,17 +16,20 @@ import urllib from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + class HostsClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(HostsClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(HostsClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def list_hosts(self, params=None): """Lists all hosts.""" diff --git a/tempest/services/compute/xml/hypervisor_client.py b/tempest/services/compute/xml/hypervisor_client.py index e988a366f8..bee2dfdca0 100644 --- a/tempest/services/compute/xml/hypervisor_client.py +++ b/tempest/services/compute/xml/hypervisor_client.py @@ -16,16 +16,19 @@ from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + class HypervisorClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(HypervisorClientXML, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(HypervisorClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def _parse_array(self, node): return [xml_to_json(x) for x in node] diff --git a/tempest/services/compute/xml/images_client.py b/tempest/services/compute/xml/images_client.py index 6c5a14cd7c..98de7df841 100644 --- a/tempest/services/compute/xml/images_client.py +++ b/tempest/services/compute/xml/images_client.py @@ -19,6 +19,7 @@ from lxml import etree from tempest.common.rest_client import RestClientXML from tempest.common import waiters +from tempest import config from tempest import exceptions from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element @@ -26,15 +27,17 @@ from tempest.services.compute.xml.common import Text from tempest.services.compute.xml.common import xml_to_json from tempest.services.compute.xml.common import XMLNS_11 +CONF = config.CONF + class ImagesClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ImagesClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ImagesClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type - self.build_interval = self.config.compute.build_interval - self.build_timeout = self.config.compute.build_timeout + self.service = CONF.compute.catalog_type + self.build_interval = CONF.compute.build_interval + self.build_timeout = CONF.compute.build_timeout def _parse_server(self, node): data = xml_to_json(node) diff --git a/tempest/services/compute/xml/instance_usage_audit_log_client.py b/tempest/services/compute/xml/instance_usage_audit_log_client.py index 473ecd1f53..2e1d6c87ec 100644 --- a/tempest/services/compute/xml/instance_usage_audit_log_client.py +++ b/tempest/services/compute/xml/instance_usage_audit_log_client.py @@ -16,15 +16,18 @@ from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + class InstanceUsagesAuditLogClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): + def __init__(self, username, password, auth_url, tenant_name=None): super(InstanceUsagesAuditLogClientXML, self).__init__( - config, username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + username, password, auth_url, tenant_name) + self.service = CONF.compute.catalog_type def list_instance_usage_audit_logs(self): url = 'os-instance_usage_audit_log' diff --git a/tempest/services/compute/xml/interfaces_client.py b/tempest/services/compute/xml/interfaces_client.py index a84e0bd03a..c90f507acf 100644 --- a/tempest/services/compute/xml/interfaces_client.py +++ b/tempest/services/compute/xml/interfaces_client.py @@ -18,19 +18,22 @@ import time from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest import exceptions from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import Text from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + class InterfacesClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(InterfacesClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(InterfacesClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def _process_xml_interface(self, node): iface = xml_to_json(node) diff --git a/tempest/services/compute/xml/keypairs_client.py b/tempest/services/compute/xml/keypairs_client.py index 57c4dda84a..da3303ee12 100644 --- a/tempest/services/compute/xml/keypairs_client.py +++ b/tempest/services/compute/xml/keypairs_client.py @@ -15,19 +15,23 @@ from lxml import etree + from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import Text from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + class KeyPairsClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(KeyPairsClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(KeyPairsClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def list_keypairs(self): resp, body = self.get("os-keypairs", self.headers) diff --git a/tempest/services/compute/xml/limits_client.py b/tempest/services/compute/xml/limits_client.py index 785d546357..923369774b 100644 --- a/tempest/services/compute/xml/limits_client.py +++ b/tempest/services/compute/xml/limits_client.py @@ -16,16 +16,19 @@ from lxml import objectify from tempest.common.rest_client import RestClientXML +from tempest import config + +CONF = config.CONF NS = "{http://docs.openstack.org/common/api/v1.0}" class LimitsClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(LimitsClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(LimitsClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def get_absolute_limits(self): resp, body = self.get("limits", self.headers) diff --git a/tempest/services/compute/xml/quotas_client.py b/tempest/services/compute/xml/quotas_client.py index f157dfbfff..74aad1b25d 100644 --- a/tempest/services/compute/xml/quotas_client.py +++ b/tempest/services/compute/xml/quotas_client.py @@ -16,18 +16,21 @@ from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import xml_to_json from tempest.services.compute.xml.common import XMLNS_11 +CONF = config.CONF + class QuotasClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(QuotasClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(QuotasClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def _format_quota(self, q): quota = {} diff --git a/tempest/services/compute/xml/security_groups_client.py b/tempest/services/compute/xml/security_groups_client.py index 498922b371..c32a81eab6 100644 --- a/tempest/services/compute/xml/security_groups_client.py +++ b/tempest/services/compute/xml/security_groups_client.py @@ -17,6 +17,7 @@ from lxml import etree import urllib from tempest.common.rest_client import RestClientXML +from tempest import config from tempest import exceptions from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element @@ -24,14 +25,16 @@ from tempest.services.compute.xml.common import Text from tempest.services.compute.xml.common import xml_to_json from tempest.services.compute.xml.common import XMLNS_11 +CONF = config.CONF + class SecurityGroupsClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): + def __init__(self, username, password, auth_url, tenant_name=None): super(SecurityGroupsClientXML, self).__init__( - config, username, password, + username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def _parse_array(self, node): array = [] diff --git a/tempest/services/compute/xml/servers_client.py b/tempest/services/compute/xml/servers_client.py index 63492b7736..68268a12b1 100644 --- a/tempest/services/compute/xml/servers_client.py +++ b/tempest/services/compute/xml/servers_client.py @@ -21,6 +21,7 @@ from lxml import etree from tempest.common.rest_client import RestClientXML from tempest.common import waiters +from tempest import config from tempest import exceptions from tempest.openstack.common import log as logging from tempest.services.compute.xml.common import Document @@ -29,6 +30,7 @@ from tempest.services.compute.xml.common import Text from tempest.services.compute.xml.common import xml_to_json from tempest.services.compute.xml.common import XMLNS_11 +CONF = config.CONF LOG = logging.getLogger(__name__) @@ -139,12 +141,12 @@ def _translate_server_xml_to_json(xml_dom): class ServersClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None, + def __init__(self, username, password, auth_url, tenant_name=None, auth_version='v2'): - super(ServersClientXML, self).__init__(config, username, password, + super(ServersClientXML, self).__init__(username, password, auth_url, tenant_name, auth_version=auth_version) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def _parse_key_value(self, node): """Parse value data into {'key': 'value'}.""" diff --git a/tempest/services/compute/xml/services_client.py b/tempest/services/compute/xml/services_client.py index 8ef0aa88df..bfc824d23c 100644 --- a/tempest/services/compute/xml/services_client.py +++ b/tempest/services/compute/xml/services_client.py @@ -17,18 +17,22 @@ import urllib from lxml import etree + from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + class ServicesClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ServicesClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ServicesClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def list_services(self, params=None): url = 'os-services' diff --git a/tempest/services/compute/xml/tenant_usages_client.py b/tempest/services/compute/xml/tenant_usages_client.py index dfa4a9fbe4..ae813a62f8 100644 --- a/tempest/services/compute/xml/tenant_usages_client.py +++ b/tempest/services/compute/xml/tenant_usages_client.py @@ -18,16 +18,19 @@ import urllib from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + class TenantUsagesClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(TenantUsagesClientXML, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(TenantUsagesClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type + self.service = CONF.compute.catalog_type def _parse_array(self, node): json = xml_to_json(node) diff --git a/tempest/services/compute/xml/volumes_extensions_client.py b/tempest/services/compute/xml/volumes_extensions_client.py index cb6cefcfed..d6723e1789 100644 --- a/tempest/services/compute/xml/volumes_extensions_client.py +++ b/tempest/services/compute/xml/volumes_extensions_client.py @@ -19,6 +19,7 @@ import urllib from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest import exceptions from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element @@ -26,16 +27,17 @@ from tempest.services.compute.xml.common import Text from tempest.services.compute.xml.common import xml_to_json from tempest.services.compute.xml.common import XMLNS_11 +CONF = config.CONF + class VolumesExtensionsClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(VolumesExtensionsClientXML, self).__init__(config, - username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(VolumesExtensionsClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.compute.catalog_type - self.build_interval = self.config.compute.build_interval - self.build_timeout = self.config.compute.build_timeout + self.service = CONF.compute.catalog_type + self.build_interval = CONF.compute.build_interval + self.build_timeout = CONF.compute.build_timeout def _parse_volume(self, body): vol = dict((attr, body.get(attr)) for attr in body.keys()) diff --git a/tempest/services/data_processing/v1_1/client.py b/tempest/services/data_processing/v1_1/client.py index bd147e8d8c..a1d558acdf 100644 --- a/tempest/services/data_processing/v1_1/client.py +++ b/tempest/services/data_processing/v1_1/client.py @@ -16,13 +16,16 @@ import json from tempest.common import rest_client +from tempest import config + +CONF = config.CONF class DataProcessingClient(rest_client.RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(DataProcessingClient, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(DataProcessingClient, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.data_processing.catalog_type + self.service = CONF.data_processing.catalog_type @classmethod def _request_and_parse(cls, req_fun, uri, res_name, *args, **kwargs): diff --git a/tempest/services/identity/json/identity_client.py b/tempest/services/identity/json/identity_client.py index a0411dc915..1ed7044bff 100644 --- a/tempest/services/identity/json/identity_client.py +++ b/tempest/services/identity/json/identity_client.py @@ -14,15 +14,18 @@ import json from tempest.common import http from tempest.common.rest_client import RestClient +from tempest import config from tempest import exceptions +CONF = config.CONF + class IdentityClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(IdentityClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(IdentityClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.identity.catalog_type + self.service = CONF.identity.catalog_type self.endpoint_url = 'adminURL' def has_admin_extensions(self): @@ -239,8 +242,8 @@ class IdentityClientJSON(RestClient): class TokenClientJSON(RestClient): - def __init__(self, config): - auth_url = config.identity.uri + def __init__(self): + auth_url = CONF.identity.uri # TODO(jaypipes) Why is this all repeated code in here? # Normalize URI to ensure /tokens is in it. @@ -248,7 +251,6 @@ class TokenClientJSON(RestClient): auth_url = auth_url.rstrip('/') + '/tokens' self.auth_url = auth_url - self.config = config def auth(self, user, password, tenant): creds = { @@ -267,7 +269,7 @@ class TokenClientJSON(RestClient): def request(self, method, url, headers=None, body=None): """A simple HTTP request interface.""" - dscv = self.config.identity.disable_ssl_certificate_validation + dscv = CONF.identity.disable_ssl_certificate_validation self.http_obj = http.ClosingHttp( disable_ssl_certificate_validation=dscv) if headers is None: diff --git a/tempest/services/identity/v3/json/credentials_client.py b/tempest/services/identity/v3/json/credentials_client.py index dccb9a0220..1250d79764 100644 --- a/tempest/services/identity/v3/json/credentials_client.py +++ b/tempest/services/identity/v3/json/credentials_client.py @@ -17,14 +17,17 @@ import json from urlparse import urlparse from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class CredentialsClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(CredentialsClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(CredentialsClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.identity.catalog_type + self.service = CONF.identity.catalog_type self.endpoint_url = 'adminURL' def request(self, method, url, headers=None, body=None, wait=None): diff --git a/tempest/services/identity/v3/json/endpoints_client.py b/tempest/services/identity/v3/json/endpoints_client.py index 124f498f4d..bb2230bf65 100644 --- a/tempest/services/identity/v3/json/endpoints_client.py +++ b/tempest/services/identity/v3/json/endpoints_client.py @@ -17,15 +17,17 @@ import json import urlparse from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class EndPointClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(EndPointClientJSON, self).__init__(config, - username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(EndPointClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.identity.catalog_type + self.service = CONF.identity.catalog_type self.endpoint_url = 'adminURL' def request(self, method, url, headers=None, body=None, wait=None): diff --git a/tempest/services/identity/v3/json/identity_client.py b/tempest/services/identity/v3/json/identity_client.py index c89fbccdc7..7dd5c6e5b2 100644 --- a/tempest/services/identity/v3/json/identity_client.py +++ b/tempest/services/identity/v3/json/identity_client.py @@ -17,14 +17,17 @@ import json from urlparse import urlparse from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class IdentityV3ClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(IdentityV3ClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(IdentityV3ClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.identity.catalog_type + self.service = CONF.identity.catalog_type self.endpoint_url = 'adminURL' def request(self, method, url, headers=None, body=None, wait=None): @@ -459,19 +462,18 @@ class IdentityV3ClientJSON(RestClient): class V3TokenClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(V3TokenClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(V3TokenClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.identity.catalog_type + self.service = CONF.identity.catalog_type self.endpoint_url = 'adminURL' - auth_url = config.identity.uri + auth_url = CONF.identity.uri if 'tokens' not in auth_url: auth_url = auth_url.rstrip('/') + '/tokens' self.auth_url = auth_url - self.config = config def auth(self, user_id, password): creds = { diff --git a/tempest/services/identity/v3/json/policy_client.py b/tempest/services/identity/v3/json/policy_client.py index 9ce6d5b545..3d98d99bbd 100644 --- a/tempest/services/identity/v3/json/policy_client.py +++ b/tempest/services/identity/v3/json/policy_client.py @@ -17,14 +17,17 @@ import json from urlparse import urlparse from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class PolicyClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(PolicyClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(PolicyClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.identity.catalog_type + self.service = CONF.identity.catalog_type self.endpoint_url = 'adminURL' def request(self, method, url, headers=None, body=None, wait=None): diff --git a/tempest/services/identity/v3/json/service_client.py b/tempest/services/identity/v3/json/service_client.py index e60e7e332d..57b6e9e9b2 100644 --- a/tempest/services/identity/v3/json/service_client.py +++ b/tempest/services/identity/v3/json/service_client.py @@ -17,14 +17,17 @@ import json from urlparse import urlparse from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class ServiceClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ServiceClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ServiceClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.identity.catalog_type + self.service = CONF.identity.catalog_type self.endpoint_url = 'adminURL' def request(self, method, url, headers=None, body=None, wait=None): diff --git a/tempest/services/identity/v3/xml/credentials_client.py b/tempest/services/identity/v3/xml/credentials_client.py index 4344db1901..c8cdce7f03 100644 --- a/tempest/services/identity/v3/xml/credentials_client.py +++ b/tempest/services/identity/v3/xml/credentials_client.py @@ -19,21 +19,23 @@ from urlparse import urlparse from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import Text from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF XMLNS = "http://docs.openstack.org/identity/api/v3" class CredentialsClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(CredentialsClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(CredentialsClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.identity.catalog_type + self.service = CONF.identity.catalog_type self.endpoint_url = 'adminURL' def request(self, method, url, headers=None, body=None, wait=None): diff --git a/tempest/services/identity/v3/xml/endpoints_client.py b/tempest/services/identity/v3/xml/endpoints_client.py index bd2367444e..e1df3a9b82 100644 --- a/tempest/services/identity/v3/xml/endpoints_client.py +++ b/tempest/services/identity/v3/xml/endpoints_client.py @@ -18,19 +18,22 @@ from lxml import etree from tempest.common import http from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + XMLNS = "http://docs.openstack.org/identity/api/v3" class EndPointClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(EndPointClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(EndPointClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.identity.catalog_type + self.service = CONF.identity.catalog_type self.endpoint_url = 'adminURL' def _parse_array(self, node): @@ -47,7 +50,7 @@ class EndPointClientXML(RestClientXML): def request(self, method, url, headers=None, body=None, wait=None): """Overriding the existing HTTP request in super class RestClient.""" - dscv = self.config.identity.disable_ssl_certificate_validation + dscv = CONF.identity.disable_ssl_certificate_validation self.http_obj = http.ClosingHttp( disable_ssl_certificate_validation=dscv) self._set_auth() diff --git a/tempest/services/identity/v3/xml/identity_client.py b/tempest/services/identity/v3/xml/identity_client.py index 579ddb89c0..de75fe5865 100644 --- a/tempest/services/identity/v3/xml/identity_client.py +++ b/tempest/services/identity/v3/xml/identity_client.py @@ -18,20 +18,23 @@ from urlparse import urlparse from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import Text from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + XMLNS = "http://docs.openstack.org/identity/api/v3" class IdentityV3ClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(IdentityV3ClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(IdentityV3ClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.identity.catalog_type + self.service = CONF.identity.catalog_type self.endpoint_url = 'adminURL' def _parse_projects(self, node): @@ -451,19 +454,18 @@ class IdentityV3ClientXML(RestClientXML): class V3TokenClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(V3TokenClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(V3TokenClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.identity.catalog_type + self.service = CONF.identity.catalog_type self.endpoint_url = 'adminURL' - auth_url = config.identity.uri + auth_url = CONF.identity.uri if 'tokens' not in auth_url: auth_url = auth_url.rstrip('/') + '/tokens' self.auth_url = auth_url - self.config = config def auth(self, user_id, password): user = Element('user', diff --git a/tempest/services/identity/v3/xml/policy_client.py b/tempest/services/identity/v3/xml/policy_client.py index 73177280e6..54b4ad819b 100644 --- a/tempest/services/identity/v3/xml/policy_client.py +++ b/tempest/services/identity/v3/xml/policy_client.py @@ -19,19 +19,22 @@ from lxml import etree from tempest.common import http from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + XMLNS = "http://docs.openstack.org/identity/api/v3" class PolicyClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(PolicyClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(PolicyClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.identity.catalog_type + self.service = CONF.identity.catalog_type self.endpoint_url = 'adminURL' def _parse_array(self, node): @@ -48,7 +51,7 @@ class PolicyClientXML(RestClientXML): def request(self, method, url, headers=None, body=None, wait=None): """Overriding the existing HTTP request in super class RestClient.""" - dscv = self.config.identity.disable_ssl_certificate_validation + dscv = CONF.identity.disable_ssl_certificate_validation self.http_obj = http.ClosingHttp( disable_ssl_certificate_validation=dscv) self._set_auth() diff --git a/tempest/services/identity/v3/xml/service_client.py b/tempest/services/identity/v3/xml/service_client.py index a142b06840..2997775915 100644 --- a/tempest/services/identity/v3/xml/service_client.py +++ b/tempest/services/identity/v3/xml/service_client.py @@ -18,20 +18,22 @@ from urlparse import urlparse from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF XMLNS = "http://docs.openstack.org/identity/api/v3" class ServiceClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ServiceClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ServiceClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.identity.catalog_type + self.service = CONF.identity.catalog_type self.endpoint_url = 'adminURL' def _parse_array(self, node): diff --git a/tempest/services/identity/xml/identity_client.py b/tempest/services/identity/xml/identity_client.py index 6e819d83f1..e6a7188a96 100644 --- a/tempest/services/identity/xml/identity_client.py +++ b/tempest/services/identity/xml/identity_client.py @@ -19,21 +19,23 @@ from lxml import etree from tempest.common import http from tempest.common.rest_client import RestClientXML +from tempest import config from tempest import exceptions from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF XMLNS = "http://docs.openstack.org/identity/api/v2.0" class IdentityClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(IdentityClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(IdentityClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.identity.catalog_type + self.service = CONF.identity.catalog_type self.endpoint_url = 'adminURL' def _parse_array(self, node): @@ -263,8 +265,8 @@ class IdentityClientXML(RestClientXML): class TokenClientXML(RestClientXML): - def __init__(self, config): - auth_url = config.identity.uri + def __init__(self): + auth_url = CONF.identity.uri # TODO(jaypipes) Why is this all repeated code in here? # Normalize URI to ensure /tokens is in it. @@ -272,7 +274,6 @@ class TokenClientXML(RestClientXML): auth_url = auth_url.rstrip('/') + '/tokens' self.auth_url = auth_url - self.config = config def auth(self, user, password, tenant): passwordCreds = Element("passwordCredentials", @@ -287,7 +288,7 @@ class TokenClientXML(RestClientXML): def request(self, method, url, headers=None, body=None): """A simple HTTP request interface.""" - dscv = self.config.identity.disable_ssl_certificate_validation + dscv = CONF.identity.disable_ssl_certificate_validation self.http_obj = http.ClosingHttp( disable_ssl_certificate_validation=dscv) if headers is None: diff --git a/tempest/services/image/v1/json/image_client.py b/tempest/services/image/v1/json/image_client.py index aa6abd02d1..a5b93a024a 100644 --- a/tempest/services/image/v1/json/image_client.py +++ b/tempest/services/image/v1/json/image_client.py @@ -22,19 +22,22 @@ import urllib from tempest.common import glance_http from tempest.common.rest_client import RestClient +from tempest import config from tempest import exceptions from tempest.openstack.common import log as logging +CONF = config.CONF + LOG = logging.getLogger(__name__) class ImageClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ImageClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ImageClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.images.catalog_type - if config.service_available.glance: + self.service = CONF.images.catalog_type + if CONF.service_available.glance: self.http = self._get_http() def _image_meta_from_headers(self, headers): @@ -108,7 +111,7 @@ class ImageClientJSON(RestClient): self.auth_url, self.service, self.tenant_name) - dscv = self.config.identity.disable_ssl_certificate_validation + dscv = CONF.identity.disable_ssl_certificate_validation return glance_http.HTTPClient(endpoint=endpoint, token=token, insecure=dscv) diff --git a/tempest/services/image/v2/json/image_client.py b/tempest/services/image/v2/json/image_client.py index 3a7969554c..0c4fb5c30e 100644 --- a/tempest/services/image/v2/json/image_client.py +++ b/tempest/services/image/v2/json/image_client.py @@ -20,23 +20,26 @@ import jsonschema from tempest.common import glance_http from tempest.common import rest_client +from tempest import config from tempest import exceptions +CONF = config.CONF + class ImageClientV2JSON(rest_client.RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ImageClientV2JSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ImageClientV2JSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.images.catalog_type - if config.service_available.glance: + self.service = CONF.images.catalog_type + if CONF.service_available.glance: self.http = self._get_http() def _get_http(self): token, endpoint = self.keystone_auth(self.user, self.password, self.auth_url, self.service, self.tenant_name) - dscv = self.config.identity.disable_ssl_certificate_validation + dscv = CONF.identity.disable_ssl_certificate_validation return glance_http.HTTPClient(endpoint=endpoint, token=token, insecure=dscv) diff --git a/tempest/services/network/json/network_client.py b/tempest/services/network/json/network_client.py index 47c20d2167..9908816f07 100644 --- a/tempest/services/network/json/network_client.py +++ b/tempest/services/network/json/network_client.py @@ -31,9 +31,9 @@ class NetworkClientJSON(network_client_base.NetworkClientBase): quotas """ - def get_rest_client(self, config, username, + def get_rest_client(self, username, password, auth_url, tenant_name=None): - return RestClient(config, username, password, auth_url, tenant_name) + return RestClient(username, password, auth_url, tenant_name) def deserialize_single(self, body): return json.loads(body) diff --git a/tempest/services/network/network_client_base.py b/tempest/services/network/network_client_base.py index f4a012f69f..467256edfc 100644 --- a/tempest/services/network/network_client_base.py +++ b/tempest/services/network/network_client_base.py @@ -12,6 +12,10 @@ import urllib +from tempest import config + +CONF = config.CONF + # the following map is used to construct proper URI # for the given neutron resource service_resource_prefix_map = { @@ -42,15 +46,15 @@ resource_plural_map = { class NetworkClientBase(object): - def __init__(self, config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): self.rest_client = self.get_rest_client( - config, username, password, auth_url, tenant_name) - self.rest_client.service = self.rest_client.config.network.catalog_type + username, password, auth_url, tenant_name) + self.rest_client.service = CONF.network.catalog_type self.version = '2.0' self.uri_prefix = "v%s" % (self.version) - def get_rest_client(self, config, username, password, + def get_rest_client(self, username, password, auth_url, tenant_name): raise NotImplementedError diff --git a/tempest/services/network/xml/network_client.py b/tempest/services/network/xml/network_client.py index b8e39ad88e..4eb38beeb5 100644 --- a/tempest/services/network/xml/network_client.py +++ b/tempest/services/network/xml/network_client.py @@ -28,9 +28,9 @@ class NetworkClientXML(client_base.NetworkClientBase): PLURALS = ['dns_nameservers', 'host_routes', 'allocation_pools', 'fixed_ips', 'extensions'] - def get_rest_client(self, config, username, password, + def get_rest_client(self, username, password, auth_url, tenant_name=None): - return RestClientXML(config, username, password, + return RestClientXML(username, password, auth_url, tenant_name) def _parse_array(self, node): diff --git a/tempest/services/object_storage/account_client.py b/tempest/services/object_storage/account_client.py index a6f47b79b9..4c5b832061 100644 --- a/tempest/services/object_storage/account_client.py +++ b/tempest/services/object_storage/account_client.py @@ -18,14 +18,17 @@ import urllib from tempest.common import http from tempest.common.rest_client import RestClient +from tempest import config from tempest import exceptions +CONF = config.CONF + class AccountClient(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(AccountClient, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(AccountClient, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.object_storage.catalog_type + self.service = CONF.object_storage.catalog_type self.format = 'json' def list_account_metadata(self): @@ -102,12 +105,12 @@ class AccountClient(RestClient): class AccountClientCustomizedHeader(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(AccountClientCustomizedHeader, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(AccountClientCustomizedHeader, self).__init__(username, password, auth_url, tenant_name) # Overwrites json-specific header encoding in RestClient - self.service = self.config.object_storage.catalog_type + self.service = CONF.object_storage.catalog_type self.format = 'json' def request(self, method, url, headers=None, body=None): diff --git a/tempest/services/object_storage/container_client.py b/tempest/services/object_storage/container_client.py index cbd07bfcee..4308589539 100644 --- a/tempest/services/object_storage/container_client.py +++ b/tempest/services/object_storage/container_client.py @@ -17,16 +17,19 @@ import json import urllib from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class ContainerClient(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ContainerClient, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ContainerClient, self).__init__(username, password, auth_url, tenant_name) # Overwrites json-specific header encoding in RestClient self.headers = {} - self.service = self.config.object_storage.catalog_type + self.service = CONF.object_storage.catalog_type self.format = 'json' def create_container(self, container_name, metadata=None, diff --git a/tempest/services/object_storage/object_client.py b/tempest/services/object_storage/object_client.py index 1304a03b60..2a68a4f616 100644 --- a/tempest/services/object_storage/object_client.py +++ b/tempest/services/object_storage/object_client.py @@ -17,15 +17,18 @@ import urllib from tempest.common import http from tempest.common.rest_client import RestClient +from tempest import config from tempest import exceptions +CONF = config.CONF + class ObjectClient(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ObjectClient, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ObjectClient, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.object_storage.catalog_type + self.service = CONF.object_storage.catalog_type def create_object(self, container, object_name, data, params=None): """Create storage object.""" @@ -135,17 +138,17 @@ class ObjectClient(RestClient): class ObjectClientCustomizedHeader(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ObjectClientCustomizedHeader, self).__init__(config, username, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ObjectClientCustomizedHeader, self).__init__(username, password, auth_url, tenant_name) # Overwrites json-specific header encoding in RestClient - self.service = self.config.object_storage.catalog_type + self.service = CONF.object_storage.catalog_type self.format = 'json' def request(self, method, url, headers=None, body=None): """A simple HTTP request interface.""" - dscv = self.config.identity.disable_ssl_certificate_validation + dscv = CONF.identity.disable_ssl_certificate_validation self.http_obj = http.ClosingHttp( disable_ssl_certificate_validation=dscv) if headers is None: diff --git a/tempest/services/orchestration/json/orchestration_client.py b/tempest/services/orchestration/json/orchestration_client.py index 20f1b06e5e..273c2ae4d8 100644 --- a/tempest/services/orchestration/json/orchestration_client.py +++ b/tempest/services/orchestration/json/orchestration_client.py @@ -19,17 +19,20 @@ import time import urllib from tempest.common import rest_client +from tempest import config from tempest import exceptions +CONF = config.CONF + class OrchestrationClient(rest_client.RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(OrchestrationClient, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(OrchestrationClient, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.orchestration.catalog_type - self.build_interval = self.config.orchestration.build_interval - self.build_timeout = self.config.orchestration.build_timeout + self.service = CONF.orchestration.catalog_type + self.build_interval = CONF.orchestration.build_interval + self.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 d8662e9575..a1112da735 100644 --- a/tempest/services/telemetry/json/telemetry_client.py +++ b/tempest/services/telemetry/json/telemetry_client.py @@ -20,9 +20,9 @@ import tempest.services.telemetry.telemetry_client_base as client class TelemetryClientJSON(client.TelemetryClientBase): - def get_rest_client(self, config, username, + def get_rest_client(self, username, password, auth_url, tenant_name=None): - return RestClient(config, username, password, auth_url, tenant_name) + return RestClient(username, password, auth_url, tenant_name) def deserialize(self, body): return json.loads(body.replace("\n", "")) diff --git a/tempest/services/telemetry/telemetry_client_base.py b/tempest/services/telemetry/telemetry_client_base.py index 883bf333b4..24039c61cf 100644 --- a/tempest/services/telemetry/telemetry_client_base.py +++ b/tempest/services/telemetry/telemetry_client_base.py @@ -17,6 +17,10 @@ import abc import six import urllib +from tempest import config + +CONF = config.CONF + @six.add_metaclass(abc.ABCMeta) class TelemetryClientBase(object): @@ -31,17 +35,16 @@ class TelemetryClientBase(object): statistics """ - def __init__(self, config, username, password, auth_url, tenant_name=None): - self.rest_client = self.get_rest_client(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + self.rest_client = self.get_rest_client(username, password, auth_url, tenant_name) - self.rest_client.service = \ - self.rest_client.config.telemetry.catalog_type + self.rest_client.service = CONF.telemetry.catalog_type self.headers = self.rest_client.headers self.version = '2' self.uri_prefix = "v%s" % self.version @abc.abstractmethod - def get_rest_client(self, config, username, password, + def get_rest_client(self, username, password, auth_url, tenant_name): """ :param config: diff --git a/tempest/services/telemetry/xml/telemetry_client.py b/tempest/services/telemetry/xml/telemetry_client.py index ac5fa32273..862d08f31a 100644 --- a/tempest/services/telemetry/xml/telemetry_client.py +++ b/tempest/services/telemetry/xml/telemetry_client.py @@ -23,9 +23,9 @@ import tempest.services.telemetry.telemetry_client_base as client class TelemetryClientXML(client.TelemetryClientBase): - def get_rest_client(self, config, username, + def get_rest_client(self, username, password, auth_url, tenant_name=None): - return RestClientXML(config, username, password, auth_url, tenant_name) + return RestClientXML(username, password, auth_url, tenant_name) def _parse_array(self, body): array = [] diff --git a/tempest/services/volume/json/admin/volume_hosts_client.py b/tempest/services/volume/json/admin/volume_hosts_client.py index c9a522a858..e4178b91ee 100644 --- a/tempest/services/volume/json/admin/volume_hosts_client.py +++ b/tempest/services/volume/json/admin/volume_hosts_client.py @@ -17,6 +17,9 @@ import json import urllib from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class VolumeHostsClientJSON(RestClient): @@ -24,13 +27,13 @@ class VolumeHostsClientJSON(RestClient): Client class to send CRUD Volume Hosts API requests to a Cinder endpoint """ - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(VolumeHostsClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(VolumeHostsClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.volume.catalog_type - self.build_interval = self.config.volume.build_interval - self.build_timeout = self.config.volume.build_timeout + self.service = CONF.volume.catalog_type + self.build_interval = CONF.volume.build_interval + self.build_timeout = CONF.volume.build_timeout def list_hosts(self, params=None): """Lists all hosts.""" diff --git a/tempest/services/volume/json/admin/volume_types_client.py b/tempest/services/volume/json/admin/volume_types_client.py index 4ab9b701d5..5b6328be6a 100644 --- a/tempest/services/volume/json/admin/volume_types_client.py +++ b/tempest/services/volume/json/admin/volume_types_client.py @@ -17,6 +17,9 @@ import json import urllib from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class VolumeTypesClientJSON(RestClient): @@ -24,13 +27,13 @@ class VolumeTypesClientJSON(RestClient): Client class to send CRUD Volume Types API requests to a Cinder endpoint """ - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(VolumeTypesClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(VolumeTypesClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.volume.catalog_type - self.build_interval = self.config.volume.build_interval - self.build_timeout = self.config.volume.build_timeout + self.service = CONF.volume.catalog_type + self.build_interval = CONF.volume.build_interval + self.build_timeout = CONF.volume.build_timeout def list_volume_types(self, params=None): """List all the volume_types created.""" diff --git a/tempest/services/volume/json/extensions_client.py b/tempest/services/volume/json/extensions_client.py index bdd5f1e76c..c3bbb20936 100644 --- a/tempest/services/volume/json/extensions_client.py +++ b/tempest/services/volume/json/extensions_client.py @@ -16,14 +16,17 @@ import json from tempest.common.rest_client import RestClient +from tempest import config + +CONF = config.CONF class ExtensionsClientJSON(RestClient): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ExtensionsClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ExtensionsClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.volume.catalog_type + self.service = CONF.volume.catalog_type def list_extensions(self): url = 'extensions' diff --git a/tempest/services/volume/json/snapshots_client.py b/tempest/services/volume/json/snapshots_client.py index 1a34898f95..a36083b77a 100644 --- a/tempest/services/volume/json/snapshots_client.py +++ b/tempest/services/volume/json/snapshots_client.py @@ -15,22 +15,25 @@ import time import urllib from tempest.common.rest_client import RestClient +from tempest import config from tempest import exceptions from tempest.openstack.common import log as logging +CONF = config.CONF + LOG = logging.getLogger(__name__) class SnapshotsClientJSON(RestClient): """Client class to send CRUD Volume API requests.""" - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(SnapshotsClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(SnapshotsClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.volume.catalog_type - self.build_interval = self.config.volume.build_interval - self.build_timeout = self.config.volume.build_timeout + self.service = CONF.volume.catalog_type + self.build_interval = CONF.volume.build_interval + self.build_timeout = CONF.volume.build_timeout def list_snapshots(self, params=None): """List all the snapshot.""" diff --git a/tempest/services/volume/json/volumes_client.py b/tempest/services/volume/json/volumes_client.py index c99501bc4a..6c09e02cb7 100644 --- a/tempest/services/volume/json/volumes_client.py +++ b/tempest/services/volume/json/volumes_client.py @@ -18,21 +18,24 @@ import time import urllib from tempest.common.rest_client import RestClient +from tempest import config from tempest import exceptions +CONF = config.CONF + class VolumesClientJSON(RestClient): """ Client class to send CRUD Volume API requests to a Cinder endpoint """ - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(VolumesClientJSON, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(VolumesClientJSON, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.volume.catalog_type - self.build_interval = self.config.volume.build_interval - self.build_timeout = self.config.volume.build_timeout + self.service = CONF.volume.catalog_type + self.build_interval = CONF.volume.build_interval + self.build_timeout = CONF.volume.build_timeout def get_attachment_from_volume(self, volume): """Return the element 'attachment' from input volumes.""" diff --git a/tempest/services/volume/xml/admin/volume_hosts_client.py b/tempest/services/volume/xml/admin/volume_hosts_client.py index 31e529f824..39b82e59b3 100644 --- a/tempest/services/volume/xml/admin/volume_hosts_client.py +++ b/tempest/services/volume/xml/admin/volume_hosts_client.py @@ -18,20 +18,23 @@ import urllib from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + class VolumeHostsClientXML(RestClientXML): """ Client class to send CRUD Volume Hosts API requests to a Cinder endpoint """ - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(VolumeHostsClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(VolumeHostsClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.volume.catalog_type - self.build_interval = self.config.compute.build_interval - self.build_timeout = self.config.compute.build_timeout + self.service = CONF.volume.catalog_type + self.build_interval = CONF.compute.build_interval + self.build_timeout = CONF.compute.build_timeout def _parse_array(self, node): """ diff --git a/tempest/services/volume/xml/admin/volume_types_client.py b/tempest/services/volume/xml/admin/volume_types_client.py index 12e70d443b..942c4e1fe9 100644 --- a/tempest/services/volume/xml/admin/volume_types_client.py +++ b/tempest/services/volume/xml/admin/volume_types_client.py @@ -18,6 +18,7 @@ import urllib from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest import exceptions from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element @@ -25,18 +26,20 @@ from tempest.services.compute.xml.common import Text from tempest.services.compute.xml.common import xml_to_json from tempest.services.compute.xml.common import XMLNS_11 +CONF = config.CONF + class VolumeTypesClientXML(RestClientXML): """ Client class to send CRUD Volume Types API requests to a Cinder endpoint """ - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(VolumeTypesClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(VolumeTypesClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.volume.catalog_type - self.build_interval = self.config.compute.build_interval - self.build_timeout = self.config.compute.build_timeout + self.service = CONF.volume.catalog_type + self.build_interval = CONF.compute.build_interval + self.build_timeout = CONF.compute.build_timeout def _parse_volume_type(self, body): vol_type = dict((attr, body.get(attr)) for attr in body.keys()) diff --git a/tempest/services/volume/xml/extensions_client.py b/tempest/services/volume/xml/extensions_client.py index 30997bb8c4..a04616d4c4 100644 --- a/tempest/services/volume/xml/extensions_client.py +++ b/tempest/services/volume/xml/extensions_client.py @@ -14,16 +14,20 @@ # under the License. from lxml import etree + from tempest.common.rest_client import RestClientXML +from tempest import config from tempest.services.compute.xml.common import xml_to_json +CONF = config.CONF + class ExtensionsClientXML(RestClientXML): - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(ExtensionsClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(ExtensionsClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.volume.catalog_type + self.service = CONF.volume.catalog_type def _parse_array(self, node): array = [] diff --git a/tempest/services/volume/xml/snapshots_client.py b/tempest/services/volume/xml/snapshots_client.py index ea2ea271ff..3e85041e2c 100644 --- a/tempest/services/volume/xml/snapshots_client.py +++ b/tempest/services/volume/xml/snapshots_client.py @@ -16,6 +16,7 @@ import urllib from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest import exceptions from tempest.openstack.common import log as logging from tempest.services.compute.xml.common import Document @@ -24,19 +25,21 @@ from tempest.services.compute.xml.common import Text from tempest.services.compute.xml.common import xml_to_json from tempest.services.compute.xml.common import XMLNS_11 +CONF = config.CONF + LOG = logging.getLogger(__name__) class SnapshotsClientXML(RestClientXML): """Client class to send CRUD Volume API requests.""" - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(SnapshotsClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(SnapshotsClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.volume.catalog_type - self.build_interval = self.config.volume.build_interval - self.build_timeout = self.config.volume.build_timeout + self.service = CONF.volume.catalog_type + self.build_interval = CONF.volume.build_interval + self.build_timeout = CONF.volume.build_timeout def list_snapshots(self, params=None): """List all snapshot.""" diff --git a/tempest/services/volume/xml/volumes_client.py b/tempest/services/volume/xml/volumes_client.py index 37370b1fb7..7adaf4b7de 100644 --- a/tempest/services/volume/xml/volumes_client.py +++ b/tempest/services/volume/xml/volumes_client.py @@ -19,6 +19,7 @@ import urllib from lxml import etree from tempest.common.rest_client import RestClientXML +from tempest import config from tempest import exceptions from tempest.services.compute.xml.common import Document from tempest.services.compute.xml.common import Element @@ -26,18 +27,20 @@ from tempest.services.compute.xml.common import Text from tempest.services.compute.xml.common import xml_to_json from tempest.services.compute.xml.common import XMLNS_11 +CONF = config.CONF + class VolumesClientXML(RestClientXML): """ Client class to send CRUD Volume API requests to a Cinder endpoint """ - def __init__(self, config, username, password, auth_url, tenant_name=None): - super(VolumesClientXML, self).__init__(config, username, password, + def __init__(self, username, password, auth_url, tenant_name=None): + super(VolumesClientXML, self).__init__(username, password, auth_url, tenant_name) - self.service = self.config.volume.catalog_type - self.build_interval = self.config.compute.build_interval - self.build_timeout = self.config.compute.build_timeout + self.service = CONF.volume.catalog_type + self.build_interval = CONF.compute.build_interval + self.build_timeout = CONF.compute.build_timeout def _parse_volume(self, body): vol = dict((attr, body.get(attr)) for attr in body.keys()) diff --git a/tempest/tests/test_rest_client.py b/tempest/tests/test_rest_client.py index acb9000409..f3c744007d 100644 --- a/tempest/tests/test_rest_client.py +++ b/tempest/tests/test_rest_client.py @@ -15,6 +15,7 @@ import httplib2 from tempest.common import rest_client +from tempest import config from tempest import exceptions from tempest.openstack.common.fixture import mockpatch from tempest.tests import base @@ -29,8 +30,8 @@ class BaseRestClientTestClass(base.TestCase): def setUp(self): super(BaseRestClientTestClass, self).setUp() - self.rest_client = rest_client.RestClient(fake_config.FakeConfig(), - 'fake_user', 'fake_pass', + self.stubs.Set(config, 'TempestConfigPrivate', fake_config.FakeConfig) + self.rest_client = rest_client.RestClient('fake_user', 'fake_pass', 'http://fake_url/v2.0') self.stubs.Set(httplib2.Http, 'request', self.fake_http.request) self.useFixture(mockpatch.PatchObject(self.rest_client, '_set_auth',