vitrage-dashboard/vitrage_dashboard/api/vitrage.py
Omer Etrog 0fe376fa05 vitrage in admin menu
Change-Id: If133da388c2da15867e1384fbdd0666a4e4eae9a
2017-04-26 16:38:24 +03:00

53 lines
2.0 KiB
Python

# Copyright 2015 - Alcatel-Lucent
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from horizon.utils.memoized import memoized # noqa
from keystoneauth1.identity.generic.token import Token
from keystoneauth1.session import Session
from openstack_dashboard.api import base
from vitrageclient import client as vitrage_client
@memoized
def vitrageclient(request, password=None):
endpoint = base.url_for(request, 'identity')
tokenId = request.user.token.id
tenentName = request.user.tenant_name
auth = Token(auth_url=endpoint, token=tokenId, project_name=tenentName)
session = Session(auth=auth, timeout=600)
return vitrage_client.Client('1', session)
def topology(request, query=None, graph_type='tree', all_tenants='false'):
return vitrageclient(request).topology.get(query=query,
graph_type=graph_type,
all_tenants=all_tenants)
def alarms(request, vitrage_id='all', all_tenants='false'):
return vitrageclient(request).alarm.list(vitrage_id=vitrage_id,
all_tenants=all_tenants)
def rca(request, alarm_id, all_tenants='false'):
return vitrageclient(request).rca.get(alarm_id=alarm_id,
all_tenants=all_tenants)
def templates(request, template_id='all'):
if template_id == 'all':
return vitrageclient(request).template.list()
return vitrageclient(request).template.show(template_id)