X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osmclient%2Fscripts%2Fosm.py;h=d9136f3dd41ccdcbc7abcebc235f0c08b9a312dd;hb=c391f296f052a1a924f12d76fc6b2f5ba61e28bf;hp=3af70c696c1ec1cdf4077296e5b106ccc8a9fbff;hpb=0b06bc49e967dc2128f9db077d23250907009b13;p=osm%2Fosmclient.git diff --git a/osmclient/scripts/osm.py b/osmclient/scripts/osm.py index 3af70c6..d9136f3 100755 --- a/osmclient/scripts/osm.py +++ b/osmclient/scripts/osm.py @@ -4224,7 +4224,7 @@ def role_show(ctx, name): @cli_osm.command(name='package-create', - short_help='Create a package descriptor') + short_help='Create empty NS package structure') @click.argument('package-type') @click.argument('package-name') @click.option('--base-directory', @@ -4290,6 +4290,7 @@ def package_create(ctx, """ # try: + logger.debug("") check_client_version(ctx.obj, ctx.command.name) print("Creating the {} structure: {}/{}".format(package_type.upper(), base_directory, package_name)) resp = ctx.obj.package_tool.create(package_type, @@ -4312,7 +4313,7 @@ def package_create(ctx, # exit(1) @cli_osm.command(name='package-validate', - short_help='Validate a package descriptor') + short_help='Validate descriptors given a base directory') @click.argument('base-directory', default=".", required=False) @@ -4333,9 +4334,10 @@ def package_validate(ctx, Validate descriptors given a base directory. \b - BASE_DIRECTORY: Stub folder for NS, VNF or NST package. + BASE_DIRECTORY: Base folder for NS, VNF or NST package. """ # try: + logger.debug("") check_client_version(ctx.obj, ctx.command.name) results = ctx.obj.package_tool.validate(base_directory, recursive, old) table = PrettyTable() @@ -4352,6 +4354,47 @@ def package_validate(ctx, # print("ERROR: {}".format(inst)) # exit(1) +@cli_osm.command(name='package-translate', + short_help='Translate descriptors given a base directory') +@click.argument('base-directory', + default=".", + required=False) +@click.option('--recursive/--no-recursive', + default=True, + help='The activated recursive option will translate the yaml files' + ' within the indicated directory and in its subdirectories') +@click.option('--dryrun', + is_flag=True, + default=False, + help='Do not translate yet, only make a dry-run to test translation') +@click.pass_context +def package_translate(ctx, + base_directory, + recursive, + dryrun): + """ + Translate descriptors given a base directory. + + \b + BASE_DIRECTORY: Stub folder for NS, VNF or NST package. + """ + logger.debug("") + check_client_version(ctx.obj, ctx.command.name) + results = ctx.obj.package_tool.translate(base_directory, recursive, dryrun) + table = PrettyTable() + table.field_names = ["CURRENT TYPE", "NEW TYPE", "PATH", "VALID", "TRANSLATED", "ERROR"] + # Print the dictionary generated by the validation function + for result in results: + table.add_row([result["current type"], result["new type"], result["path"], result["valid"], result["translated"], result["error"]]) + table.sortby = "TRANSLATED" + table.align["PATH"] = "l" + table.align["TYPE"] = "l" + table.align["ERROR"] = "l" + print(table) + # except ClientException as inst: + # print("ERROR: {}".format(inst)) + # exit(1) + @cli_osm.command(name='package-build', short_help='Build the tar.gz of the package') @click.argument('package-folder') @@ -4373,6 +4416,7 @@ def package_build(ctx, PACKAGE_FOLDER: Folder of the NS, VNF or NST to be packaged """ # try: + logger.debug("") check_client_version(ctx.obj, ctx.command.name) results = ctx.obj.package_tool.build(package_folder, skip_validation=skip_validation, @@ -4382,6 +4426,24 @@ def package_build(ctx, # print("ERROR: {}".format(inst)) # exit(1) +@cli_osm.command(name='descriptor-translate', + short_help='Translate input descriptor file from Rel EIGHT OSM descriptors to SOL006 and prints in standard output') +@click.argument('descriptor-file', + required=True) +@click.pass_context +def descriptor_translate(ctx, + descriptor_file): + """ + Translate input descriptor. + + \b + DESCRIPTOR_FILE: Descriptor file for NS, VNF or Network Slice. + """ + logger.debug("") + check_client_version(ctx.obj, ctx.command.name) + result = ctx.obj.package_tool.descriptor_translate(descriptor_file) + print(result) + def cli(): try: