Fix bug 2098 to heal VDU when no VDU is specified in the heal operation 14/12514/2
authorgarciadeblas <gerardo.garciadeblas@telefonica.com>
Thu, 1 Sep 2022 11:09:47 +0000 (13:09 +0200)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Mon, 5 Sep 2022 16:06:10 +0000 (18:06 +0200)
Change-Id: I1c6f618797f407da856400915d0825767069d6da
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
osm_lcm/ns.py

index 6cb46e1..8a99e91 100644 (file)
@@ -7565,7 +7565,17 @@ class NsLcm(LcmBase):
                     member_vnf_index = db_vnfr.get("member-vnf-index-ref")
 
                     # Check each target VDU and deploy N2VC
-                    for target_vdu in target_vnf["additionalParams"].get("vdu", None):
+                    target_vdu_list = target_vnf.get("additionalParams", {}).get("vdu", [])
+                    if not target_vdu_list:
+                        # Codigo nuevo para crear diccionario
+                        target_vdu_list = []
+                        for existing_vdu in db_vnfr.get("vdur"):
+                            vdu_name = existing_vdu.get("vdu-name", None)
+                            vdu_index = existing_vdu.get("count-index", 0)
+                            vdu_run_day1 = target_vnf.get("additionalParams", {}).get("run-day1", False)
+                            vdu_to_be_healed = {"vdu-id": vdu_name, "count-index": vdu_index, "run-day1": vdu_run_day1}
+                            target_vdu_list.append(vdu_to_be_healed)
+                    for target_vdu in target_vdu_list:
                         deploy_params_vdu = target_vdu
                         # Set run-day1 vnf level value if not vdu level value exists
                         if not deploy_params_vdu.get("run-day1") and target_vnf["additionalParams"].get("run-day1"):