{"_id": vnfd_id})
return vnfd
- def get_vnfd_by_id(self, vnfd_id: str):
- vnfd = self.common_db.get_one("vnfds",
- {"id": vnfd_id})
+ def get_vnfd_by_id(self, vnfd_id: str, filter: dict = {}):
+ filter["id"] = vnfd_id
+ vnfd = self.common_db.get_one("vnfds", filter)
return vnfd
def get_vnfd_by_name(self, vnfd_name: str):
--- /dev/null
+# -*- 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
+
+
+def create_filter_from_nsr(the_nsr):
+ p_filter = {}
+
+ if "projects_read" in the_nsr["_admin"]:
+ p_filter["_admin.projects_read.cont"] = the_nsr["_admin"]["projects_read"]
+ if "projects_write" in the_nsr["_admin"]:
+ p_filter["_admin.projects_write.cont"] = the_nsr["_admin"]["projects_write"]
+
+ return p_filter
from osm_mon.core.keystone import KeystoneConnection
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
+from osm_mon.core.utils import find_in_list, create_filter_from_nsr
log = logging.getLogger(__name__)
vnfds_profiles = nsr['nsd']["df"][0]['vnf-profile']
for vnf_profile in vnfds_profiles:
try:
- vnfd = self.common_db.get_vnfd_by_id(vnf_profile['vnfd-id'])
+ vnfd = self.common_db.get_vnfd_by_id(vnf_profile['vnfd-id'], create_filter_from_nsr(nsr))
# If there are metrics, create dashboard (if exists)
vdu_found = find_in_list(vnfd["vdu"], lambda a_vdu: "monitoring-parameter" in a_vdu)
if vdu_found:
+++ /dev/null
-# -*- 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