X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Frest%2Fcompute.py;h=28a92c4eb815aea1e8628ae35e4f81e2eeaa908f;hb=4e37abbc1a06ffa40ed11c7c6a16c1fe95403161;hp=8d46aa2fa1a4f02025e45abb0b925a69ea26fdb3;hpb=33d768923110817c5c364cda695e4699c8431776;p=osm%2Fvim-emu.git diff --git a/src/emuvim/api/rest/compute.py b/src/emuvim/api/rest/compute.py index 8d46aa2..28a92c4 100755 --- a/src/emuvim/api/rest/compute.py +++ b/src/emuvim/api/rest/compute.py @@ -31,10 +31,11 @@ from flask import request import json from copy import deepcopy -logging.basicConfig(level=logging.INFO) +logging.basicConfig() CORS_HEADER = {'Access-Control-Allow-Origin': '*'} +# the dcs dict is set in the rest_api_endpoint.py upon datacenter init dcs = {} @@ -49,6 +50,7 @@ class Compute(Resource): example networks list({"id":"input","ip": "10.0.0.254/8"}, {"id":"output","ip": "11.0.0.254/24"}) :return: docker inspect dict of deployed docker """ + global dcs def put(self, dc_label, compute_name, resource=None, value=None): @@ -123,13 +125,21 @@ class ComputeList(Resource): if dc_label is None or dc_label == 'None': # return list with all compute nodes in all DCs all_containers = [] + all_extSAPs = [] for dc in dcs.itervalues(): all_containers += dc.listCompute() - return [(c.name, c.getStatus()) for c in all_containers], 200, CORS_HEADER + all_extSAPs += dc.listExtSAPs() + + extSAP_list = [(sap.name, sap.getStatus()) for sap in all_extSAPs] + container_list = [(c.name, c.getStatus()) for c in all_containers] + total_list = container_list + extSAP_list + return total_list, 200, CORS_HEADER else: # return list of compute nodes for specified DC - return [(c.name, c.getStatus()) - for c in dcs.get(dc_label).listCompute()], 200, CORS_HEADER + container_list = [(c.name, c.getStatus()) for c in dcs.get(dc_label).listCompute()] + extSAP_list = [(sap.name, sap.getStatus()) for sap in dcs.get(dc_label).listExtSAPs()] + total_list = container_list + extSAP_list + return total_list, 200, CORS_HEADER except Exception as ex: logging.exception("API error.") return ex.message, 500, CORS_HEADER