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)
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
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)