X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=openmano;h=111df432858a1e616859172bd561e74ec59e43a9;hb=refs%2Fchanges%2F79%2F1879%2F2;hp=0e4287e7ef134ce4b27756317c3d9914207d1675;hpb=3fbff9b6666ea4981e953c98d236b54fb86c583b;p=osm%2FRO.git diff --git a/openmano b/openmano index 0e4287e7..111df432 100755 --- a/openmano +++ b/openmano @@ -26,10 +26,10 @@ ''' openmano client used to interact with openmano-server (openmanod) ''' -__author__="Alfonso Tierno, Gerardo Garcia, Pablo Montes" -__date__ ="$09-oct-2014 09:09:48$" -__version__="0.4.13-r519" -version_date="Mar 2017" +__author__ = "Alfonso Tierno, Gerardo Garcia, Pablo Montes" +__date__ = "$09-oct-2014 09:09:48$" +__version__ = "0.4.14-r521" +version_date = "May 2017" from argcomplete.completers import FilesCompleter import os @@ -556,6 +556,7 @@ def scenario_deploy(args): def scenario_verify(args): #print "scenario-verify",args + tenant = _get_tenant() headers_req = {'content-type': 'application/json'} action = {} action["verify"] = {} @@ -563,7 +564,7 @@ def scenario_verify(args): payload_req = json.dumps(action, indent=4) #print payload_req - URLrequest = "http://%s:%s/openmano/%s/scenarios/%s/action" %(mano_host, mano_port, mano_tenant, args.scenario) + URLrequest = "http://%s:%s/openmano/%s/scenarios/%s/action" %(mano_host, mano_port, tenant, args.scenario) logger.debug("openmano request: %s", payload_req) mano_response = requests.post(URLrequest, headers = headers_req, data=payload_req) logger.debug("openmano response: %s", mano_response.text ) @@ -1161,7 +1162,7 @@ def sdn_controller_edit(args): if args.ip != None: controller_dict['ip'] = args.ip if args.port != None: - controller_dict['port'] = args.port + controller_dict['port'] = int(args.port) if args.dpid != None: controller_dict['dpid'] = args.dpid if args.type != None: @@ -1271,7 +1272,7 @@ def vim_action(args): return payload_req = yaml.safe_dump(create_dict, explicit_start=True, indent=4, default_flow_style=False, tags=False, encoding='utf-8', allow_unicode=True) logger.debug("openmano request: %s", payload_req) - URLrequest = "http://%s:%s/openmano/%s/vim/%s/%ss" %(mano_host, mano_port, mano_tenant, datacenter, args.item) + URLrequest = "http://%s:%s/openmano/%s/vim/%s/%ss" %(mano_host, mano_port, tenant, datacenter, args.item) mano_response = requests.post(URLrequest, headers = headers_req, data=payload_req) logger.debug("openmano response: %s", mano_response.text ) if args.verbose==None: @@ -1462,6 +1463,15 @@ def datacenter_edit(args): args.verbose += 1 return _print_verbose(mano_response, args.verbose) +def version(args): + headers_req = {'Accept': 'application/json', 'content-type': 'application/json'} + URLrequest = "http://%s:%s/openmano/version" % (mano_host, mano_port) + + mano_response = requests.get(URLrequest, headers=headers_req) + logger.debug("openmano response: %s", mano_response.text) + print mano_response.text + + global mano_host global mano_port global mano_tenant @@ -1474,8 +1484,10 @@ if __name__=="__main__": mano_datacenter = os.getenv('OPENMANO_DATACENTER',None) main_parser = ThrowingArgumentParser(description='User program to interact with OPENMANO-SERVER (openmanod)') - main_parser.add_argument('--version', action='version', version='%(prog)s ' + __version__ ) - + main_parser.add_argument('--version', action='version', help="get version of this client", + version='%(prog)s client version ' + __version__ + + " (Note: use '%(prog)s version' to get server version)") + subparsers = main_parser.add_subparsers(help='commands') parent_parser = argparse.ArgumentParser(add_help=False) @@ -1486,6 +1498,9 @@ if __name__=="__main__": config_parser.add_argument("-n", action="store_true", help="resolves tenant and datacenter names") config_parser.set_defaults(func=config) + version_parser = subparsers.add_parser('version', parents=[parent_parser], help="get server version") + version_parser.set_defaults(func=version) + vnf_create_parser = subparsers.add_parser('vnf-create', parents=[parent_parser], help="adds a vnf into the catalogue") vnf_create_parser.add_argument("file", action="store", help="location of the JSON file describing the VNF").completer = FilesCompleter vnf_create_parser.add_argument("--name", action="store", help="name of the VNF (if it exists in the VNF descriptor, it is overwritten)") @@ -1590,13 +1605,11 @@ if __name__=="__main__": tenant_list_parser.add_argument("name", nargs='?', help="name or uuid of the tenant") tenant_list_parser.set_defaults(func=tenant_list) - item_list=('tenant') #put tenant before so that help appear in order - for item in item_list: - element_edit_parser = subparsers.add_parser(item+'-edit', parents=[parent_parser], help="edits one "+item) - element_edit_parser.add_argument("name", help="name or uuid of the "+item) - element_edit_parser.add_argument("file", help="json/yaml text or file with the changes").completer = FilesCompleter - element_edit_parser.add_argument("-f","--force", action="store_true", help="do not prompt for confirmation") - element_edit_parser.set_defaults(func=element_edit, element=item + 's') + element_edit_parser = subparsers.add_parser('tenant-edit', parents=[parent_parser], help="edits one tenant") + element_edit_parser.add_argument("name", help="name or uuid of the tenant") + element_edit_parser.add_argument("file", help="json/yaml text or file with the changes").completer = FilesCompleter + element_edit_parser.add_argument("-f","--force", action="store_true", help="do not prompt for confirmation") + element_edit_parser.set_defaults(func=element_edit, element='tenants') datacenter_create_parser = subparsers.add_parser('datacenter-create', parents=[parent_parser], help="creates a new datacenter") datacenter_create_parser.add_argument("name", action="store", help="name for the datacenter")