From: garciadeblas Date: Tue, 27 Nov 2018 10:55:35 +0000 (+0100) Subject: Merge "Added ns-scale-vdu command for VDU scaling" X-Git-Tag: v5.0.0~14 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=e84376b0a90115f6c7ed342f92f1e6e414e9faee;p=osm%2Fosmclient.git Merge "Added ns-scale-vdu command for VDU scaling" --- e84376b0a90115f6c7ed342f92f1e6e414e9faee diff --cc osmclient/scripts/osm.py index d1cd349,601d428..1fe8c36 --- a/osmclient/scripts/osm.py +++ b/osmclient/scripts/osm.py @@@ -1567,12 -1462,45 +1567,52 @@@ def ns_action(ctx exit(1) + @cli.command(name='ns-scale-vdu') + @click.argument('ns_name' ) + @click.option('--vnf-name', prompt=True, help="member-vnf-index to scale") + @click.option('--scaling-group', prompt=True, help="scaling-group-descriptor name to use") + @click.option('--scale-in', default=False, is_flag=True, help="performs a scale in operation") + @click.option('--scale-out', default=False, is_flag=True, help="performs a scale out operation (by default)") + @click.pass_context + def ns_scale_vdu(ctx, + ns_name, + vnf_name, + scaling_group, + scale_in, + scale_out): + """executes a VNF VDU scale over a NS instance + + NS_NAME: name or ID of the NS instance + """ + try: + check_client_version(ctx.obj, ctx.command.name) + op_data={} + if not scale_in and not scale_out: + scale_out = True + # print("You must provide scale type with option '--vnf-scale-in' or '--vnf-scale-out'") + # exit(1) + op_data["scaleType"] = "SCALE_VNF" + op_data["scaleVnfData"] = {} + if scale_in: + op_data["scaleVnfData"]["scaleVnfType"] = "SCALE_IN" + else: + op_data["scaleVnfData"]["scaleVnfType"] = "SCALE_OUT" + op_data["scaleVnfData"]["scaleByStepData"] = { + "member-vnf-index": vnf_name, + "scaling-group-descriptor": scaling_group, + } + ctx.obj.ns.exec_op(ns_name, op_name='scale', op_data=op_data) + except ClientException as inst: + print((inst.message)) + exit(1) + + if __name__ == '__main__': - cli() + try: + cli() + except pycurl.error as e: + print(e) + print('Maybe "--hostname" option or OSM_HOSTNAME' + + 'environment variable needs to be specified') + exit(1) +