# check at nsd descriptor, if there is an ip-profile
vld_params = {}
- 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
+ virtual_link_profiles = get_virtual_link_profiles(nsd)
+ 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"]))