Fix Bug 2012 use existing volumes as instantiation parameters

This fix parses the vdu instantiation parameters regarding with the persistent
volumes and than RO can process it.
Additionally corrected some Black and Flake8 errors.

Change-Id: If6fb41684555364914af52af334d70f794f133a2
Signed-off-by: aticig <gulsum.atici@canonical.com>
diff --git a/osm_lcm/data_utils/vnfr.py b/osm_lcm/data_utils/vnfr.py
index fe98102..fc64145 100644
--- a/osm_lcm/data_utils/vnfr.py
+++ b/osm_lcm/data_utils/vnfr.py
@@ -77,3 +77,30 @@
         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