'''
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
def scenario_verify(args):
#print "scenario-verify",args
+ tenant = _get_tenant()
headers_req = {'content-type': 'application/json'}
action = {}
action["verify"] = {}
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 )
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:
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
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)
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)")
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")