Exemple #1
0
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)
Exemple #2
0
 def test_get_endpoint_ignores_missing_type(self):
     service_catalog = [
         {
             'name': 'Other Service',
         },
         {
             'endpoint_links': [],
             'endpoints': [
                 {
                     'adminURL': 'http://localhost:8080/',
                     'region': 'RegionOne',
                     'internalURL': 'http://internalURL/',
                     'publicURL': 'http://publicURL/',
                 },
                 {
                     'adminURL': 'http://localhost:8081/',
                     'region': 'RegionTwo',
                     'internalURL': 'http://internalURL2/',
                     'publicURL': 'http://publicURL2/',
                 },
             ],
             'type': 'object-store',
             'name': 'Object Storage Service',
         }
     ]
     endpoint = remote.get_endpoint(service_catalog,
                                    service_type='object-store',
                                    endpoint_region='RegionOne')
     self.assertEqual('http://publicURL/', endpoint)
Exemple #3
0
 def test_get_endpoint_ignores_missing_type(self):
     service_catalog = [{
         'name': 'Other Service',
     }, {
         'endpoint_links': [],
         'endpoints': [
             {
                 'adminURL': 'http://localhost:8080/',
                 'region': 'RegionOne',
                 'internalURL': 'http://internalURL/',
                 'publicURL': 'http://publicURL/',
             },
             {
                 'adminURL': 'http://localhost:8081/',
                 'region': 'RegionTwo',
                 'internalURL': 'http://internalURL2/',
                 'publicURL': 'http://publicURL2/',
             },
         ],
         'type':
         'object-store',
         'name':
         'Object Storage Service',
     }]
     endpoint = remote.get_endpoint(service_catalog,
                                    service_type='object-store',
                                    endpoint_region='RegionOne')
     self.assertEqual('http://publicURL/', endpoint)
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
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
Exemple #6
0
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)
Exemple #7
0
 def test_get_endpoint_with_custom_endpoint_type(self):
     endpoint = remote.get_endpoint(self.service_catalog,
                                    service_type='object-store',
                                    endpoint_type='internalURL',
                                    endpoint_region='RegionOne')
     self.assertEqual('http://internalURL/', endpoint)
Exemple #8
0
 def test_get_endpoint_with_custom_endpoint_type(self):
     endpoint = remote.get_endpoint(self.service_catalog,
                                    service_type='object-store',
                                    endpoint_type='internalURL',
                                    endpoint_region='RegionOne')
     self.assertEqual('http://internalURL/', endpoint)