Bug 2042 fixed
[osm/LCM.git] / osm_lcm / data_utils / vnfr.py
index fe98102..653a7ed 100644 (file)
 # contact: fbravo@whitestack.com
 ##
 
-from osm_lcm.data_utils import list_utils
 from osm_lcm.lcm_utils import get_iterable
 
 
-def find_VNFR_by_VDU_ID(vnfr, vdu_id):
-    list_utils.find_in_list(vnfr, lambda vnfr: False)
-
-
 def get_osm_params(db_vnfr, vdu_id=None, vdu_count_index=0):
     osm_params = {
         x.replace("-", "_"): db_vnfr[x]
@@ -77,3 +72,30 @@ def get_kdur(db_vnfr, kdu_name):
         return next(x for x in kdur_list if x.get("kdu-name") == kdu_name)
     else:
         return None
+
+
+def get_volumes_from_instantiation_params(
+    vdu_instantiation_params: dict, vdud: dict
+) -> list:
+    """Get the VDU volumes from instantiation parameters
+
+    Args:
+        vdu_instantiation_params:   VDU instantiation parameters
+        vdud:   VDU description as a dictionary extracted from VNFD
+    Returns:
+        vdu_volume_list:(list)
+
+    """
+    vdu_volume_list = []
+    if vdu_instantiation_params.get("volume"):
+        for volume in vdu_instantiation_params["volume"]:
+            if volume.get("vim-volume-id") and volume.get("name") in vdud.get(
+                "virtual-storage-desc"
+            ):
+                vdu_volume = {
+                    "name": volume["name"],
+                    "vim-volume-id": volume["vim-volume-id"],
+                }
+                vdu_volume_list.append(vdu_volume)
+
+    return vdu_volume_list