From: bravof Date: Thu, 17 Dec 2020 20:27:29 +0000 (-0300) Subject: fix(dashboards): searches monitoring parameters through every VDU available inside... X-Git-Tag: branch-sol006v331-start~26 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=refs%2Fchanges%2F40%2F10140%2F2;p=osm%2FMON.git fix(dashboards): searches monitoring parameters through every VDU available inside a VNF Change-Id: I79b6d1cabf37ef216783688528b28707b2035215 Signed-off-by: bravof --- diff --git a/osm_mon/dashboarder/service.py b/osm_mon/dashboarder/service.py index 1e81c8a..10508e4 100644 --- a/osm_mon/dashboarder/service.py +++ b/osm_mon/dashboarder/service.py @@ -18,7 +18,7 @@ # License for the specific language governing permissions and limitations # under the License. # For those usages not covered by the Apache License, Version 2.0 please -# contact: glavado@whitestack.com +# contact: glavado@whitestack.com or fbravo@whitestack.com ## import logging @@ -26,6 +26,7 @@ from osm_mon.core.common_db import CommonDbClient from osm_mon.core.config import Config from osm_mon.dashboarder.backends.grafana import GrafanaBackend from osm_mon import __path__ as mon_path +from osm_mon.dashboarder.utils import find_in_list log = logging.getLogger(__name__) @@ -72,7 +73,8 @@ class DashboarderService: try: vnfd = self.common_db.get_vnfd_by_id(vnf_profile['vnfd-id']) # If there are metrics, create dashboard (if exists) - if vnfd and 'monitoring-parameter' in vnfd["vdu"][0]: + vdu_found = find_in_list(vnfd["vdu"], lambda a_vdu: "monitoring-parameter" in a_vdu) + if vdu_found: if nsr_id not in dashboard_uids: nsr_name = nsr['name'] project_id = nsr["_admin"]["projects_read"][0] diff --git a/osm_mon/dashboarder/utils.py b/osm_mon/dashboarder/utils.py new file mode 100644 index 0000000..7b13c9d --- /dev/null +++ b/osm_mon/dashboarder/utils.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- + +# Copyright 2018 Whitestack, LLC +# ************************************************************* + +# This file is part of OSM Monitoring module +# All Rights Reserved to Whitestack, LLC + +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# For those usages not covered by the Apache License, Version 2.0 please +# contact: fbravo@whitestack.com or agarcia@whitestack.com +## + +def find_in_list(the_list, condition_lambda): + for item in the_list: + if condition_lambda(item): + return item + else: + return None