X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_lcm%2FROclient.py;h=18425ac0de6f4ab7c892c2fbc356f35dcdc0ecae;hb=c3f2a8247259cbeea8989c30605e13f535e9832f;hp=058472f49b16aec20c7caa0183b76995870f23e5;hpb=1af43fc31fe9ebfbec873b4969237bff76f6248a;p=osm%2FLCM.git diff --git a/osm_lcm/ROclient.py b/osm_lcm/ROclient.py index 058472f..18425ac 100644 --- a/osm_lcm/ROclient.py +++ b/osm_lcm/ROclient.py @@ -285,17 +285,33 @@ class ROClient: net_done = 0 vm_done = 0 + def _get_ref(desc): # return an identification for the network or vm. Try vim_id if exist, if not descriptor id + # for net + if desc.get("vim_net_id"): + return "'vim-id={}'".format(desc["vim_net_id"]) + elif desc.get("ns_net_osm_id"): + return "'nsd-vld-id={}'".format(desc["ns_net_osm_id"]) + elif desc.get("vnf_net_osm_id"): + return "'vnfd-vld-id={}'".format(desc["vnf_net_osm_id"]) + # for VM + elif desc.get("vim_vm_id"): + return "'vim-id={}'".format(desc["vim_vm_id"]) + elif desc.get("vdu_osm_id"): + return "'vnfd-vdu-id={}'".format(desc["vdu_osm_id"]) + else: + return "" + for net in ns_descriptor["nets"]: net_total += 1 if net["status"] in ("ERROR", "VIM_ERROR"): - return "ERROR", net["error_msg"] + return "ERROR", "VIM network ({}) on error: {}".format(_get_ref(net), net["error_msg"]) elif net["status"] == "ACTIVE": net_done += 1 for vnf in ns_descriptor["vnfs"]: for vm in vnf["vms"]: vm_total += 1 if vm["status"] in ("ERROR", "VIM_ERROR"): - return "ERROR", vm["error_msg"] + return "ERROR", "VIM VM ({}) on error: {}".format(_get_ref(vm), vm["error_msg"]) elif vm["status"] == "ACTIVE": vm_done += 1 @@ -617,7 +633,7 @@ class ROClient: for word in str(response_text).split(" "): if "." in word: version_text, _, _ = word.partition("-") - return list(map(int, version_text.split("."))) + return version_text raise ROClientException("Got invalid version text: '{}'".format(response_text), http_code=500) except aiohttp.errors.ClientOSError as e: raise ROClientException(e, http_code=504)