X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Fosm_ngsa%2Fosm_mon%2Fcore%2Fcommon_db.py;h=465bb0d7b89efe16f0391c16dc28b3af048b74e6;hb=9377117ccd1b86e62f1a3e8b63aee2880a5b9c55;hp=93254b117155dfdfc1edf3cc4424564f2cac5e09;hpb=3e73d29c76519f45f8a6efaf7133eb1c8c67c13f;p=osm%2FNG-SA.git diff --git a/src/osm_ngsa/osm_mon/core/common_db.py b/src/osm_ngsa/osm_mon/core/common_db.py index 93254b1..465bb0d 100644 --- a/src/osm_ngsa/osm_mon/core/common_db.py +++ b/src/osm_ngsa/osm_mon/core/common_db.py @@ -54,6 +54,14 @@ class CommonDbClient: nsr = self.common_db.get_one("nsrs", {"id": nsr_id}) return nsr + def get_vnfds(self): + return self.common_db.get_list("vnfds") + + def get_monitoring_vnfds(self): + return self.common_db.get_list( + "vnfds", {"vdu.monitoring-parameter": {"$exists": "true"}} + ) + def decrypt_vim_password(self, vim_password: str, schema_version: str, vim_id: str): return self.common_db.decrypt(vim_password, schema_version, vim_id) @@ -89,14 +97,25 @@ class CommonDbClient: ) return vim_account - def get_alert(self, nsr_id: str, vnf_member_index: str, vdu_name: str): + def get_alert( + self, + nsr_id: str, + vnf_member_index: str, + vdu_id: str, + vdu_name: str, + action_type: str, + ): + q_filter = {"action_type": action_type} + if nsr_id: + q_filter["tags.ns_id"] = nsr_id + if vnf_member_index: + q_filter["tags.vnf_member_index"] = vnf_member_index + if vdu_id: + q_filter["tags.vdu_id"] = vdu_id + if vdu_name: + q_filter["tags.vdu_name"] = vdu_name alert = self.common_db.get_one( - "alerts", - { - "tags.ns_id": nsr_id, - "tags.vnf_member_index": vnf_member_index, - "tags.vdu_name": vdu_name, - }, + table="alerts", q_filter=q_filter, fail_on_empty=False ) return alert @@ -108,3 +127,14 @@ class CommonDbClient: def create_nslcmop(self, nslcmop: dict): self.common_db.create("nslcmops", nslcmop) + + def get_nslcmop(self, nsr_id: str, operation_type: str, since: str): + q_filter = {} + if nsr_id: + q_filter["nsInstanceId"] = nsr_id + if operation_type: + q_filter["lcmOperationType"] = operation_type + if since: + q_filter["startTime"] = {"$gt": since} + ops = self.common_db.get_list(table="nslcmops", q_filter=q_filter) + return ops