X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_lcm%2Fdata_utils%2Fvnfd.py;h=954a84c0ef645c8ad7aaf55fed296893ce8d7efe;hb=8f6b0e74d6a2595ec8d7176e31ac729afd54f75b;hp=f8c11cad88a4a04e43692b0fbf8a593f91088855;hpb=78b6e6df5f70557276fa4814327c9237520f9ec2;p=osm%2FLCM.git diff --git a/osm_lcm/data_utils/vnfd.py b/osm_lcm/data_utils/vnfd.py index f8c11ca..954a84c 100644 --- a/osm_lcm/data_utils/vnfd.py +++ b/osm_lcm/data_utils/vnfd.py @@ -25,10 +25,6 @@ from osm_lcm.data_utils import list_utils -def get_lcm_operations_configuration(vnfd): - return vnfd.get("df", ())[0].get("lcm-operations-configuration", ()) - - def get_vdu_list(vnfd): return vnfd.get("vdu", ()) @@ -169,3 +165,37 @@ def get_juju_ee_ref(vnfd, entity_id): get_configuration(vnfd, entity_id).get("execution-environment-list", []), lambda ee: "juju" in ee, ) + + +def find_software_version(vnfd: dict) -> str: + """Find the sotware version in the VNFD descriptors + + Args: + vnfd (dict): Descriptor as a dictionary + + Returns: + software-version (str) + """ + + default_sw_version = "1.0" + + if vnfd.get("vnfd"): + vnfd = vnfd["vnfd"] + + if vnfd.get("software-version"): + return vnfd["software-version"] + + else: + return default_sw_version + + +def check_helm_ee_in_ns(db_vnfds: list) -> bool: + for vnfd in db_vnfds: + descriptor_config = get_configuration(vnfd, vnfd["id"]) + if not ( + descriptor_config and "execution-environment-list" in descriptor_config + ): + continue + ee_list = descriptor_config.get("execution-environment-list", []) + if list_utils.find_in_list(ee_list, lambda ee_item: "helm-chart" in ee_item): + return True