Added query parameter to get topology - Fix

Change:
When requesting a topology with graph-type=tree a
filter\query must be passed in as well. Default query is
set to getting all computes i.e. getting Sunburst info.
Problem:
Default query was also used for graph
Fix:
Default query is used only if tree(Sunburst)

Change-Id: I1b8a04df7105a916796562bfd863686b60340f82
This commit is contained in:
Noam Bloom
2016-05-30 16:41:51 +03:00
parent 673f3079ae
commit 5267ffd43d
2 changed files with 13 additions and 11 deletions

View File

@@ -43,19 +43,21 @@ class Topolgy(generic.View):
if 'graph_type' in request.GET:
graph_type = request.GET.get('graph_type')
''' Default query - get computes, used by Sunburst'''
query = '{"and": [{"==": {"category": "RESOURCE"}},' \
'{"==": {"is_deleted": false}},' \
'{"==": {"is_placeholder": false}},' \
'{"or": [{"==": {"type": "openstack.cluster"}},' \
'{"==": {"type": "nova.instance"}},' \
'{"==": {"type": "nova.host"}},' \
'{"==": {"type": "nova.zone"}}]}]}'
query = None
if 'query' in request.GET:
query = request.GET.get('query')
elif graph_type == 'tree':
''' Default tree query - get computes, used by Sunburst'''
query = '{"and": [{"==": {"category": "RESOURCE"}},' \
'{"==": {"is_deleted": false}},' \
'{"==": {"is_placeholder": false}},' \
'{"or": [{"==": {"type": "openstack.cluster"}},' \
'{"==": {"type": "nova.instance"}},' \
'{"==": {"type": "nova.host"}},' \
'{"==": {"type": "nova.zone"}}]}]}'
return api.vitrage.topology(request=request, query=query,
return api.vitrage.topology(request=request,
query=query,
graph_type=graph_type)

View File

@@ -30,7 +30,7 @@ def vitrageclient(request, password=None):
return vitrage_client.Client('1', session)
def topology(request, query, graph_type='tree'):
def topology(request, query=None, graph_type='tree'):
return vitrageclient(request).topology.get(query=query,
graph_type=graph_type)