Esempio n. 1
0
def get_crushmap_series(request):
    body = {'cluster_id': 1}
    ret_code, node_list = vsmapi.get_crushmap_tree_data(request, body)
    node_list = node_list['tree_node']
    print 'node_list=======', node_list

    #generate the crushmap nodes
    crushmap_nodes = []
    type_list = []
    for node in node_list:
        is_parent = False
        is_open = False
        font = ""

        #get the type list
        is_type_exist = False
        for type_item in type_list:
            if type_item["id"] == node["type"]:
                is_type_exist = True
                break
        if is_type_exist == False:
            type_list.append({
                "id": node["type"],
                "name": node["type_name"],
            })

        #if parent id is none,it's "root"
        pID_list = node.get("parent_id", ["root"])
        print '111===', node
        for pID in pID_list:
            if pID == "root":
                is_parent = True
                is_open = True
                pID = "root"
            item = {
                "id": node["id"],
                "pId": pID,
                "type_id": node["type"],
                "type_name": node["type_name"],
                "name": node["name"],
                "font": "",
                "open": is_open,
                "isParent": is_parent,
            }
            #append the item into crushmap
            crushmap_nodes.append(item)
    #sort the type_list
    type_list.sort(key=lambda x: x["id"])
    resp = dict(message="",
                status="OK",
                crushmap=crushmap_nodes,
                type_list=type_list)
    resp = json.dumps(resp)
    return HttpResponse(resp)
def get_crushmap_series(request):
    body = {'cluster_id':1}
    ret_code,node_list = vsmapi.get_crushmap_tree_data(request,body)
    node_list = node_list['tree_node']
    print 'node_list=======',node_list

    #generate the crushmap nodes
    crushmap_nodes = []
    type_list = []
    for node in node_list:
        is_parent = False
        is_open = False
        font = ""

        #get the type list
        is_type_exist = False
        for type_item in type_list:
            if type_item["id"] == node["type"]:
                is_type_exist = True
                break
        if is_type_exist == False:
            type_list.append({
                "id":node["type"],
                "name":node["type_name"],
            })

        #if parent id is none,it's "root"
        pID_list = node.get("parent_id",["root"])
        print '111===',node
        for pID in pID_list:
            if pID == "root":
                is_parent = True
                is_open = True
                pID = "root"
            item = {
                "id":node["id"],
                "pId":pID,
                "type_id":node["type"],
                "type_name":node["type_name"],
                "name":node["name"],
                "font":"",
                "open":is_open,
                "isParent":is_parent,
            }
            #append the item into crushmap
            crushmap_nodes.append(item)
    #sort the type_list
    type_list.sort(key=lambda x:x["id"])
    resp = dict(message="", status="OK",crushmap=crushmap_nodes,type_list=type_list)
    resp = json.dumps(resp)
    return HttpResponse(resp)
