else:
for vnfr in vnfr_desc:
vnfd_desc = self.db.get_one("vnfds", {"_id": vnfr["vnfd-id"]}, fail_on_empty=True, fail_on_more=False)
- if vnfd_desc.get("vdu"):
- for vdu in vnfd_desc['vdu']:
- # Checks for vdu metric in vdu-configuration
- if 'vdu-configuration' in vdu and 'metrics' in vdu['vdu-configuration']:
- metric_list.extend([quote(metric['name'])
- for metric in vdu["vdu-configuration"]["metrics"]])
- # Checks for vnf metric in vnf-configutaion
- if 'vnf-configuration' in vnfd_desc and 'metrics' in vnfd_desc['vnf-configuration']:
- metric_list.extend([quote(metric['name']) for metric in vnfd_desc["vnf-configuration"]["metrics"]])
+ try:
+ configs = vnfd_desc.get("df")[0]["lcm-operations-configuration"]["operate-vnf-op-config"]["day1-2"]
+ except Exception:
+ configs = []
+
+ for config in configs:
+ if "metrics" in config:
+ metric_list.extend([quote(metric['name']) for metric in config["metrics"]])
metric_list = list(set(metric_list))
return metric_list
except aiohttp.client_exceptions.ClientConnectorError as e:
raise EngineException("Connection to '{}'Failure: {}".format(self.url, e))
- def show(self, session, ns_id):
+ def show(self, session, ns_id, api_req=False):
metrics_list = self._get_vnf_metric_list(ns_id)
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)