SOL006 patch for POL
[osm/POL.git] / osm_policy_module / common / common_db_client.py
index 5731155..9ec183a 100644 (file)
@@ -37,14 +37,16 @@ class CommonDbClient:
             raise Exception("Unknown database driver {}".format(config.get('section', 'driver')))
         self.common_db.db_connect(config.get("database"))
 
-    def get_vnfr(self, nsr_id: str, member_index: int):
+    def get_vnfr(self, nsr_id: str, member_index: str):
         vnfr = self.common_db.get_one("vnfrs",
-                                      {"nsr-id-ref": nsr_id, "member-vnf-index-ref": str(member_index)})
+                                      {"nsr-id-ref": nsr_id, "member-vnf-index-ref": member_index})
         return vnfr
 
     def get_vnfrs(self, nsr_id: str):
-        return [self.get_vnfr(nsr_id, member['member-vnf-index']) for member in
-                self.get_nsr(nsr_id)['nsd']['constituent-vnfd']]
+        # TODO: Change for multiple DF support
+        nsr_nsd_df = self.get_nsr(nsr_id)['nsd'].get('df', [{}])[0]
+        all_nsd_member_vnf_index = [vnf.get('id') for vnf in nsr_nsd_df.get('vnf-profile', [])]
+        return [self.get_vnfr(nsr_id, member_index) for member_index in all_nsd_member_vnf_index]
 
     def get_vnfd(self, vnfd_id: str):
         vnfr = self.common_db.get_one("vnfds",