Esempio n. 1
0
def fmclient(request):
    insecure = getattr(settings, 'OPENSTACK_SSL_NO_VERIFY', False)
    cacert = getattr(settings, 'OPENSTACK_SSL_CACERT', None)

    # System Controller alarm summary is provided in RegionOne
    region = None
    if getattr(request.user, 'services_region', None) == 'SystemController' \
            and getattr(settings, 'DC_MODE', False):
        region = "RegionOne"

    endpoint = base.url_for(request, 'faultmanagement', region=region)

    version = 1

    LOG.debug('fmclient connection created using token "%s" and url "%s"',
              request.user.token.id, endpoint)
    LOG.debug('user_id=%(user)s, tenant_id=%(tenant)s', {
        'user': request.user.id,
        'tenant': request.user.tenant_id
    })

    return fm_client.Client(version,
                            endpoint,
                            auth_token=request.user.token.id,
                            insecure=insecure,
                            cacert=cacert)
Esempio n. 2
0
 def __init__(self, region, session, endpoint_type):
     self.region_name = region
     try:
         self.fm = fmclient.Client(API_VERSION,
                                   session=session,
                                   region_name=region,
                                   endpoint_type=endpoint_type)
     except exceptions.ServiceUnavailable:
         raise
Esempio n. 3
0
def fmclient(context, version=1, endpoint=None):
    """Constructs a fm client object for making API requests.

    :param context: The request context for auth.
    :param version: API endpoint version.
    :param endpoint: Optional If the endpoint is not available, it will be
                     retrieved from context
    """
    auth_token = context.auth_token
    if endpoint is None:
        sc = k_service_catalog.ServiceCatalogV2(context.service_catalog)
        service_type, service_name, interface = \
            CONF.fm.catalog_info.split(':')
        service_parameters = {'service_type': service_type,
                              'service_name': service_name,
                              'interface': interface,
                              'region_name': CONF.fm.os_region_name}
        endpoint = sc.url_for(**service_parameters)

    return fm_client.Client(version=version,
                            endpoint=endpoint,
                            auth_token=auth_token)