コード例 #1
0
ファイル: single_tenant_remote.py プロジェクト: no2a/trove
def nova_client_trove_admin(context, region_name=None, password=None):
    """
    Returns a nova client object with the trove admin credentials

    All parameters are ignored since all the required informations are
    taken from CONF. The parameters are there just to be able to replace
    trove.common.nova_client.

    :param context
    :param region_name
    :param password
    :return novaclient: novaclient with trove admin credentials
    :rtype: novaclient.Client
    """

    client = NovaClient(CONF.nova_client_version,
                        username=CONF.nova_proxy_admin_user,
                        password=CONF.nova_proxy_admin_pass,
                        project_name=CONF.nova_proxy_admin_tenant_name,
                        auth_url=CONF.trove_auth_url,
                        service_type=CONF.nova_compute_service_type,
                        region_name=CONF.os_region_name,
                        insecure=CONF.nova_api_insecure)

    if CONF.nova_compute_url and CONF.nova_proxy_admin_tenant_id:
        client.client.endpoint_override = "%s/%s/" % (
            normalize_url(compute_url),
            CONF.nova_proxy_admin_tenant_id)

    return client
コード例 #2
0
ファイル: single_tenant_remote.py プロジェクト: no2a/trove
def cinder_client_trove_admin(context, region_name=None):
    """
    Returns a cinder client object with the trove admin credentials

    All parameters are ignored since all the required informations are
    taken from CONF. The parameters are there just to be able to replace
    trove.common.cinder_client.

    :param context
    :param region_name
    :return cinderclient: cinderclient with trove admin credentials
    """
    client = CinderClient.Client(CONF.nova_proxy_admin_user,
                                 CONF.nova_proxy_admin_pass,
                                 project_id=CONF.nova_proxy_admin_tenant_name,
                                 auth_url=CONF.trove_auth_url,
                                 service_type=CONF.cinder_service_type,
                                 region_name=CONF.os_region_name,
                                 insecure=CONF.cinder_api_insecure)

    if CONF.cinder_url and CONF.nova_proxy_admin_tenant_id:
        client.client.management_url = "%s/%s/" % (
            normalize_url(CONF.cinder_url), CONF.nova_proxy_admin_tenant_id)

    return client
コード例 #3
0
ファイル: glance_remote.py プロジェクト: xgoeforever/trove
def glance_client(context, region_name=None):

    # We should allow glance to get the endpoint from the service
    # catalog, but to do so we would need to be able to specify
    # the endpoint_filter on the API calls, but glance
    # doesn't currently allow that.  As a result, we must
    # specify the endpoint explicitly.
    if CONF.glance_url:
        endpoint_url = '%(url)s%(tenant)s' % {
            'url': normalize_url(CONF.glance_url),
            'tenant': context.tenant
        }
    else:
        endpoint_url = get_endpoint(context.service_catalog,
                                    service_type=CONF.glance_service_type,
                                    endpoint_region=region_name
                                    or CONF.os_region_name,
                                    endpoint_type=CONF.glance_endpoint_type)

    auth = v3.Token(CONF.trove_auth_url, context.auth_token)
    session = ka_session.Session(auth=auth)

    return Client(CONF.glance_client_version,
                  endpoint=endpoint_url,
                  session=session)
コード例 #4
0
def trove_client(context, region_name=None):
    if CONF.trove_url:
        url = '%(url)s%(tenant)s' % {
            'url': normalize_url(CONF.trove_url),
            'tenant': context.tenant}
    else:
        url = get_endpoint(context.service_catalog,
                           service_type=CONF.trove_service_type,
                           endpoint_region=region_name or CONF.os_region_name,
                           endpoint_type=CONF.trove_endpoint_type)

    client = TroveClient.Client(context.user, context.auth_token,
                                project_id=context.tenant,
                                auth_url=PROXY_AUTH_URL)
    client.client.auth_token = context.auth_token
    client.client.management_url = url
    return client
コード例 #5
0
def cinder_client_trove_admin(context=None):
    """
    Returns a cinder client object with the trove admin credentials
    :param context: original context from user request
    :type context: trove.common.context.TroveContext
    :return cinderclient: cinderclient with trove admin credentials
    """
    client = CinderClient.Client(CONF.nova_proxy_admin_user,
                                 CONF.nova_proxy_admin_pass,
                                 project_id=CONF.nova_proxy_admin_tenant_name,
                                 auth_url=PROXY_AUTH_URL,
                                 service_type=CONF.cinder_service_type,
                                 region_name=CONF.os_region_name)

    if CONF.cinder_url and CONF.nova_proxy_admin_tenant_id:
        client.client.management_url = "%s/%s/" % (normalize_url(
            CONF.cinder_url), CONF.nova_proxy_admin_tenant_id)

    return client
コード例 #6
0
def trove_client(context, region_name=None):
    if CONF.trove_url:
        url = '%(url)s%(tenant)s' % {
            'url': normalize_url(CONF.trove_url),
            'tenant': context.tenant
        }
    else:
        url = get_endpoint(context.service_catalog,
                           service_type=CONF.trove_service_type,
                           endpoint_region=region_name or CONF.os_region_name,
                           endpoint_type=CONF.trove_endpoint_type)

    client = TroveClient.Client(context.user,
                                context.auth_token,
                                project_id=context.tenant,
                                auth_url=PROXY_AUTH_URL)
    client.client.auth_token = context.auth_token
    client.client.management_url = url
    return client
