예제 #1
0
def make_client(instance):
    """Returns an quantum client.
    """
    quantum_client = utils.get_client_class(
        API_NAME,
        instance._api_version[API_NAME],
        API_VERSIONS,
    )
    instance.initialize()
    url = instance._url
    url = url.rstrip("/")
    if '2.0' == instance._api_version[API_NAME]:
        client = quantum_client(username=instance._username,
                                tenant_name=instance._tenant_name,
                                password=instance._password,
                                region_name=instance._region_name,
                                auth_url=instance._auth_url,
                                endpoint_url=url,
                                token=instance._token,
                                auth_strategy=instance._auth_strategy,
                                insecure=instance._insecure)
        return client
    else:
        raise exceptions.UnsupportedVersion("API version %s is not supported" %
                                            instance._api_version[API_NAME])
예제 #2
0
def Client(api_version, *args, **kwargs):
    """Return an quantum client.
    @param api_version: only 2.0 is supported now
    """
    quantum_client = utils.get_client_class(
        API_NAME,
        api_version,
        API_VERSIONS,
    )
    return quantum_client(*args, **kwargs)
예제 #3
0
def Client(api_version, *args, **kwargs):
    """Return an quantum client.
    @param api_version: only 2.0 is supported now
    """
    quantum_client = utils.get_client_class(
        API_NAME,
        api_version,
        API_VERSIONS,
    )
    return quantum_client(*args, **kwargs)
예제 #4
0
def make_client(instance):
    """Returns an identity service client.
    """
    quantum_client = utils.get_client_class(
        API_NAME,
        instance._api_version[API_NAME],
        API_VERSIONS,
    )
    instance.initialize()
    url = instance._url
    url = url.rstrip("/")
    client_full_name = (quantum_client.__module__ + "." +
                        quantum_client.__name__)
    LOG.debug("we are using client: %s", client_full_name)
    v1x = (client_full_name == API_VERSIONS['1.1'] or
           client_full_name == API_VERSIONS['1.0'])
    if v1x:
        magic_tuple = urlparse.urlsplit(url)
        scheme, netloc, path, query, frag = magic_tuple
        host = magic_tuple.hostname
        port = magic_tuple.port
        use_ssl = scheme.lower().startswith('https')
        client = quantum_client(host=host, port=port, use_ssl=use_ssl)
        client.auth_token = instance._token
        client.logger = LOG
        return client
    else:
        client = quantum_client(username=instance._username,
                                tenant_name=instance._tenant_name,
                                password=instance._password,
                                region_name=instance._region_name,
                                auth_url=instance._auth_url,
                                endpoint_url=url,
                                token=instance._token,
                                auth_strategy=instance._auth_strategy)
        return client
예제 #5
0
def make_client(instance):
    """Returns an quantum client.
    """
    quantum_client = utils.get_client_class(
        API_NAME,
        instance._api_version[API_NAME],
        API_VERSIONS,
    )
    instance.initialize()
    url = instance._url
    url = url.rstrip("/")
    if '2.0' == instance._api_version[API_NAME]:
        client = quantum_client(username=instance._username,
                                tenant_name=instance._tenant_name,
                                password=instance._password,
                                region_name=instance._region_name,
                                auth_url=instance._auth_url,
                                endpoint_url=url,
                                token=instance._token,
                                auth_strategy=instance._auth_strategy)
        return client
    else:
        raise exceptions.UnsupportedVersion("API version %s is not supported" %
                                            instance._api_version[API_NAME])