X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Frest%2Fcompute.py;h=22e9d6df13c9a0a17bbf3cf8bb6d1cd62635230d;hb=c46fe93dd3f79a91ce86baf933282aa25ff76ddc;hp=78b49e309ffab5d046b43b1975b6e170567518a1;hpb=8de1f30034ca592d21b588bf6202e05f27659b3c;p=osm%2Fvim-emu.git diff --git a/src/emuvim/api/rest/compute.py b/src/emuvim/api/rest/compute.py index 78b49e3..22e9d6d 100755 --- a/src/emuvim/api/rest/compute.py +++ b/src/emuvim/api/rest/compute.py @@ -32,6 +32,8 @@ import json logging.basicConfig(level=logging.INFO) +CORS_HEADER = {'Access-Control-Allow-Origin': '*'} + dcs = {} @@ -67,28 +69,28 @@ class Compute(Resource): c = dcs.get(dc_label).startCompute( compute_name, image=image, command=command, network=nw_list) # return docker inspect dict - return c.getStatus(), 200 + return c.getStatus(), 200, CORS_HEADER except Exception as ex: logging.exception("API error.") - return ex.message, 500 + return ex.message, 500, CORS_HEADER def get(self, dc_label, compute_name): logging.debug("API CALL: compute status") try: - return dcs.get(dc_label).containers.get(compute_name).getStatus(), 200 + return dcs.get(dc_label).containers.get(compute_name).getStatus(), 200, CORS_HEADER except Exception as ex: logging.exception("API error.") - return ex.message, 500 + return ex.message, 500, CORS_HEADER def delete(self, dc_label, compute_name): logging.debug("API CALL: compute stop") try: - return dcs.get(dc_label).stopCompute(compute_name), 200 + return dcs.get(dc_label).stopCompute(compute_name), 200, CORS_HEADER except Exception as ex: logging.exception("API error.") - return ex.message, 500 + return ex.message, 500, CORS_HEADER def _parse_network(self, network_str): ''' @@ -113,22 +115,22 @@ class Compute(Resource): class ComputeList(Resource): global dcs - def get(self, dc_label): + def get(self, dc_label=None): logging.debug("API CALL: compute list") try: - if dc_label == 'None': + if dc_label is None or dc_label == 'None': # return list with all compute nodes in all DCs all_containers = [] for dc in dcs.itervalues(): all_containers += dc.listCompute() - return [(c.name, c.getStatus()) for c in all_containers], 200 + return [(c.name, c.getStatus()) for c in all_containers], 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 + for c in dcs.get(dc_label).listCompute()], 200, CORS_HEADER except Exception as ex: logging.exception("API error.") - return ex.message, 500 + return ex.message, 500, CORS_HEADER class DatacenterList(Resource): @@ -137,10 +139,10 @@ class DatacenterList(Resource): def get(self): logging.debug("API CALL: datacenter list") try: - return [d.getStatus() for d in dcs.itervalues()], 200 + return [d.getStatus() for d in dcs.itervalues()], 200, CORS_HEADER except Exception as ex: logging.exception("API error.") - return ex.message, 500 + return ex.message, 500, CORS_HEADER class DatacenterStatus(Resource): @@ -149,7 +151,7 @@ class DatacenterStatus(Resource): def get(self, dc_label): logging.debug("API CALL: datacenter status") try: - return dcs.get(dc_label).getStatus(), 200 + return dcs.get(dc_label).getStatus(), 200, CORS_HEADER except Exception as ex: logging.exception("API error.") - return ex.message, 500 + return ex.message, 500, CORS_HEADER