X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osmclient%2Fscripts%2Fosm.py;h=99cbd478c25d2e1afc39881ea51b673b7f427e39;hb=refs%2Fchanges%2F78%2F8478%2F3;hp=4cc451bd064b9f63f655e478442319593edf1e84;hpb=c077d238ed02fabea9e57cd3a8025cc86b146e44;p=osm%2Fosmclient.git diff --git a/osmclient/scripts/osm.py b/osmclient/scripts/osm.py index 4cc451b..99cbd47 100755 --- a/osmclient/scripts/osm.py +++ b/osmclient/scripts/osm.py @@ -29,8 +29,13 @@ import pycurl import os import textwrap import pkg_resources +import logging +# Global variables + +CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'], max_content_width=160) + def wrap_text(text, width): wrapper = textwrap.TextWrapper(width=width) lines = text.splitlines() @@ -53,6 +58,7 @@ def check_client_version(obj, what, version='sol005'): :return: - :raises ClientError: if the specified version does not match the client version """ + logger.debug("") fullclassname = obj.__module__ + "." + obj.__class__.__name__ message = 'The following commands or options are only supported with the option "--sol005": {}'.format(what) if version == 'v1': @@ -62,9 +68,7 @@ def check_client_version(obj, what, version='sol005'): return -CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'], max_content_width=160) - -@click.group(context_settings=CONTEXT_SETTINGS) +@click.group(context_settings=dict(help_option_names=['-h', '--help'], max_content_width=160)) @click.option('--hostname', default="127.0.0.1", envvar='OSM_HOSTNAME', @@ -90,6 +94,8 @@ CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'], max_content_width=16 envvar='OSM_PROJECT', help='project (defaults to admin). ' + 'Also can set OSM_PROJECT in environment') +@click.option('-v', '--verbose', count=True, + help='increase verbosity (-v INFO, -vv VERBOSE, -vvv DEBUG)') #@click.option('--so-port', # default=None, # envvar='OSM_SO_PORT', @@ -111,13 +117,14 @@ CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'], max_content_width=16 # help='hostname of RO server. ' + # 'Also can set OSM_RO_PORT in environment') @click.pass_context -def cli_osm(ctx, hostname, user, password, project): +def cli_osm(ctx, hostname, user, password, project, verbose): + global logger if hostname is None: print(( "either hostname option or OSM_HOSTNAME " + "environment variable needs to be specified")) exit(1) - kwargs={} + kwargs = {'verbose': verbose} # if so_port is not None: # kwargs['so_port']=so_port # if so_project is not None: @@ -134,6 +141,7 @@ def cli_osm(ctx, hostname, user, password, project): if project is not None: kwargs['project']=project ctx.obj = client.Client(host=hostname, sol005=sol005, **kwargs) + logger = logging.getLogger('osmclient') #################### @@ -192,6 +200,7 @@ def ns_list(ctx, filter): --filter nsd.vendor=&nsd-ref= --filter nsd.constituent-vnfd.vnfd-id-ref= """ + logger.debug("") if filter: check_client_version(ctx.obj, '--filter') resp = ctx.obj.ns.list(filter) @@ -232,6 +241,7 @@ def ns_list(ctx, filter): def nsd_list(ctx, filter): + logger.debug("") if filter: check_client_version(ctx.obj, '--filter') resp = ctx.obj.nsd.list(filter) @@ -257,6 +267,7 @@ def nsd_list(ctx, filter): @click.pass_context def nsd_list1(ctx, filter): """list all NSD/NS pkg in the system""" + logger.debug("") nsd_list(ctx, filter) @@ -266,10 +277,12 @@ def nsd_list1(ctx, filter): @click.pass_context def nsd_list2(ctx, filter): """list all NS packages""" + logger.debug("") nsd_list(ctx, filter) def vnfd_list(ctx, nf_type, filter): + logger.debug("") if nf_type: check_client_version(ctx.obj, '--nf_type') elif filter: @@ -312,6 +325,7 @@ def vnfd_list(ctx, nf_type, filter): @click.pass_context def vnfd_list1(ctx, nf_type, filter): """list all xNF packages (VNF, HNF, PNF)""" + logger.debug("") vnfd_list(ctx, nf_type, filter) @@ -322,6 +336,7 @@ def vnfd_list1(ctx, nf_type, filter): @click.pass_context def vnfd_list2(ctx, nf_type, filter): """list all xNF packages (VNF, HNF, PNF)""" + logger.debug("") vnfd_list(ctx, nf_type, filter) @@ -332,6 +347,7 @@ def vnfd_list2(ctx, nf_type, filter): @click.pass_context def nfpkg_list(ctx, nf_type, filter): """list all xNF packages (VNF, HNF, PNF)""" + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) vnfd_list(ctx, nf_type, filter) @@ -399,6 +415,7 @@ def vnf_list(ctx, ns, filter): @click.pass_context def vnf_list1(ctx, ns, filter): """list all NF instances""" + logger.debug("") vnf_list(ctx, ns, filter) @@ -455,6 +472,7 @@ def nf_list(ctx, ns, filter): --filter vdur.ip-address= --filter vnfd-ref=,vdur.ip-address= """ + logger.debug("") vnf_list(ctx, ns, filter) @@ -466,6 +484,7 @@ def ns_op_list(ctx, name): NAME: name or ID of the NS instance """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.ns.list_op(name) @@ -487,6 +506,7 @@ def ns_op_list(ctx, name): def nsi_list(ctx, filter): """list all Network Slice Instances""" + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.nsi.list(filter) @@ -523,6 +543,7 @@ def nsi_list(ctx, filter): @click.pass_context def nsi_list1(ctx, filter): """list all Network Slice Instances (NSI)""" + logger.debug("") nsi_list(ctx, filter) @@ -532,10 +553,12 @@ def nsi_list1(ctx, filter): @click.pass_context def nsi_list2(ctx, filter): """list all Network Slice Instances (NSI)""" + logger.debug("") nsi_list(ctx, filter) def nst_list(ctx, filter): + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.nst.list(filter) @@ -557,6 +580,7 @@ def nst_list(ctx, filter): @click.pass_context def nst_list1(ctx, filter): """list all Network Slice Templates (NST) in the system""" + logger.debug("") nst_list(ctx, filter) @@ -566,10 +590,12 @@ def nst_list1(ctx, filter): @click.pass_context def nst_list2(ctx, filter): """list all Network Slice Templates (NST) in the system""" + logger.debug("") nst_list(ctx, filter) def nsi_op_list(ctx, name): + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.nsi.list_op(name) @@ -592,6 +618,7 @@ def nsi_op_list1(ctx, name): NAME: name or ID of the Network Slice Instance """ + logger.debug("") nsi_op_list(ctx, name) @@ -603,6 +630,7 @@ def nsi_op_list2(ctx, name): NAME: name or ID of the Network Slice Instance """ + logger.debug("") nsi_op_list(ctx, name) @@ -612,6 +640,7 @@ def nsi_op_list2(ctx, name): @click.pass_context def pdu_list(ctx, filter): """list all Physical Deployment Units (PDU)""" + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.pdu.list(filter) @@ -646,6 +675,7 @@ def pdu_list(ctx, filter): #################### def nsd_show(ctx, name, literal): + logger.debug("") # try: resp = ctx.obj.nsd.get(name) # resp = ctx.obj.nsd.get_individual(name) @@ -674,6 +704,7 @@ def nsd_show1(ctx, name, literal): NAME: name or ID of the NSD/NSpkg """ + logger.debug("") nsd_show(ctx, name, literal) @@ -687,10 +718,12 @@ def nsd_show2(ctx, name, literal): NAME: name or ID of the NSD/NSpkg """ + logger.debug("") nsd_show(ctx, name, literal) def vnfd_show(ctx, name, literal): + logger.debug("") # try: resp = ctx.obj.vnfd.get(name) # resp = ctx.obj.vnfd.get_individual(name) @@ -719,6 +752,7 @@ def vnfd_show1(ctx, name, literal): NAME: name or ID of the VNFD/VNFpkg """ + logger.debug("") vnfd_show(ctx, name, literal) @@ -732,6 +766,7 @@ def vnfd_show2(ctx, name, literal): NAME: name or ID of the VNFD/VNFpkg """ + logger.debug("") vnfd_show(ctx, name, literal) @@ -745,6 +780,7 @@ def nfpkg_show(ctx, name, literal): NAME: name or ID of the NFpkg """ + logger.debug("") vnfd_show(ctx, name, literal) @@ -759,6 +795,7 @@ def ns_show(ctx, name, literal, filter): NAME: name or ID of the NS instance """ + logger.debug("") # try: ns = ctx.obj.ns.get(name) # except ClientException as e: @@ -798,6 +835,7 @@ def vnf_show(ctx, name, literal, filter, kdu): NAME: name or ID of the VNF instance """ + logger.debug("") if kdu: if literal: raise ClientException('"--literal" option is incompatible with "--kdu" option') @@ -899,6 +937,7 @@ def ns_op_show(ctx, id, filter, literal): ID: operation identifier """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) op_info = ctx.obj.ns.get_op(id) @@ -919,6 +958,7 @@ def ns_op_show(ctx, id, filter, literal): def nst_show(ctx, name, literal): + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.nst.get(name) @@ -948,6 +988,7 @@ def nst_show1(ctx, name, literal): NAME: name or ID of the NST """ + logger.debug("") nst_show(ctx, name, literal) @@ -961,10 +1002,12 @@ def nst_show2(ctx, name, literal): NAME: name or ID of the NST """ + logger.debug("") nst_show(ctx, name, literal) def nsi_show(ctx, name, literal, filter): + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) nsi = ctx.obj.nsi.get(name) @@ -997,6 +1040,7 @@ def nsi_show1(ctx, name, literal, filter): NAME: name or ID of the Network Slice Instance """ + logger.debug("") nsi_show(ctx, name, literal, filter) @@ -1011,10 +1055,12 @@ def nsi_show2(ctx, name, literal, filter): NAME: name or ID of the Network Slice Instance """ + logger.debug("") nsi_show(ctx, name, literal, filter) def nsi_op_show(ctx, id, filter): + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) op_info = ctx.obj.nsi.get_op(id) @@ -1039,6 +1085,7 @@ def nsi_op_show1(ctx, id, filter): ID: operation identifier """ + logger.debug("") nsi_op_show(ctx, id, filter) @@ -1051,6 +1098,7 @@ def nsi_op_show2(ctx, id, filter): ID: operation identifier """ + logger.debug("") nsi_op_show(ctx, id, filter) @@ -1065,6 +1113,7 @@ def pdu_show(ctx, name, literal, filter): NAME: name or ID of the PDU """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) pdu = ctx.obj.pdu.get(name) @@ -1091,6 +1140,7 @@ def pdu_show(ctx, name, literal, filter): #################### def nsd_create(ctx, filename, overwrite): + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.nsd.create(filename, overwrite) @@ -1101,7 +1151,7 @@ def nsd_create(ctx, filename, overwrite): @cli_osm.command(name='nsd-create', short_help='creates a new NSD/NSpkg') @click.argument('filename') -@click.option('--overwrite', 'overwrite', default=None, hidden=True, +@click.option('--overwrite', 'overwrite', default=None, # hidden=True, help='Deprecated. Use override') @click.option('--override', 'overwrite', default=None, help='overrides fields in descriptor, format: ' @@ -1112,12 +1162,13 @@ def nsd_create1(ctx, filename, overwrite): FILENAME: NSD yaml file or NSpkg tar.gz file """ + logger.debug("") nsd_create(ctx, filename, overwrite) @cli_osm.command(name='nspkg-create', short_help='creates a new NSD/NSpkg') @click.argument('filename') -@click.option('--overwrite', 'overwrite', default=None, hidden=True, +@click.option('--overwrite', 'overwrite', default=None, # hidden=True, help='Deprecated. Use override') @click.option('--override', 'overwrite', default=None, help='overrides fields in descriptor, format: ' @@ -1128,10 +1179,12 @@ def nsd_create2(ctx, filename, overwrite): FILENAME: NSD yaml file or NSpkg tar.gz file """ + logger.debug("") nsd_create(ctx, filename, overwrite) def vnfd_create(ctx, filename, overwrite): + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.vnfd.create(filename, overwrite) @@ -1153,12 +1206,13 @@ def vnfd_create1(ctx, filename, overwrite): FILENAME: VNFD yaml file or VNFpkg tar.gz file """ + logger.debug("") vnfd_create(ctx, filename, overwrite) @cli_osm.command(name='vnfpkg-create', short_help='creates a new VNFD/VNFpkg') @click.argument('filename') -@click.option('--overwrite', 'overwrite', default=None, hidden=True, +@click.option('--overwrite', 'overwrite', default=None, # hidden=True, help='Deprecated. Use override') @click.option('--override', 'overwrite', default=None, help='overrides fields in descriptor, format: ' @@ -1169,12 +1223,13 @@ def vnfd_create2(ctx, filename, overwrite): FILENAME: VNFD yaml file or VNFpkg tar.gz file """ + logger.debug("") vnfd_create(ctx, filename, overwrite) @cli_osm.command(name='nfpkg-create', short_help='creates a new NFpkg') @click.argument('filename') -@click.option('--overwrite', 'overwrite', default=None, hidden=True, +@click.option('--overwrite', 'overwrite', default=None, # hidden=True, help='Deprecated. Use override') @click.option('--override', 'overwrite', default=None, help='overrides fields in descriptor, format: ' @@ -1185,6 +1240,7 @@ def nfpkg_create(ctx, filename, overwrite): FILENAME: NF Descriptor yaml file or NFpkg tar.gz file """ + logger.debug("") vnfd_create(ctx, filename, overwrite) @@ -1224,6 +1280,7 @@ def ns_create(ctx, config_file, wait): """creates a new NS instance""" + logger.debug("") # try: if config_file: check_client_version(ctx.obj, '--config_file') @@ -1244,6 +1301,7 @@ def ns_create(ctx, def nst_create(ctx, filename, overwrite): + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.nst.create(filename, overwrite) @@ -1254,7 +1312,7 @@ def nst_create(ctx, filename, overwrite): @cli_osm.command(name='nst-create', short_help='creates a new Network Slice Template (NST)') @click.argument('filename') -@click.option('--overwrite', 'overwrite', default=None, hidden=True, +@click.option('--overwrite', 'overwrite', default=None, # hidden=True, help='Deprecated. Use override') @click.option('--override', 'overwrite', default=None, help='overrides fields in descriptor, format: ' @@ -1265,12 +1323,13 @@ def nst_create1(ctx, filename, overwrite): FILENAME: NST yaml file or NSTpkg tar.gz file """ + logger.debug("") nst_create(ctx, filename, overwrite) @cli_osm.command(name='netslice-template-create', short_help='creates a new Network Slice Template (NST)') @click.argument('filename') -@click.option('--overwrite', 'overwrite', default=None, hidden=True, +@click.option('--overwrite', 'overwrite', default=None, # hidden=True, help='Deprecated. Use override') @click.option('--override', 'overwrite', default=None, help='overrides fields in descriptor, format: ' @@ -1281,11 +1340,13 @@ def nst_create2(ctx, filename, overwrite): FILENAME: NST yaml file or NSTpkg tar.gz file """ + logger.debug("") nst_create(ctx, filename, overwrite) def nsi_create(ctx, nst_name, nsi_name, vim_account, ssh_keys, config, config_file, wait): """creates a new Network Slice Instance (NSI)""" + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) if config_file: @@ -1329,6 +1390,7 @@ def nsi_create(ctx, nst_name, nsi_name, vim_account, ssh_keys, config, config_fi @click.pass_context def nsi_create1(ctx, nst_name, nsi_name, vim_account, ssh_keys, config, config_file, wait): """creates a new Network Slice Instance (NSI)""" + logger.debug("") nsi_create(ctx, nst_name, nsi_name, vim_account, ssh_keys, config, config_file, wait=wait) @@ -1359,6 +1421,7 @@ def nsi_create1(ctx, nst_name, nsi_name, vim_account, ssh_keys, config, config_f @click.pass_context def nsi_create2(ctx, nst_name, nsi_name, vim_account, ssh_keys, config, config_file, wait): """creates a new Network Slice Instance (NSI)""" + logger.debug("") nsi_create(ctx, nst_name, nsi_name, vim_account, ssh_keys, config, config_file, wait=wait) @@ -1376,6 +1439,7 @@ def nsi_create2(ctx, nst_name, nsi_name, vim_account, ssh_keys, config, config_f @click.pass_context def pdu_create(ctx, name, pdu_type, interface, description, vim_account, descriptor_file): """creates a new Physical Deployment Unit (PDU)""" + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) pdu = {} @@ -1407,11 +1471,13 @@ def pdu_create(ctx, name, pdu_type, interface, description, vim_account, descrip # print(str(e)) # exit(1) + #################### # UPDATE operations #################### def nsd_update(ctx, name, content): + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.nsd.update(name, content) @@ -1430,6 +1496,7 @@ def nsd_update1(ctx, name, content): NAME: name or ID of the NSD/NSpkg """ + logger.debug("") nsd_update(ctx, name, content) @@ -1443,10 +1510,12 @@ def nsd_update2(ctx, name, content): NAME: name or ID of the NSD/NSpkg """ + logger.debug("") nsd_update(ctx, name, content) def vnfd_update(ctx, name, content): + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.vnfd.update(name, content) @@ -1465,6 +1534,7 @@ def vnfd_update1(ctx, name, content): NAME: name or ID of the VNFD/VNFpkg """ + logger.debug("") vnfd_update(ctx, name, content) @@ -1478,6 +1548,7 @@ def vnfd_update2(ctx, name, content): NAME: VNFD yaml file or VNFpkg tar.gz file """ + logger.debug("") vnfd_update(ctx, name, content) @@ -1491,10 +1562,12 @@ def nfpkg_update(ctx, name, content): NAME: NF Descriptor yaml file or NFpkg tar.gz file """ + logger.debug("") vnfd_update(ctx, name, content) def nst_update(ctx, name, content): + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.nst.update(name, content) @@ -1513,6 +1586,7 @@ def nst_update1(ctx, name, content): NAME: name or ID of the NSD/NSpkg """ + logger.debug("") nst_update(ctx, name, content) @@ -1526,6 +1600,7 @@ def nst_update2(ctx, name, content): NAME: name or ID of the NSD/NSpkg """ + logger.debug("") nst_update(ctx, name, content) @@ -1534,6 +1609,7 @@ def nst_update2(ctx, name, content): #################### def nsd_delete(ctx, name, force): + logger.debug("") # try: if not force: ctx.obj.nsd.delete(name) @@ -1554,6 +1630,7 @@ def nsd_delete1(ctx, name, force): NAME: name or ID of the NSD/NSpkg to be deleted """ + logger.debug("") nsd_delete(ctx, name, force) @@ -1566,10 +1643,12 @@ def nsd_delete2(ctx, name, force): NAME: name or ID of the NSD/NSpkg to be deleted """ + logger.debug("") nsd_delete(ctx, name, force) def vnfd_delete(ctx, name, force): + logger.debug("") # try: if not force: ctx.obj.vnfd.delete(name) @@ -1590,6 +1669,7 @@ def vnfd_delete1(ctx, name, force): NAME: name or ID of the VNFD/VNFpkg to be deleted """ + logger.debug("") vnfd_delete(ctx, name, force) @@ -1602,6 +1682,7 @@ def vnfd_delete2(ctx, name, force): NAME: name or ID of the VNFD/VNFpkg to be deleted """ + logger.debug("") vnfd_delete(ctx, name, force) @@ -1614,6 +1695,7 @@ def nfpkg_delete(ctx, name, force): NAME: name or ID of the NFpkg to be deleted """ + logger.debug("") vnfd_delete(ctx, name, force) @@ -1632,6 +1714,7 @@ def ns_delete(ctx, name, force, wait): NAME: name or ID of the NS instance to be deleted """ + logger.debug("") # try: if not force: ctx.obj.ns.delete(name, wait=wait) @@ -1644,6 +1727,7 @@ def ns_delete(ctx, name, force, wait): def nst_delete(ctx, name, force): + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.nst.delete(name, force) @@ -1661,6 +1745,7 @@ def nst_delete1(ctx, name, force): NAME: name or ID of the NST/NSTpkg to be deleted """ + logger.debug("") nst_delete(ctx, name, force) @@ -1673,10 +1758,12 @@ def nst_delete2(ctx, name, force): NAME: name or ID of the NST/NSTpkg to be deleted """ + logger.debug("") nst_delete(ctx, name, force) def nsi_delete(ctx, name, force, wait): + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.nsi.delete(name, force, wait=wait) @@ -1700,6 +1787,7 @@ def nsi_delete1(ctx, name, force, wait): NAME: name or ID of the Network Slice instance to be deleted """ + logger.debug("") nsi_delete(ctx, name, force, wait=wait) @@ -1712,6 +1800,7 @@ def nsi_delete2(ctx, name, force, wait): NAME: name or ID of the Network Slice instance to be deleted """ + logger.debug("") nsi_delete(ctx, name, force, wait=wait) @@ -1724,6 +1813,7 @@ def pdu_delete(ctx, name, force): NAME: name or ID of the PDU to be deleted """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.pdu.delete(name, force) @@ -1785,6 +1875,7 @@ def vim_create(ctx, sdn_port_mapping, wait): """creates a new VIM account""" + logger.debug("") # try: if sdn_controller: check_client_version(ctx.obj, '--sdn_controller') @@ -1843,6 +1934,7 @@ def vim_update(ctx, NAME: name or ID of the VIM account """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) vim = {} @@ -1875,6 +1967,7 @@ def vim_delete(ctx, name, force, wait): NAME: name or ID of the VIM account to be deleted """ + logger.debug("") # try: if not force: ctx.obj.vim.delete(name, wait=wait) @@ -1895,6 +1988,7 @@ def vim_delete(ctx, name, force, wait): @click.pass_context def vim_list(ctx, filter): """list all VIM accounts""" + logger.debug("") if filter: check_client_version(ctx.obj, '--filter') # if ro_update: @@ -1919,6 +2013,7 @@ def vim_show(ctx, name): NAME: name or ID of the VIM account """ + logger.debug("") # try: resp = ctx.obj.vim.get(name) if 'vim_password' in resp: @@ -1981,6 +2076,7 @@ def wim_create(ctx, wim_port_mapping, wait): """creates a new WIM account""" + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) # if sdn_controller: @@ -2034,6 +2130,7 @@ def wim_update(ctx, NAME: name or ID of the WIM account """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) wim = {} @@ -2065,6 +2162,7 @@ def wim_delete(ctx, name, force, wait): NAME: name or ID of the WIM account to be deleted """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.wim.delete(name, force, wait=wait) @@ -2079,6 +2177,7 @@ def wim_delete(ctx, name, force, wait): @click.pass_context def wim_list(ctx, filter): """list all WIM accounts""" + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.wim.list(filter) @@ -2100,6 +2199,7 @@ def wim_show(ctx, name): NAME: name or ID of the WIM account """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.wim.get(name) @@ -2127,15 +2227,15 @@ def wim_show(ctx, name): @click.option('--type', prompt=True, help='SDN controller type') -@click.option('--sdn_controller_version', hidden=True, +@click.option('--sdn_controller_version', # hidden=True, help='Deprecated. Use --config {version: sdn_controller_version}') @click.option('--url', help='URL in format http[s]://HOST:IP/') -@click.option('--ip_address', hidden=True, +@click.option('--ip_address', # hidden=True, help='Deprecated. Use --url') -@click.option('--port', hidden=True, +@click.option('--port', # hidden=True, help='Deprecated. Use --url') -@click.option('--switch_dpid', hidden=True, +@click.option('--switch_dpid', # hidden=True, help='Deprecated. Use --config {dpid: DPID}') @click.option('--config', help='Extra information for SDN in yaml format, as {dpid: (Openflow Datapath ID), version: version}') @@ -2154,6 +2254,7 @@ def wim_show(ctx, name): @click.pass_context def sdnc_create(ctx, **kwargs): """creates a new SDN controller""" + logger.debug("") sdncontroller = {x: kwargs[x] for x in kwargs if kwargs[x] and x not in ("wait", "ip_address", "port", "switch_dpid")} if kwargs.get("port"): @@ -2185,10 +2286,10 @@ def sdnc_create(ctx, **kwargs): '{dpid: (Openflow Datapath ID), version: version}') @click.option('--user', help='SDN controller username') @click.option('--password', help='SDN controller password') -@click.option('--ip_address', hidden=True, help='Deprecated. Use --url') -@click.option('--port', hidden=True, help='Deprecated. Use --url') -@click.option('--switch_dpid', hidden=True, help='Deprecated. Use --config {switch_dpid: DPID}') -@click.option('--sdn_controller_version', hidden=True, help='Deprecated. Use --config {version: VERSION}') +@click.option('--ip_address', help='Deprecated. Use --url') # hidden=True +@click.option('--port', help='Deprecated. Use --url') # hidden=True +@click.option('--switch_dpid', help='Deprecated. Use --config {switch_dpid: DPID}') # hidden=True +@click.option('--sdn_controller_version', help='Deprecated. Use --config {version: VERSION}') # hidden=True @click.option('--wait', required=False, default=False, is_flag=True, help='do not return the control immediately, but keep it until the operation is completed, or timeout') @click.pass_context @@ -2197,6 +2298,7 @@ def sdnc_update(ctx, **kwargs): NAME: name or ID of the SDN controller """ + logger.debug("") sdncontroller = {x: kwargs[x] for x in kwargs if kwargs[x] and x not in ("wait", "ip_address", "port", "switch_dpid", "new_name")} if kwargs.get("newname"): @@ -2233,6 +2335,7 @@ def sdnc_delete(ctx, name, force, wait): NAME: name or ID of the SDN controller to be deleted """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.sdnc.delete(name, force, wait=wait) @@ -2247,6 +2350,7 @@ def sdnc_delete(ctx, name, force, wait): @click.pass_context def sdnc_list(ctx, filter): """list all SDN controllers""" + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.sdnc.list(filter) @@ -2268,6 +2372,7 @@ def sdnc_show(ctx, name): NAME: name or ID of the SDN controller """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.sdnc.get(name) @@ -2624,6 +2729,7 @@ def project_create(ctx, name): NAME: name of the project """ + logger.debug("") project = {} project['name'] = name # try: @@ -2643,6 +2749,7 @@ def project_delete(ctx, name): NAME: name or ID of the project to be deleted """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.project.delete(name) @@ -2657,6 +2764,7 @@ def project_delete(ctx, name): @click.pass_context def project_list(ctx, filter): """list all projects""" + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.project.list(filter) @@ -2678,6 +2786,7 @@ def project_show(ctx, name): NAME: name or ID of the project """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.project.get(name) @@ -2708,7 +2817,7 @@ def project_update(ctx, project, name): :param name: new name for the project :return: """ - + logger.debug("") project_changes = {} project_changes['name'] = name @@ -2748,6 +2857,7 @@ def user_create(ctx, username, password, projects, project_role_mappings): PROJECTS: projects assigned to user (internal only) PROJECT_ROLE_MAPPING: roles in projects assigned to user (keystone) """ + logger.debug("") user = {} user['username'] = username user['password'] = password @@ -2798,6 +2908,7 @@ def user_update(ctx, username, password, set_username, set_project, remove_proje ADD_PROJECT_ROLE: adding mappings for project/role(s) REMOVE_PROJECT_ROLE: removing mappings for project/role(s) """ + logger.debug("") user = {} user['password'] = password user['username'] = set_username @@ -2824,6 +2935,7 @@ def user_delete(ctx, name): \b NAME: name or ID of the user to be deleted """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.user.delete(name) @@ -2859,6 +2971,7 @@ def user_show(ctx, name): NAME: name or ID of the user """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.user.get(name) @@ -2902,6 +3015,7 @@ def ns_alarm_create(ctx, name, ns, vnf, vdu, metric, severity, """creates a new alarm for a NS instance""" # TODO: Check how to validate threshold_value. # Should it be an integer (1-100), percentage, or decimal (0.01-1.00)? + logger.debug("") # try: ns_instance = ctx.obj.ns.get(ns) alarm = {} @@ -2958,6 +3072,7 @@ def ns_metric_export(ctx, ns, vnf, vdu, metric, interval): """exports a metric to the internal OSM bus, which can be read by other apps""" # TODO: Check how to validate interval. # Should it be an integer (seconds), or should a suffix (s,m,h,d,w) also be permitted? + logger.debug("") # try: ns_instance = ctx.obj.ns.get(ns) metric_data = {} @@ -3005,6 +3120,7 @@ def upload_package(ctx, filename): FILENAME: VNF or NS package file (tar.gz) """ + logger.debug("") # try: ctx.obj.package.upload(filename) fullclassname = ctx.obj.__module__ + "." + ctx.obj.__class__.__name__ @@ -3194,6 +3310,7 @@ def ns_action(ctx, NS_NAME: name or ID of the NS instance """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) op_data = {} @@ -3240,6 +3357,7 @@ def vnf_scale(ctx, NS_NAME: name or ID of the NS instance. VNF_NAME: member-vnf-index in the NS to be scaled. """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) if not scale_in and not scale_out: @@ -3268,6 +3386,7 @@ def role_create(ctx, name, permissions): NAME: Name or ID of the role. DEFINITION: Definition of grant/denial of access to resources. """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.role.create(name, permissions) @@ -3301,6 +3420,7 @@ def role_update(ctx, name, set_name, add, remove): ADD: Grant/denial of access to resource to add. REMOVE: Grant/denial of access to resource to remove. """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.role.update(name, set_name, None, add, remove) @@ -3320,6 +3440,7 @@ def role_delete(ctx, name): \b NAME: Name or ID of the role. """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) ctx.obj.role.delete(name) @@ -3336,6 +3457,7 @@ def role_list(ctx, filter): """ List all roles. """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.role.list(filter) @@ -3359,6 +3481,7 @@ def role_show(ctx, name): \b NAME: Name or ID of the role. """ + logger.debug("") # try: check_client_version(ctx.obj, ctx.command.name) resp = ctx.obj.role.get(name) @@ -3534,3 +3657,4 @@ def cli(): if __name__ == '__main__': cli() +