]
else:
descriptors_paths = [f for f in glob.glob(package_folder + "/*.yaml")]
- for file in descriptors_paths:
- if file.endswith("nfd.yaml"):
- descriptor_file = True
- charms_set = self.charms_search(file, "vnf")
- if file.endswith("nsd.yaml"):
- descriptor_file = True
- charms_set = self.charms_search(file, "ns")
+ if len(descriptors_paths) == 1:
+ # The base folder usually has a single yaml file with the descriptor
+ descriptor_file = True
+ pkg_type = utils.get_key_val_from_descriptor(descriptors_paths[0])
+ if pkg_type is None:
+ raise ClientException("Cannot determine package type")
+ if pkg_type["type"] == "nsd":
+ charms_set = self.charms_search(descriptors_paths[0], "ns")
+ else:
+ charms_set = self.charms_search(descriptors_paths[0], "vnf")
+ elif len(descriptors_paths) > 1:
+ for file in descriptors_paths:
+ if file.endswith("nfd.yaml"):
+ descriptor_file = True
+ charms_set = self.charms_search(file, "vnf")
+ if file.endswith("nsd.yaml"):
+ descriptor_file = True
+ charms_set = self.charms_search(file, "ns")
+ else:
+ raise ClientException(
+ "Package folder does not contain valid descriptor files '*.yaml'"
+ )
print("List of charms in the descriptor: {}".format(charms_set))
if not descriptor_file:
raise ClientException(