def do_list_apps(gargs, args, leftovers): """List currently running application. """ if len(leftovers) != 1: print("Invalid parameter, run help list-applications") command.print_available_cmds() sys.exit() project_id = uuid.UUID(leftovers[0]) url = '/api/v1/projects/%s/apps' % project_id _, data = command.connect(gargs, ('GET', url), 200) for entry in data: accum = [] accum.append("app id ") accum.append(entry['params']['service_id']) accum.append(" status RUNNING ") accum.append("\n name: ") accum.append(entry['name']) accum.append("\n params:") for k, val in entry['params'].items(): accum.append("\n %s: %s" % (k, val)) print(''.join(accum))
def do_list_apps_catalog(gargs, args, leftovers): """List application that can be loaded. """ if len(leftovers) != 1: print("Invalid parameter, run help list-applications") command.print_available_cmds() sys.exit() project_id = uuid.UUID(leftovers[0]) url = '/api/v1/projects/%s/catalog' % project_id _, data = command.connect(gargs, ('GET', url), 200) for entry in data: accum = [] accum.append("name ") accum.append(entry['name']) accum.append("\n") accum.append(" desc: ") accum.append(entry['desc']) accum.append("\n params:") for k, val in entry['params'].items(): if k in ('service_id', 'project_id'): continue accum.append("\n %s: %s" % (k, val['desc'])) if 'default' in val: accum.append(" Default: %s." % val['default']) accum.append(" Type: %s." % val['type']) accum.append(" Mandatory: %s." % val['mandatory']) print(''.join(accum))
def do_cmd(gargs, args, leftovers): """ Help execute method. """ if len(leftovers) != 1: print("No command specified") command.print_available_cmds() sys.exit() try: (parse_args, _) = command.CMDS[leftovers[0]] parse_args(['--help'], leftovers[0]) except KeyError: print("Invalid command: %s is an unknown command." % leftovers[0]) sys.exit()
def do_upsert_lte_slice(gargs, args, leftovers): """Create/update lte slice. """ params = command.get_params(leftovers) if len(leftovers) < 2: print("Invalid parameter, run help load-create-lte-slice") command.print_available_cmds() sys.exit() project_id = uuid.UUID(leftovers[0]) slice_id = int(leftovers[1]) request = { "version": "1.0", "slice_id": slice_id } if params: request['properties'] = params headers = command.get_headers(gargs) url = '/api/v1/projects/%s/lte_slices' % project_id command.connect(gargs, ('POST', url), 201, request, headers=headers) url = '/api/v1/projects/%s' % project_id _, prj = command.connect(gargs, ('GET', url), 200, headers=headers) url = '/api/v1/projects/%s/lte_slices/%u' % (project_id, slice_id) _, slc = command.connect(gargs, ('GET', url), 200, headers=headers) accum = [] accum.append("project id ") accum.append(prj['project_id']) accum.append(" PLMNID ") if 'lte_props' not in prj or not prj['lte_props']: accum.append("UNDEFINED") else: accum.append(prj['lte_props']['plmnid']) accum.append("\nSlice ID: ") accum.append(str(slc['slice_id'])) for k, val in slc['properties'].items(): accum.append("\n %s: %s" % (k, val)) print(''.join(accum))
def do_unload_worker(gargs, args, leftovers): """Unload and application. """ if len(leftovers) != 1: print("Invalid parameter, run help unload-worker") command.print_available_cmds() sys.exit() worker_id = uuid.UUID(leftovers[0]) url = '/api/v1/workers/%s' % worker_id command.connect(gargs, ('DELETE', url), 204) print("worker id %s status STOPPED" % leftovers[0])
def do_unload_app(gargs, args, leftovers): """Unload and application. """ if len(leftovers) != 2: print("Invalid parameter, run help load-application") command.print_available_cmds() sys.exit() project_id = uuid.UUID(leftovers[0]) app_id = uuid.UUID(leftovers[1]) url = '/api/v1/projects/%s/apps/%s' % (project_id, app_id) command.connect(gargs, ('DELETE', url), 204) print("app id %s status STOPPED" % leftovers[1])
def do_delete_lte_slice(gargs, args, leftovers): """Delete lte slice. """ if len(leftovers) != 2: print("Invalid parameter, run help load-delete-lte-slice") command.print_available_cmds() sys.exit() project_id = uuid.UUID(leftovers[0]) slice_id = int(leftovers[1]) url = '/api/v1/projects/%s/lte_slices/%u' % (project_id, slice_id) command.connect(gargs, ('DELETE', url), 204) print("slice id %u status DELETED" % slice_id)
def do_load_worker(gargs, args, leftovers): """Load and application. """ params = command.get_params(leftovers) if not leftovers: print("Invalid parameter, run help load-worker") command.print_available_cmds() sys.exit() request = { "version": "1.0", "name": leftovers[0], } if params: request['params'] = params headers = command.get_headers(gargs) url = '/api/v1/workers' response, _ = command.connect(gargs, ('POST', url), 201, request, headers=headers) location = response.headers['Location'] tokens = location.split("/") worker_id = tokens[-1] url = '/api/v1/workers/%s' % worker_id _, data = command.connect(gargs, ('GET', url), 200, headers=headers) accum = [] accum.append("worker id ") accum.append(data['params']['service_id']) accum.append(" status RUNNING ") accum.append("\n name: ") accum.append(data['name']) accum.append("\n params:") for k, val in data['params'].items(): accum.append("\n %s: %s" % (k, val)) print(''.join(accum))
def do_load_app(gargs, args, leftovers): """Load and application. """ params = command.get_params(leftovers) if len(leftovers) < 2: print("Invalid parameter, run help load-app") command.print_available_cmds() sys.exit() request = { "version": "1.0", "name": leftovers[1], } if params: request['params'] = params headers = command.get_headers(gargs) project_id = uuid.UUID(leftovers[0]) url = '/api/v1/projects/%s/apps' % project_id response, _ = command.connect(gargs, ('POST', url), 201, request, headers=headers) location = response.headers['Location'] tokens = location.split("/") app_id = tokens[-1] url = '/api/v1/projects/%s/apps/%s' % (project_id, app_id) _, data = command.connect(gargs, ('GET', url), 200, headers=headers) accum = [] accum.append("app id ") accum.append(data['params']['service_id']) accum.append(" status RUNNING ") accum.append("\n name: ") accum.append(data['name']) accum.append("\n params:") for k, val in data['params'].items(): accum.append("\n %s: %s" % (k, val)) print(''.join(accum))
def do_set_app_params(gargs, args, leftovers): """Set application parameters. """ params = command.get_params(leftovers) if len(leftovers) < 2: print("Invalid parameter, run help set-app-params") command.print_available_cmds() sys.exit() request = { "version": "1.0", } if params: request['params'] = params headers = command.get_headers(gargs) project_id = uuid.UUID(leftovers[0]) app_id = uuid.UUID(leftovers[1]) url = '/api/v1/projects/%s/apps/%s' % (project_id, app_id) command.connect(gargs, ('PUT', url), 204, request, headers=headers) url = '/api/v1/projects/%s/apps/%s' % (project_id, app_id) _, data = command.connect(gargs, ('GET', url), 200, headers=headers) accum = [] accum.append("app id ") accum.append(data['params']['service_id']) accum.append(" status RUNNING ") accum.append("\n name: ") accum.append(data['name']) accum.append("\n params:") for k, val in data['params'].items(): accum.append("\n %s: %s" % (k, val)) print(''.join(accum))
def do_unload_all_workers(gargs, args, leftovers): """Unload and application. """ if leftovers: print("Invalid parameter, run help unload-all-workers") command.print_available_cmds() sys.exit() headers = command.get_headers(gargs) url = '/api/v1/workers' _, data = command.connect(gargs, ('GET', url), 200, headers=headers) for entry in data.values(): worker_id = entry['params']['service_id'] url = '/api/v1/workers/%s' % worker_id command.connect(gargs, ('DELETE', url), 204, headers=headers) print("worker id %s status STOPPED" % worker_id)
def do_list_lte_slices(gargs, args, leftovers): """List lte slices.""" if len(leftovers) != 1: print("Invalid parameter, run help list-lte-slices") command.print_available_cmds() sys.exit() project_id = uuid.UUID(leftovers[0]) headers = command.get_headers(gargs) url = '/api/v1/projects/%s' % project_id _, prj = command.connect(gargs, ('GET', url), 200, headers=headers) url = '/api/v1/projects/%s/lte_slices' % project_id _, slcs = command.connect(gargs, ('GET', url), 200, headers=headers) accum = [] accum.append("project id ") accum.append(prj['project_id']) accum.append(" PMMNID ") if 'lte_props' not in prj or not prj['lte_props']: accum.append("UNDEFINED") else: accum.append(prj['lte_props']['plmnid']) for slc in slcs.values(): accum.append("\nSlice ID: ") accum.append(str(slc['slice_id'])) for k, val in slc['properties'].items(): accum.append("\n %s: %s" % (k, val)) print(''.join(accum))
def do_unload_all_apps(gargs, args, leftovers): """Unload and application. """ if len(leftovers) != 1: print("Invalid parameter, run help load-application") command.print_available_cmds() sys.exit() project_id = uuid.UUID(leftovers[0]) headers = command.get_headers(gargs) url = '/api/v1/projects/%s/apps' % project_id _, data = command.connect(gargs, ('GET', url), 200, headers=headers) for entry in data: app_id = entry['params']['service_id'] url = '/api/v1/projects/%s/apps/%s' % (project_id, app_id) command.connect(gargs, ('DELETE', url), 204, headers=headers) print("app id %s status STOPPED" % app_id)