X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_im%2Fim_translation.py;h=8abf942805ca71b202221eda96e10910adc034a5;hb=72ef227544b795ad947b81e690f7149fbd184c6e;hp=78a293100fdc9ee39e05c8bfc21c0af8201de25c;hpb=2eccea2a6533769f4c787c183437de65b0f46f69;p=osm%2FIM.git diff --git a/osm_im/im_translation.py b/osm_im/im_translation.py index 78a2931..8abf942 100644 --- a/osm_im/im_translation.py +++ b/osm_im/im_translation.py @@ -61,6 +61,7 @@ def translate_im_vnfd_to_sol006(im_vnfd): _add_im_kdus_to_sol006_vnfd(im_vnfd, sol006_vnfd) _add_im_k8s_clusters_to_sol006_vnfd(im_vnfd, sol006_vnfd) _add_im_placement_groups_to_sol006_vnfd(im_vnfd, sol006_vnfd) + _cleanup_juju_in_configurations(sol006_vnfd) return {"vnfd": sol006_vnfd} @@ -268,6 +269,8 @@ def _add_im_vdus_to_sol006_vnfd(im_vnfd, sol006_vnfd): vdu_descriptor["name"] = vdu["name"] if vdu.get("cloud-init-file"): vdu_descriptor["cloud-init-file"] = vdu["cloud-init-file"] + if vdu.get("cloud-init"): + vdu_descriptor["cloud-init"] = vdu["cloud-init"] if vdu.get("supplemental-boot-data"): vdu_descriptor["supplemental-boot-data"] = vdu["supplemental-boot-data"] if vdu.get("alarm"): @@ -417,6 +420,35 @@ def _prepare_dict_entries_for_configurations(sol006_vnfd): } } +def _cleanup_juju_in_configurations(sol006_vnfd): + configs = sol006_vnfd["df"][0].get("lcm-operations-configuration") + if configs: + for day12_config in configs["operate-vnf-op-config"]["day1-2"]: + if "juju" in day12_config: + ee_name = _create_execution_environment_for_juju(day12_config, day12_config["juju"]["charm"]) + for primitive in day12_config.get("config-primitive", []): + primitive["execution-environment-ref"] = ee_name + for primitive in day12_config.get("initial-config-primitive", []): + primitive["execution-environment-ref"] = ee_name + for primitive in day12_config.get("terminate-config-primitive", []): + primitive["execution-environment-ref"] = ee_name + day12_config.pop("juju", None) + +def _create_execution_environment_for_juju(day12_config, charm_name): + if not "execution-environment-list" in day12_config: + day12_config["execution-environment-list"] = [] + + day12_config["execution-environment-list"].append( + { + "id": charm_name + "-ee", + "juju": { + "charm": charm_name + } + } + ) + + return charm_name + "-ee" + def _add_im_vnf_configuration_to_sol006_vnfd(im_vnfd, sol006_vnfd): vnf_configuration = im_vnfd.get("vnf-configuration") if not vnf_configuration: