X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_lcm%2Fdata_utils%2Fvnfr.py;h=653a7eda01e866a104d3d44b26d4c108e444e952;hb=HEAD;hp=7e4d16404b2dc3387954c7f5cc081ff2faf72e03;hpb=5697b8b03a3acd17827ce536cb8aff15df8776ad;p=osm%2FLCM.git diff --git a/osm_lcm/data_utils/vnfr.py b/osm_lcm/data_utils/vnfr.py index 7e4d164..653a7ed 100644 --- a/osm_lcm/data_utils/vnfr.py +++ b/osm_lcm/data_utils/vnfr.py @@ -22,14 +22,9 @@ # contact: fbravo@whitestack.com ## -from osm_lcm.data_utils import list_utils from osm_lcm.lcm_utils import get_iterable -def find_VNFR_by_VDU_ID(vnfr, vdu_id): - list_utils.find_in_list(vnfr, lambda vnfr: False) - - def get_osm_params(db_vnfr, vdu_id=None, vdu_count_index=0): osm_params = { x.replace("-", "_"): db_vnfr[x] @@ -69,3 +64,38 @@ def get_vdur_index(db_vnfr, vdu_delta): return len([x for x in vdur_list if x.get("vdu-id-ref") == vdu_delta["id"]]) else: return 0 + + +def get_kdur(db_vnfr, kdu_name): + kdur_list = get_iterable(db_vnfr, "kdur") + if kdur_list: + 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