X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fcore%2Fcommon_db.py;h=12c15dc98fcb62e204c01a1c3083f12930c7e388;hb=refs%2Fheads%2Ffeature7106;hp=59222903a09b24ed2fade2069ac3801ca4d8035f;hpb=5ac7c081ca13495185ecf6bdf302c16c25a4b759;p=osm%2FMON.git diff --git a/osm_mon/core/common_db.py b/osm_mon/core/common_db.py index 5922290..12c15dc 100644 --- a/osm_mon/core/common_db.py +++ b/osm_mon/core/common_db.py @@ -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})