From: gomezchavez Date: Fri, 11 Nov 2022 13:19:46 +0000 (+0100) Subject: Bug 2189 fixing osm package-build command X-Git-Tag: release-v13.0-start~2 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=refs%2Fchanges%2F82%2F12682%2F3;p=osm%2Fosmclient.git Bug 2189 fixing osm package-build command Change-Id: I91020fb6d0f1b858f438ec0e8994793c770fe507 Signed-off-by: gomezchavez --- diff --git a/osmclient/common/package_tool.py b/osmclient/common/package_tool.py index a2cbd87..2531f7a 100644 --- a/osmclient/common/package_tool.py +++ b/osmclient/common/package_tool.py @@ -519,13 +519,28 @@ class PackageTool(object): ] 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(