def do_exec(cs, args): """Execute command in a running container.""" opts = {} opts['command'] = zun_utils.parse_command(args.command) if args.interactive: opts['interactive'] = True opts['run'] = False response = cs.containers.execute(args.container, **opts) if args.interactive: exec_id = response['exec_id'] url = response['proxy_url'] websocketclient.do_exec(cs, url, args.container, exec_id, "~", 0.5) else: output = response['output'] exit_code = response['exit_code'] print(output) return exit_code
def take_action(self, parsed_args): client = _get_client(self, parsed_args) container = parsed_args.container opts = {} opts['command'] = zun_utils.parse_command(parsed_args.command) if parsed_args.interactive: opts['interactive'] = True opts['run'] = False response = client.containers.execute(container, **opts) if parsed_args.interactive: exec_id = response['exec_id'] url = response['url'] websocketclient.do_exec(client, url, container, exec_id, "~", 0.5) else: output = response['output'] exit_code = response['exit_code'] print(output) return exit_code