def get_crushmap_series(request):
    # node_list = [
    #     {'type': 4,'type_name': "type4", 'id': -16, 'sg':[],'name': 'vsm','nocheck':False,"take":"",'take':"take_16"},
    #
    #     {'parent_id': [-16], 'type': 3,'type_name':"type3", 'id': -13, 'sg':[],'name': 'performances','nocheck':False,'take':"take_13"},
    #     {'parent_id': [-16], 'type': 3,'type_name':"type3", 'id': -15, 'sg':[],'name': 'capacity','nocheck':False,'take':"take_15"},
    #     {'parent_id': [-16], 'type': 3,'type_name':"type3", 'id': -14, 'sg':[],'name': 'high_performance_test','nocheck':False,'take':"take_14"},
    #
    #     {'parent_id': [-14], 'type': 2,'type_name':"type2", 'id': -11, 'sg':[],'name': 'zone0_high_performance_test','nocheck':False,'take':"take_14"},
    #     {'parent_id': [-13], 'type': 2,'type_name':"type2", 'id': -10, 'sg':[],'name': 'zone0_performance','nocheck':False,'take':"take_13"},
    #     {'parent_id': [-15], 'type': 2,'type_name':"type2", 'id': -12, 'sg':[],'name': 'zone0_capacity','nocheck':False,'take':"take_15"},
    #
    #     {'parent_id': [-10], 'type': 1,'type_name':"type1", 'id': -4, 'sg':[],'name': 'ceph02_performance_zone0','nocheck':False,'take':"take_4"},
    #     {'parent_id': [-10], 'type': 1,'type_name':"type1", 'id': -7, 'sg':[],'name': 'ceph03_performance_zone0','nocheck':False,'take':"take_7"},
    #     {'parent_id': [-10], 'type': 1,'type_name':"type1", 'id': -1, 'sg':[],'name': 'ceph01_performance_zone0','nocheck':False,'take':"take_1"},
    #     {'parent_id': [-11], 'type': 1,'type_name':"type1", 'id': -8, 'sg':[],'name': 'ceph03_high_performance_test_zone0','nocheck':False,'take':"take_8"},
    #     {'parent_id': [-11], 'type': 1,'type_name':"type1", 'id': -5, 'sg':[],'name': 'ceph02_high_performance_test_zone0','nocheck':False,'take':"take_5"},
    #     {'parent_id': [-11], 'type': 1,'type_name':"type1", 'id': -2, 'sg':[],'name': 'ceph01_high_performance_test_zone0','nocheck':False,'take':"take_2"},
    #     {'parent_id': [-12], 'type': 1,'type_name':"type1", 'id': -9, 'sg':[],'name': 'ceph03_capacity_zone0','nocheck':False,'take':"take_9"},
    #     {'parent_id': [-12], 'type': 1,'type_name':"type1", 'id': -3, 'sg':[],'name': 'ceph01_capacity_zone0','nocheck':False,'take':"take_4"},
    #     {'parent_id': [-12], 'type': 1,'type_name':"type1", 'id': -6, 'sg':[],'name': 'ceph02_capacity_zone0','nocheck':False,'take':"take_6"},
    #
    #     {'parent_id': [-1], 'type': 0,'type_name':"type0", 'id': 8, 'sg':[1,2,3],'name': 'osd.8','nocheck':True,"take":""},
    #     {'parent_id': [-1], 'type': 0,'type_name':"type0", 'id': 10, 'sg':[3],'name': 'osd.10','nocheck':True,"take":""},
    #     {'parent_id': [-1], 'type': 0,'type_name':"type0", 'id': 9, 'sg':[1,2],'name': 'osd.9','nocheck':True,"take":""},
    #     {'parent_id': [-2], 'type': 0,'type_name':"type0", 'id': 0, 'sg':[2],'name': 'osd.0','nocheck':True,"take":""},
    #     {'parent_id': [-3], 'type': 0,'type_name':"type0", 'id': 2, 'sg':[2],'name': 'osd.2','nocheck':True,"take":""},
    #     {'parent_id': [-3], 'type': 0,'type_name':"type0", 'id': 4, 'sg':[1],'name': 'osd.4','nocheck':True,"take":""},
    #     {'parent_id': [-3], 'type': 0,'type_name':"type0", 'id': 6, 'sg':[1],'name': 'osd.6','nocheck':True,"take":""},
    #     {'parent_id': [-3], 'type': 0,'type_name':"type0", 'id': 1, 'sg':[1,3],'name': 'osd.1','nocheck':True,"take":""},
    #     {'parent_id': [-3], 'type': 0,'type_name':"type0", 'id': 3, 'sg':[3],'name': 'osd.3','nocheck':True,"take":""},
    #     {'parent_id': [-3], 'type': 0,'type_name':"type0", 'id': 5, 'sg':[],'name': 'osd.5','nocheck':True,"take":""},
    #     {'parent_id': [-3], 'type': 0,'type_name':"type0", 'id': 7, 'sg':[],'name': 'osd.7','nocheck':True,"take":""},
    #     {'parent_id': [-4], 'type': 0,'type_name':"type0", 'id': 19, 'sg':[],'name': 'osd.19','nocheck':True,"take":""},
    #     {'parent_id': [-4], 'type': 0,'type_name':"type0", 'id': 20, 'sg':[],'name': 'osd.20','nocheck':True,"take":""},
    #     {'parent_id': [-4], 'type': 0,'type_name':"type0", 'id': 21, 'sg':[],'name': 'osd.21','nocheck':True,"take":""},
    #     {'parent_id': [-5], 'type': 0,'type_name':"type0", 'id': 11, 'sg':[],'name': 'osd.11','nocheck':True,"take":""},
    #     {'parent_id': [-6], 'type': 0,'type_name':"type0", 'id': 13, 'sg':[],'name': 'osd.13','nocheck':True,"take":""},
    #     {'parent_id': [-6], 'type': 0,'type_name':"type0", 'id': 12, 'sg':[],'name': 'osd.12','nocheck':True,"take":""},
    #     {'parent_id': [-6], 'type': 0,'type_name':"type0", 'id': 15, 'sg':[],'name': 'osd.15','nocheck':True,"take":""},
    #     {'parent_id': [-6], 'type': 0,'type_name':"type0", 'id': 14, 'sg':[],'name': 'osd.14','nocheck':True,"take":""},
    #     {'parent_id': [-6], 'type': 0,'type_name':"type0", 'id': 17, 'sg':[],'name': 'osd.17','nocheck':True,"take":""},
    #     {'parent_id': [-6], 'type': 0,'type_name':"type0", 'id': 16, 'sg':[],'name': 'osd.16','nocheck':True,"take":""},
    #     {'parent_id': [-6], 'type': 0,'type_name':"type0", 'id': 18, 'sg':[],'name': 'osd.18','nocheck':True,"take":""},
    #     {'parent_id': [-7], 'type': 0,'type_name':"type0", 'id': 32, 'sg':[],'name': 'osd.32','nocheck':True,"take":""},
    #     {'parent_id': [-7], 'type': 0,'type_name':"type0", 'id': 31, 'sg':[],'name': 'osd.31','nocheck':True,"take":""},
    #     {'parent_id': [-7], 'type': 0,'type_name':"type0", 'id': 30, 'sg':[],'name': 'osd.30','nocheck':True,"take":""},
    #     {'parent_id': [-8], 'type': 0,'type_name':"type0", 'id': 22, 'sg':[],'name': 'osd.22','nocheck':True,"take":""},
    #     {'parent_id': [-9], 'type': 0,'type_name':"type0", 'id': 25, 'sg':[],'name': 'osd.25','nocheck':True,"take":""},
    #     {'parent_id': [-9], 'type': 0,'type_name':"type0", 'id': 26, 'sg':[],'name': 'osd.26','nocheck':True,"take":""},
    #     {'parent_id': [-9], 'type': 0,'type_name':"type0", 'id': 27, 'sg':[],'name': 'osd.27','nocheck':True,"take":""},
    #     {'parent_id': [-9], 'type': 0,'type_name':"type0", 'id': 23, 'sg':[],'name': 'osd.23','nocheck':True,"take":""},
    #     {'parent_id': [-9], 'type': 0,'type_name':"type0", 'id': 28, 'sg':[],'name': 'osd.28','nocheck':True,"take":""},
    #     {'parent_id': [-9], 'type': 0,'type_name':"type0", 'id': 29, 'sg':[],'name': 'osd.29','nocheck':True,"take":""},
    #     {'parent_id': [-9,-8], 'type': 0,'type_name':"type0", 'id': 24, 'sg':[],'name': 'osd.24','nocheck':True,"take":""},
    # ]
    body = {'cluster_id':1}
    ret_code,node_list = vsmapi.get_crushmap_tree_data(request,body)
    node_list = node_list['tree_node']
    print 'node_list=======',node_list

    #generate the crushmap nodes
    crushmap_nodes = []
    type_list = []
    for node in node_list:
        is_parent = False
        is_open = False
        font = ""

        #get the type list
        is_type_exist = False
        for type_item in type_list:
            if type_item["id"] == node["type"]:
                is_type_exist = True
                break
        if is_type_exist == False:
            type_list.append({
                "id":node["type"],
                "name":node["type_name"],
            })

        #if parent id is none,it's "root"
        pID_list = node.get("parent_id",["root"])
        print '111===',node
        for pID in pID_list:
            if pID == "root":
                is_parent = True
                is_open = True
                pID = "root"
            item = {
                "id":node["id"],
                "pId":pID,
                "type_id":node["type"],
                "type_name":node["type_name"],
                "name":node["name"],
                "font":"",
                "open":is_open,
                "isParent":is_parent,
            }
            #append the item into crushmap
            print '33333333333'
            crushmap_nodes.append(item)
    #sort the type_list
    print '222===',type_list
    type_list.sort(key=lambda x:x["id"])
    resp = dict(message="", status="OK",crushmap=crushmap_nodes,type_list=type_list)
    resp = json.dumps(resp)
    return HttpResponse(resp)
