self._validator = validation_im()
def create(self, package_type, base_directory, package_name, override, image, vdus, vcpu, memory, storage,
- interfaces, vendor, detailed, netslice_subnets, netslice_vlds):
+ interfaces, vendor, detailed, netslice_subnets, netslice_vlds, old):
"""
**Create a package descriptor**
- detailed: include all possible values for NSD, VNFD, NST
- netslice_subnets: number of netslice_subnets for the NST
- netslice_vlds: number of virtual link descriptors for the NST
+ - old: flag to create a package using the IM of OSM<9
:return: status
"""
file_loader = PackageLoader("osmclient")
env = Environment(loader=file_loader)
if package_type == 'ns':
- template = env.get_template('nsd.yaml.j2')
+ template = env.get_template("nsd.yaml.j2" if not old else "nsd_old.yaml.j2")
content = {"name": package_name, "vendor": vendor, "vdus": vdus, "clean": False, "interfaces": interfaces,
"detailed": detailed}
elif package_type == 'vnf':
- template = env.get_template('vnfd.yaml.j2')
+ template = env.get_template("vnfd.yaml.j2" if not old else "vnfd_old.yaml.j2")
content = {"name": package_name, "vendor": vendor, "vdus": vdus, "clean": False, "interfaces": interfaces,
"image": image, "vcpu": vcpu, "memory": memory, "storage": storage, "detailed": detailed}
elif package_type == 'nst':
charms_list = []
for k1, v1 in sol006_dict.items():
for k2, v2 in v1.items():
- if 'vnf-configuration' in k2:
- for vnf_config in v2:
- for k3, v3 in vnf_config.items():
- if 'charm' in v3:
- charms_list.append((v3['charm']))
- if 'vdu-configuration' in k2:
- for vdu_config in v2:
- for k3, v3 in vdu_config.items():
- if 'charm' in v3:
- charms_list.append((v3['charm']))
+ if k2 == "df":
+ for df in v2:
+ lcm_ops = df.get("lcm-operations-configuration", {})
+ ops_config = lcm_ops.get("operate-vnf-op-config", {})
+ for day_12_config in ops_config.get("day1-2", []):
+ self._logger.debug("Execution environment found")
+ for ee in day_12_config.get("execution-environment-list", []):
+ if "juju" in ee:
+ charms_list.append((ee["juju"]['charm']))
return charms_list
def _charms_search_on_nsd_sol006_dict(self, sol006_dict):