X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_lcm%2FROclient.py;h=61985270019419358e9533f8a221ee37ab701c89;hb=refs%2Fchanges%2F66%2F8266%2F4;hp=058472f49b16aec20c7caa0183b76995870f23e5;hpb=1af43fc31fe9ebfbec873b4969237bff76f6248a;p=osm%2FLCM.git diff --git a/osm_lcm/ROclient.py b/osm_lcm/ROclient.py index 058472f..6198527 100644 --- a/osm_lcm/ROclient.py +++ b/osm_lcm/ROclient.py @@ -189,7 +189,7 @@ class ROClient: def _parse_yaml(self, descriptor, response=False): try: - return yaml.load(descriptor) + return yaml.load(descriptor, Loader=yaml.Loader) except yaml.YAMLError as exc: error_pos = "" if hasattr(exc, 'problem_mark'): @@ -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)