X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fdescriptor_topics.py;h=0ad3e833291e6c8e9376746ccdf38be908271553;hp=7ea06c5c67dc55e0105315dcac93955a5e7d0c43;hb=2325828219f5009508f34b34a43dfcdf58d0aa0b;hpb=28c13b65cd51c330da88e726a5301d9a60d113de diff --git a/osm_nbi/descriptor_topics.py b/osm_nbi/descriptor_topics.py index 7ea06c5..0ad3e83 100644 --- a/osm_nbi/descriptor_topics.py +++ b/osm_nbi/descriptor_topics.py @@ -625,11 +625,16 @@ class VnfdTopic(DescriptorTopic): for df in indata["df"]: if "lcm-operations-configuration" in df and "operate-vnf-op-config" in df["lcm-operations-configuration"]: configs = df["lcm-operations-configuration"]["operate-vnf-op-config"].get("day1-2", []) - for config in configs: - if config.get("juju"): - if not self._validate_package_folders(storage_params, 'charms'): - raise EngineException("Charm defined in vnf[id={}] but not present in " - "package".format(indata["id"])) + vdus = df["vdu-profile"] + for vdu in vdus: + for config in configs: + if config["id"] == vdu["id"] and utils.find_in_list( + config.get("execution-environment-list", []), + lambda ee: "juju" in ee + ): + if not self._validate_package_folders(storage_params, 'charms'): + raise EngineException("Charm defined in vnf[id={}] but not present in " + "package".format(indata["id"])) def _validate_vdu_cloud_init_in_package(self, storage_params, vdu, indata): if not vdu.get("cloud-init-file"): @@ -647,8 +652,10 @@ class VnfdTopic(DescriptorTopic): return for day_1_2_config in deployment_flavor["lcm-operations-configuration"]["operate-vnf-op-config"]["day1-2"]: if day_1_2_config["id"] == indata["id"]: - vnf_configuration = day_1_2_config - if vnf_configuration.get("juju"): + if utils.find_in_list( + day_1_2_config.get("execution-environment-list", []), + lambda ee: "juju" in ee + ): if not self._validate_package_folders(storage_params, 'charms'): raise EngineException("Charm defined in vnf[id={}] but not present in " "package".format(indata["id"]))