Adds support for multiple alarm statuses
[osm/MON.git] / osm_mon / core / common_db.py
index 5922290..12c15dc 100644 (file)
@@ -41,12 +41,18 @@ class CommonDbClient:
                                       {"nsr-id-ref": nsr_id, "member-vnf-index-ref": str(member_index)})
         return vnfr
 
-    def get_vnfrs(self, nsr_id: str = None):
+    def get_vnfrs(self, nsr_id: str = None, vim_account_id: str = None):
+        if nsr_id and vim_account_id:
+            raise NotImplementedError("Only one filter is currently supported")
         if nsr_id:
-            return [self.get_vnfr(nsr_id, member['member-vnf-index']) for member in
-                    self.get_nsr(nsr_id)['nsd']['constituent-vnfd']]
+            vnfrs = [self.get_vnfr(nsr_id, member['member-vnf-index']) for member in
+                     self.get_nsr(nsr_id)['nsd']['constituent-vnfd']]
+        elif vim_account_id:
+            vnfrs = self.common_db.get_list("vnfrs",
+                                            {"vim-account-id": vim_account_id})
         else:
-            return self.common_db.get_list('vnfrs')
+            vnfrs = self.common_db.get_list('vnfrs')
+        return vnfrs
 
     def get_vnfd(self, vnfd_id: str):
         vnfr = self.common_db.get_one("vnfds",
@@ -68,15 +74,24 @@ class CommonDbClient:
         for vdur in vnfr['vdur']:
             if vdur['name'] == vdur_name:
                 return vdur
-        raise ValueError('vdur not found for nsr-id %s, member_index %s and vdur_name %s', nsr_id, member_index,
-                         vdur_name)
+        raise ValueError('vdur not found for nsr-id {}, member_index {} and vdur_name {}'.format(nsr_id, member_index,
+                         vdur_name))
 
     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)
 
+    def decrypt_sdnc_password(self, sdnc_password: str, schema_version: str, sdnc_id: str):
+        return self.common_db.decrypt(sdnc_password, schema_version, sdnc_id)
+
     def get_vim_account_id(self, nsr_id: str, vnf_member_index: int) -> str:
         vnfr = self.get_vnfr(nsr_id, vnf_member_index)
         return vnfr['vim-account-id']
 
     def get_vim_accounts(self):
         return self.common_db.get_list('vim_accounts')
+
+    def get_sdncs(self):
+        return self.common_db.get_list('sdns')
+
+    def get_sdnc(self, sdnc_id: str):
+        return self.common_db.get_one('sdns', {'_id': sdnc_id})