Esempio n. 4
0
def crushmap_datasource(request):
    # node_list = [
    #     {'type': 4,'type_name': "type4", 'id': -16, 'sg':[],'name': 'vsm','nocheck':False,"take":"",'take':"take_16"},
    #
    #     {'parent_id': [-16], 'type': 3,'type_name':"type3", 'id': -13, 'sg':[],'name': 'performances','nocheck':False,'take':"take_13"},
    #     {'parent_id': [-16], 'type': 3,'type_name':"type3", 'id': -15, 'sg':[],'name': 'capacity','nocheck':False,'take':"take_15"},
    #     {'parent_id': [-16], 'type': 3,'type_name':"type3", 'id': -14, 'sg':[],'name': 'high_performance_test','nocheck':False,'take':"take_14"},
    #
    #     {'parent_id': [-14], 'type': 2,'type_name':"type2", 'id': -11, 'sg':[],'name': 'zone0_high_performance_test','nocheck':False,'take':"take_14"},
    #     {'parent_id': [-13], 'type': 2,'type_name':"type2", 'id': -10, 'sg':[],'name': 'zone0_performance','nocheck':False,'take':"take_13"},
    #     {'parent_id': [-15], 'type': 2,'type_name':"type2", 'id': -12, 'sg':[],'name': 'zone0_capacity','nocheck':False,'take':"take_15"},
    #
    #     {'parent_id': [-10], 'type': 1,'type_name':"type1", 'id': -4, 'sg':[],'name': 'ceph02_performance_zone0','nocheck':False,'take':"take_4"},
    #     {'parent_id': [-10], 'type': 1,'type_name':"type1", 'id': -7, 'sg':[],'name': 'ceph03_performance_zone0','nocheck':False,'take':"take_7"},
    #     {'parent_id': [-10], 'type': 1,'type_name':"type1", 'id': -1, 'sg':[],'name': 'ceph01_performance_zone0','nocheck':False,'take':"take_1"},
    #     {'parent_id': [-11], 'type': 1,'type_name':"type1", 'id': -8, 'sg':[],'name': 'ceph03_high_performance_test_zone0','nocheck':False,'take':"take_8"},
    #     {'parent_id': [-11], 'type': 1,'type_name':"type1", 'id': -5, 'sg':[],'name': 'ceph02_high_performance_test_zone0','nocheck':False,'take':"take_5"},
    #     {'parent_id': [-11], 'type': 1,'type_name':"type1", 'id': -2, 'sg':[],'name': 'ceph01_high_performance_test_zone0','nocheck':False,'take':"take_2"},
    #     {'parent_id': [-12], 'type': 1,'type_name':"type1", 'id': -9, 'sg':[],'name': 'ceph03_capacity_zone0','nocheck':False,'take':"take_9"},
    #     {'parent_id': [-12], 'type': 1,'type_name':"type1", 'id': -3, 'sg':[],'name': 'ceph01_capacity_zone0','nocheck':False,'take':"take_4"},
    #     {'parent_id': [-12], 'type': 1,'type_name':"type1", 'id': -6, 'sg':[],'name': 'ceph02_capacity_zone0','nocheck':False,'take':"take_6"},
    #
    #     {'parent_id': [-1], 'type': 0,'type_name':"type0", 'id': 8, 'sg':[1,2,3],'name': 'osd.8','nocheck':True,"take":""},
    #     {'parent_id': [-1], 'type': 0,'type_name':"type0", 'id': 10, 'sg':[3],'name': 'osd.10','nocheck':True,"take":""},
    #     {'parent_id': [-1], 'type': 0,'type_name':"type0", 'id': 9, 'sg':[1,2],'name': 'osd.9','nocheck':True,"take":""},
    #     {'parent_id': [-2], 'type': 0,'type_name':"type0", 'id': 0, 'sg':[2],'name': 'osd.0','nocheck':True,"take":""},
    #     {'parent_id': [-3], 'type': 0,'type_name':"type0", 'id': 2, 'sg':[2],'name': 'osd.2','nocheck':True,"take":""},
    #     {'parent_id': [-3], 'type': 0,'type_name':"type0", 'id': 4, 'sg':[1],'name': 'osd.4','nocheck':True,"take":""},
    #     {'parent_id': [-3], 'type': 0,'type_name':"type0", 'id': 6, 'sg':[1],'name': 'osd.6','nocheck':True,"take":""},
    #     {'parent_id': [-3], 'type': 0,'type_name':"type0", 'id': 1, 'sg':[1,3],'name': 'osd.1','nocheck':True,"take":""},
    #     {'parent_id': [-3], 'type': 0,'type_name':"type0", 'id': 3, 'sg':[3],'name': 'osd.3','nocheck':True,"take":""},
    #     {'parent_id': [-3], 'type': 0,'type_name':"type0", 'id': 5, 'sg':[],'name': 'osd.5','nocheck':True,"take":""},
    #     {'parent_id': [-3], 'type': 0,'type_name':"type0", 'id': 7, 'sg':[],'name': 'osd.7','nocheck':True,"take":""},
    #     {'parent_id': [-4], 'type': 0,'type_name':"type0", 'id': 19, 'sg':[],'name': 'osd.19','nocheck':True,"take":""},
    #     {'parent_id': [-4], 'type': 0,'type_name':"type0", 'id': 20, 'sg':[],'name': 'osd.20','nocheck':True,"take":""},
    #     {'parent_id': [-4], 'type': 0,'type_name':"type0", 'id': 21, 'sg':[],'name': 'osd.21','nocheck':True,"take":""},
    #     {'parent_id': [-5], 'type': 0,'type_name':"type0", 'id': 11, 'sg':[],'name': 'osd.11','nocheck':True,"take":""},
    #     {'parent_id': [-6], 'type': 0,'type_name':"type0", 'id': 13, 'sg':[],'name': 'osd.13','nocheck':True,"take":""},
    #     {'parent_id': [-6], 'type': 0,'type_name':"type0", 'id': 12, 'sg':[],'name': 'osd.12','nocheck':True,"take":""},
    #     {'parent_id': [-6], 'type': 0,'type_name':"type0", 'id': 15, 'sg':[],'name': 'osd.15','nocheck':True,"take":""},
    #     {'parent_id': [-6], 'type': 0,'type_name':"type0", 'id': 14, 'sg':[],'name': 'osd.14','nocheck':True,"take":""},
    #     {'parent_id': [-6], 'type': 0,'type_name':"type0", 'id': 17, 'sg':[],'name': 'osd.17','nocheck':True,"take":""},
    #     {'parent_id': [-6], 'type': 0,'type_name':"type0", 'id': 16, 'sg':[],'name': 'osd.16','nocheck':True,"take":""},
    #     {'parent_id': [-6], 'type': 0,'type_name':"type0", 'id': 18, 'sg':[],'name': 'osd.18','nocheck':True,"take":""},
    #     {'parent_id': [-7], 'type': 0,'type_name':"type0", 'id': 32, 'sg':[],'name': 'osd.32','nocheck':True,"take":""},
    #     {'parent_id': [-7], 'type': 0,'type_name':"type0", 'id': 31, 'sg':[],'name': 'osd.31','nocheck':True,"take":""},
    #     {'parent_id': [-7], 'type': 0,'type_name':"type0", 'id': 30, 'sg':[],'name': 'osd.30','nocheck':True,"take":""},
    #     {'parent_id': [-8], 'type': 0,'type_name':"type0", 'id': 22, 'sg':[],'name': 'osd.22','nocheck':True,"take":""},
    #     {'parent_id': [-9], 'type': 0,'type_name':"type0", 'id': 25, 'sg':[],'name': 'osd.25','nocheck':True,"take":""},
    #     {'parent_id': [-9], 'type': 0,'type_name':"type0", 'id': 26, 'sg':[],'name': 'osd.26','nocheck':True,"take":""},
    #     {'parent_id': [-9], 'type': 0,'type_name':"type0", 'id': 27, 'sg':[],'name': 'osd.27','nocheck':True,"take":""},
    #     {'parent_id': [-9], 'type': 0,'type_name':"type0", 'id': 23, 'sg':[],'name': 'osd.23','nocheck':True,"take":""},
    #     {'parent_id': [-9], 'type': 0,'type_name':"type0", 'id': 28, 'sg':[],'name': 'osd.28','nocheck':True,"take":""},
    #     {'parent_id': [-9], 'type': 0,'type_name':"type0", 'id': 29, 'sg':[],'name': 'osd.29','nocheck':True,"take":""},
    #     {'parent_id': [-9,-8], 'type': 0,'type_name':"type0", 'id': 24, 'sg':[],'name': 'osd.24','nocheck':True,"take":""},
    # ]
    body = {'cluster_id': 1}
    ret_code, node_list = vsmapi.get_crushmap_tree_data(request, body)
    node_list = node_list['tree_node']
    print 'node_list=======', node_list

    #generate the crushmap nodes
    crushmap_nodes = []
    type_list = []
    for node in node_list:
        #ignore the osd node
        if node["type"] == 0:
            continue

        is_parent = False
        is_open = False
        font = ""

        #get the type list
        is_type_exist = False
        for type_item in type_list:
            if type_item["id"] == node["type"]:
                is_type_exist = True
                break
        if is_type_exist == False:
            type_list.append({
                "id": node["type"],
                "name": node["type_name"],
            })

    #if parent id is none,it's "root"
        pID_list = node.get("parent_id", ["root"])
        #print '111===',node
        for pID in pID_list:
            if pID == "root":
                is_parent = True
                is_open = True
                pID = "root"
            item = {
                "id": node["id"],
                "pId": pID,
                "type_id": node["type"],
                "type_name": node["type_name"],
                "name": node["name"],
                "font": "",
                "open": is_open,
                "isParent": is_parent,
            }
            #append the item into crushmap
            #print '33333333333'
            crushmap_nodes.append(item)
    #sort the type_list
    #print '222===',type_list
    type_list.sort(key=lambda x: x["id"])
    resp = dict(message="",
                status="OK",
                crushmap=crushmap_nodes,
                type_list=type_list)
    resp = json.dumps(resp)
    return HttpResponse(resp)