コード例 #7
0
def cinder_client_trove_admin(context=None):
    """
    Returns a cinder client object with the trove admin credentials
    :param context: original context from user request
    :type context: trove.common.context.TroveContext
    :return cinderclient: cinderclient with trove admin credentials
    """
    client = CinderClient.Client(CONF.nova_proxy_admin_user,
                                 CONF.nova_proxy_admin_pass,
                                 project_id=CONF.nova_proxy_admin_tenant_name,
                                 auth_url=PROXY_AUTH_URL,
                                 service_type=CONF.cinder_service_type,
                                 region_name=CONF.os_region_name)

    if CONF.cinder_url and CONF.nova_proxy_admin_tenant_id:
        client.client.management_url = "%s/%s/" % (
            normalize_url(CONF.cinder_url), CONF.nova_proxy_admin_tenant_id)

    return client
コード例 #8
0
ファイル: single_tenant_remote.py プロジェクト: wffeige/trove
def cinder_client_trove_admin(context, region_name=None):
    """
    Returns a cinder client object with the trove admin credentials
    :param context: original context from user request
    :type context: trove.common.context.TroveContext
    :return cinderclient: cinderclient with trove admin credentials
    """
    ks_session = get_keystone_session()
    client = CinderClient.Client(
        session=ks_session,
        service_type=CONF.cinder_service_type,
        region_name=region_name or CONF.os_region_name,
        insecure=CONF.cinder_api_insecure)

    if CONF.cinder_url and CONF.nova_proxy_admin_tenant_id:
        client.client.management_url = "%s/%s/" % (
            normalize_url(CONF.cinder_url), CONF.nova_proxy_admin_tenant_id)

    return client
コード例 #9
0
ファイル: glance_remote.py プロジェクト: Tesora/tesora-trove
def glance_client(context, region_name=None):

    # We should allow glance to get the endpoint from the service
    # catalog, but to do so we would need to be able to specify
    # the endpoint_filter on the API calls, but glance
    # doesn't currently allow that.  As a result, we must
    # specify the endpoint explicitly.
    if CONF.glance_url:
        endpoint_url = '%(url)s%(tenant)s' % {
            'url': normalize_url(CONF.glance_url),
            'tenant': context.tenant}
    else:
        endpoint_url = get_endpoint(
            context.service_catalog, service_type=CONF.glance_service_type,
            endpoint_region=region_name or CONF.os_region_name,
            endpoint_type=CONF.glance_endpoint_type)

    auth = v3.Token(CONF.trove_auth_url, context.auth_token)
    session = ka_session.Session(auth=auth)

    return Client('2', endpoint=endpoint_url, session=session)
コード例 #10
0
def nova_client_trove_admin(context, region_name=None, password=None):
    """
    Returns a nova client object with the trove admin credentials
    :param context: original context from user request
    :type context: trove.common.context.TroveContext
    :return novaclient: novaclient with trove admin credentials
    :rtype: novaclient.client.Client
    """

    ks_session = get_keystone_session()
    client = NovaClient(CONF.nova_client_version,
                        session=ks_session,
                        service_type=CONF.nova_compute_service_type,
                        region_name=region_name or CONF.os_region_name,
                        insecure=CONF.nova_api_insecure,
                        endpoint_type=CONF.nova_compute_endpoint_type)

    if CONF.nova_compute_url and CONF.nova_proxy_admin_tenant_id:
        client.client.endpoint_override = "%s/%s/" % (normalize_url(
            CONF.nova_compute_url), CONF.nova_proxy_admin_tenant_id)

    return client
コード例 #11
0
def nova_client_trove_admin(context, region_name=None, compute_url=None):
    """
    Returns a nova client object with the trove admin credentials
    :param context: original context from user request
    :type context: trove.common.context.TroveContext
    :return novaclient: novaclient with trove admin credentials
    :rtype: novaclient.v1_1.client.Client
    """

    compute_url = compute_url or CONF.nova_compute_url

    client = NovaClient(CONF.nova_proxy_admin_user,
                        CONF.nova_proxy_admin_pass,
                        CONF.nova_proxy_admin_tenant_name,
                        auth_url=CONF.trove_auth_url,
                        service_type=CONF.nova_compute_service_type,
                        region_name=region_name or CONF.os_region_name)

    if compute_url and CONF.nova_proxy_admin_tenant_id:
        client.client.management_url = "%s/%s/" % (
            normalize_url(compute_url), CONF.nova_proxy_admin_tenant_id)

    return client
コード例 #12
0
def nova_client_trove_admin(context, region_name=None, compute_url=None):
    """
    Returns a nova client object with the trove admin credentials
    :param context: original context from user request
    :type context: trove.common.context.TroveContext
    :return novaclient: novaclient with trove admin credentials
    :rtype: novaclient.v1_1.client.Client
    """

    compute_url = compute_url or CONF.nova_compute_url

    client = NovaClient(CONF.nova_proxy_admin_user,
                        CONF.nova_proxy_admin_pass,
                        CONF.nova_proxy_admin_tenant_name,
                        auth_url=PROXY_AUTH_URL,
                        service_type=CONF.nova_compute_service_type,
                        region_name=region_name or CONF.os_region_name)

    if compute_url and CONF.nova_proxy_admin_tenant_id:
        client.client.management_url = "%s/%s/" % (
            normalize_url(compute_url),
            CONF.nova_proxy_admin_tenant_id)

    return client