Feature 11047: Vim Flavor Name as Ns Config Template - RO

Change-Id: I988255eb3045a5d40118995b56a9afdedb16bc93
Signed-off-by: kayal2001 <kayalvizhi.v@tataelxsi.co.in>
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/NG-RO/osm_ng_ro/ns_thread.py b/NG-RO/osm_ng_ro/ns_thread.py
index 4937964..3ef6dda 100644
--- a/NG-RO/osm_ng_ro/ns_thread.py
+++ b/NG-RO/osm_ng_ro/ns_thread.py
@@ -1270,6 +1270,31 @@
                                     }
                                     each_flavor.update(flavor_dict)
                 self.db.set_one("nsrs", {"_id": task["nsr_id"]}, db_nsr)
+            elif task.get("find_params", {}).get("vim_flavor_name"):
+                db_nsr = self.db.get_one("nsrs", {"_id": task["nsr_id"]})
+                for vnfr_id in db_nsr.get("constituent-vnfr-ref"):
+                    db_vnfr = self.db.get_one("vnfrs", {"_id": vnfr_id})
+                    for each_flavor in db_nsr["flavor"]:
+                        nsd_flavor_id = each_flavor["id"]
+                        for vdur in db_vnfr["vdur"]:
+                            if vdur.get("ns-flavor-id") == nsd_flavor_id:
+                                if vdur["additionalParams"]["OSM"].get(
+                                    "vim_flavor_name"
+                                ):
+                                    flavor_name = vdur["additionalParams"]["OSM"][
+                                        "vim_flavor_name"
+                                    ]
+                                    flavor_details = target_vim.get_flavor(
+                                        flavor_name=flavor_name
+                                    )
+                                    flavor_dict = {
+                                        "memory-mb": flavor_details["ram"],
+                                        "storage-gb": flavor_details["disk"],
+                                        "vcpu-count": flavor_details["vcpus"],
+                                    }
+                                    each_flavor.update(flavor_dict)
+                vim_flavor_id = flavor_details.get("id")
+                self.db.set_one("nsrs", {"_id": task["nsr_id"]}, db_nsr)
             elif task.get("find_params", {}).get("flavor_data"):
                 try:
                     flavor_data = task["find_params"]["flavor_data"]