Revert "Revert "Fixed bug 1476: VLD params (ip-profile) inside a NS not used"" 05/10705/1
authorbravof <fbravo@whitestack.com>
Fri, 23 Apr 2021 16:34:52 +0000 (12:34 -0400)
committerbravof <fbravo@whitestack.com>
Fri, 23 Apr 2021 16:35:28 +0000 (12:35 -0400)
This reverts commit 603f5f3284932cd6173e6ae00dffd833af7393e7.

Change-Id: Iff0f02c8cd340142281685a55c0c29f1b8d18a62
Signed-off-by: bravof <fbravo@whitestack.com>
osm_lcm/ns.py

index 7f73c19..3ba3645 100644 (file)
@@ -664,12 +664,25 @@ class NsLcm(LcmBase):
 
             # check at nsd descriptor, if there is an ip-profile
             vld_params = {}
-            virtual_link_profiles = get_virtual_link_profiles(nsd)
+            nsd_vlp = find_in_list(
+                get_virtual_link_profiles(nsd),
+                lambda a_link_profile: a_link_profile["virtual-link-desc-id"] == vld["id"])
+            if nsd_vlp and nsd_vlp.get("virtual-link-protocol-data") and \
+                    nsd_vlp["virtual-link-protocol-data"].get("l3-protocol-data"):
+                ip_profile_source_data = nsd_vlp["virtual-link-protocol-data"]["l3-protocol-data"]
+                ip_profile_dest_data = {}
+                if "ip-version" in ip_profile_source_data:
+                    ip_profile_dest_data["ip-version"] = ip_profile_source_data["ip-version"]
+                if "cidr" in ip_profile_source_data:
+                    ip_profile_dest_data["subnet-address"] = ip_profile_source_data["cidr"]
+                if "gateway-ip" in ip_profile_source_data:
+                    ip_profile_dest_data["gateway-address"] = ip_profile_source_data["gateway-ip"]
+                if "dhcp-enabled" in ip_profile_source_data:
+                    ip_profile_dest_data["dhcp-params"] = {
+                        "enabled": ip_profile_source_data["dhcp-enabled"]
+                    }
+                vld_params["ip-profile"] = ip_profile_dest_data
 
-            for vlp in virtual_link_profiles:
-                ip_profile = find_in_list(nsd["ip-profiles"],
-                                          lambda profile: profile["name"] == vlp["ip-profile-ref"])
-                vld_params["ip-profile"] = ip_profile["ip-profile-params"]
             # update vld_params with instantiation params
             vld_instantiation_params = find_in_list(get_iterable(ns_params, "vld"),
                                                     lambda a_vld: a_vld["name"] in (vld["name"], vld["id"]))