From c33cdc3359627245f605fbc1ab0084e03f30837c Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Fri, 20 Sep 2019 09:10:52 +0200 Subject: [PATCH] validate_descriptor.py: new option for validate charms Default behaviour is NOT to validate whether the charm is in the folder. The rationale is that this tool is intended to validate only the descriptor, not the package. Validating the package requires more aspects to be taken into account, not only the charm Moreover, in a CICD for a VNF vendor, charms can be created and tested independently from the descriptors and only be merged in the same folder in the last step. Change-Id: I33aa986493931df463fa8f9d2c6cda2e4be45cf9 Signed-off-by: garciadeblas --- descriptor-packages/tools/validate_descriptor.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/descriptor-packages/tools/validate_descriptor.py b/descriptor-packages/tools/validate_descriptor.py index 9fe751a6..3c6dd419 100755 --- a/descriptor-packages/tools/validate_descriptor.py +++ b/descriptor-packages/tools/validate_descriptor.py @@ -45,6 +45,7 @@ def usage(): print(" -v|--version: prints current version") print(" -h|--help: shows this help") print(" -i|--input FILE: (same as param FILE) descriptor file to be upgraded") + print(" -c|--charms: looks for the charms folder and validates its coherency with the descriptor") return @@ -102,6 +103,7 @@ if __name__ == "__main__": input_file_name = None test_file = None file_name = None + validate_charms = False try: # load parameters and configuration opts, args = getopt.getopt(sys.argv[1:], "hvi:o:", ["input=", "help", "version",]) @@ -115,6 +117,8 @@ if __name__ == "__main__": sys.exit() elif o in ("-i", "--input"): input_file_name = a + elif o in ("-c", "--charms"): + validate_charms = True else: assert False, "Unhandled option" if not input_file_name: @@ -162,14 +166,14 @@ if __name__ == "__main__": raise KeyError( "Wrong 'Virtual-interface type': Deprecated 'OM-MGMT' value. Please, use 'PARAVIRT' instead") # Mrityunjay yadav: Verify charm if included in vdu - if vdu.get("vdu-configuration", False): + if vdu.get("vdu-configuration", False) and validate_charms: validate_charm(vdu["vdu-configuration"], input_file_name) if vnfd.get("mgmt-interface"): mgmt_iface = True if vnfd["mgmt-interface"].get("vdu-id"): raise KeyError("'mgmt-iface': Deprecated 'vdu-id' field. Please, use 'cp' field instead") # Mrityunjay yadav: Verify charm if included in vnf - if vnfd.get("vnf-configuration", False): + if vnfd.get("vnf-configuration", False) and validate_charms: validate_charm(vnfd["vnf-configuration"], input_file_name) if not mgmt_iface: -- 2.25.1