def _main(argv): """The main function for the 'task' subcommand""" # We must special case the 'dcos task exec' subcommand in order to # allow us to pass arguments to docopt in a more user-friendly # manner. Specifically, we need to be able to to pass arguments # beginning with "-" to the command we are trying to launch with # 'exec' without docopt trying to match them to a named parameter # for the 'dcos' command itself. if len(argv) > 1 and argv[1] == "exec": args = docopt_wrapper( default_doc("task_exec"), default_doc("task"), argv=argv[2:], version="dcos-task version {}".format(dcoscli.version), options_first=True, base_subcommand="task", subcommand="exec") else: args = docopt.docopt( default_doc("task"), argv=argv, version="dcos-task version {}".format(dcoscli.version)) return cmds.execute(_cmds(), args)
def _main(argv): args = docopt.docopt( default_doc("service"), argv=argv, version="dcos-service version {}".format(dcoscli.version)) return cmds.execute(_cmds(), args)
def _main(argv): args = docopt.docopt(default_doc("experimental"), argv=argv, version='dcos-experimental version {}'.format( dcoscli.version)) http.silence_requests_warnings() return cmds.execute(_cmds(), args)
def _main(): signal.signal(signal.SIGINT, signal_handler) http.silence_requests_warnings() config = util.get_config() set_ssl_info_env_vars(config) args = docopt.docopt(default_doc("dcos"), options_first=True) log_level = args['--log-level'] if log_level and not _config_log_level_environ(log_level): return 1 if args['--debug']: os.environ[constants.DCOS_DEBUG_ENV] = 'true' util.configure_process_from_environ() if args['--version']: return _get_versions(config.get("core.dcos_url")) command = args['<command>'] if not command: command = "help" if command in subcommand.default_subcommands(): sc = SubcommandMain(command, args['<args>']) else: executable = subcommand.command_executables(command) sc = subcommand.SubcommandProcess( executable, command, args['<args>']) exitcode, _ = sc.run_and_capture() return exitcode
def _main(argv): args = docopt.docopt( default_doc("marathon"), argv=argv, version='dcos-marathon version {}'.format(dcoscli.version)) return cmds.execute(_cmds(), args)
def _main(argv): args = docopt.docopt( default_doc("experimental"), argv=argv, version='dcos-experimental version {}'.format(dcoscli.version)) http.silence_requests_warnings() return cmds.execute(_cmds(), args)
def _main(argv): args = docopt.docopt(default_doc("service"), argv=argv, version="dcos-service version {}".format( dcoscli.version)) return cmds.execute(_cmds(), args)
def _command(): """ Return the subcommand used in this dcos process. :returns: subcommand used in this dcos process :rtype: str """ args = docopt.docopt(default_doc("dcos"), help=False, options_first=True) return args.get('<command>', "") or ""
def _command(): """ Return the subcommand used in this dcos process. :returns: subcommand used in this dcos process :rtype: str """ args = docopt.docopt(default_doc("dcos"), help=False, options_first=True) return args.get('<command>', "")
def _experimental(info): """ :returns: process status :rtype: int """ if info: emitter.publish(default_command_info("experimental")) else: doc = default_doc("package") emitter.publish(options.make_generic_usage_message(doc)) return 1 return 0
def _main(argv): for i, arg in enumerate(argv): if arg == '--show-failures': argv[i] = '--failures' warning = ("'--show-failures' is deprecated, " "please use '--failures' instead.\n") emitter.publish(DefaultError(warning)) args = docopt.docopt(default_doc("job"), argv=argv, version='dcos-job version {}'.format(dcoscli.version)) return cmds.execute(_cmds(), args)
def _main(argv): args = docopt.docopt(default_doc("node"), argv=argv, version="dcos-node version {}".format( dcoscli.version)) if args.get('--master'): raise DCOSException( '--master has been deprecated. Please use --leader.') elif args.get('--slave'): raise DCOSException( '--slave has been deprecated. Please use --mesos-id.') return cmds.execute(_cmds(), args)
def _main(argv): args = docopt.docopt( default_doc("node"), argv=argv, version="dcos-node version {}".format(dcoscli.version)) if args.get('--master'): raise DCOSException( '--master has been deprecated. Please use --leader.' ) elif args.get('--slave'): raise DCOSException( '--slave has been deprecated. Please use --mesos-id.' ) return cmds.execute(_cmds(), args)
def _main(): signal.signal(signal.SIGINT, signal_handler) http.silence_requests_warnings() args = docopt.docopt(default_doc("dcos"), options_first=True) log_level = args['--log-level'] if log_level and not _config_log_level_environ(log_level): return 1 if args['--debug']: os.environ[constants.DCOS_DEBUG_ENV] = 'true' util.configure_process_from_environ() if args['--version']: return _get_versions() command = args['<command>'] if not command: return dcos_help() if config.uses_deprecated_config(): if constants.DCOS_CONFIG_ENV in os.environ: msg = ('{} is deprecated, please consider using ' '`dcos cluster setup <dcos_url>`.') err = errors.DefaultError(msg.format(constants.DCOS_CONFIG_ENV)) emitter.publish(err) cluster.move_to_cluster_config() if command in subcommand.default_subcommands(): sc = SubcommandMain(command, args['<args>']) else: executable = subcommand.command_executables(command) sc = subcommand.SubcommandProcess(executable, command, args['<args>']) exitcode, _ = sc.run_and_capture() return exitcode
def _main(argv): doc_name = 'cluster' # If a cluster is attached and the cluster linker API is reachable, # use cluster_ee.txt. dcos_url = config.get_config_val('core.dcos_url') if dcos_url: try: cluster.get_cluster_links(dcos_url) doc_name = 'cluster_ee' except Exception: pass args = docopt.docopt( default_doc(doc_name), argv=argv, version='dcos-cluster version {}'.format(dcoscli.version)) http.silence_requests_warnings() return cmds.execute(_cmds(doc_name), args)
def _package(config_schema, info): """ :param config_schema: Whether to output the config schema :type config_schema: boolean :param info: Whether to output a description of this subcommand :type info: boolean :returns: Process status :rtype: int """ if config_schema: schema = json.loads( pkg_resources.resource_string( 'dcos', 'data/config-schema/package.json').decode('utf-8')) emitter.publish(schema) elif info: emitter.publish(default_command_info("package")) else: doc = default_doc("package") emitter.publish(options.make_generic_usage_message(doc)) return 1 return 0
def _package(config_schema, info): """ :param config_schema: Whether to output the config schema :type config_schema: boolean :param info: Whether to output a description of this subcommand :type info: boolean :returns: Process status :rtype: int """ if config_schema: schema = json.loads( pkg_resources.resource_string( 'dcoscli', 'data/config-schema/package.json').decode('utf-8')) emitter.publish(schema) elif info: _info() else: doc = default_doc("package") emitter.publish(options.make_generic_usage_message(doc)) return 1 return 0
def _main(): signal.signal(signal.SIGINT, signal_handler) args = docopt.docopt( default_doc("dcos"), version='dcos version {}'.format(dcoscli.version), options_first=True) log_level = args['--log-level'] if log_level and not _config_log_level_environ(log_level): return 1 if args['--debug']: os.environ[constants.DCOS_DEBUG_ENV] = 'true' util.configure_process_from_environ() if args['<command>'] != 'config' and \ not auth.check_if_user_authenticated(): auth.force_auth() config = util.get_config() set_ssl_info_env_vars(config) command = args['<command>'] http.silence_requests_warnings() if not command: command = "help" cluster_id = None if dcoscli.version != 'SNAPSHOT' and command and \ command not in ["config", "help"]: try: cluster_id = mesos.DCOSClient().metadata().get('CLUSTER_ID') except DCOSAuthenticationException: raise except: msg = 'Unable to get the cluster_id of the cluster.' logger.exception(msg) # send args call to segment.io with ThreadPoolExecutor(max_workers=2) as reporting_executor: analytics.segment_track_cli(reporting_executor, config, cluster_id) # the call to retrieve cluster_id must happen before we run the # subcommand so that if you have auth enabled we don't ask for # user/pass multiple times (with the text being out of order) # before we can cache the auth token if command in subcommand.default_subcommands(): sc = SubcommandMain(command, args['<args>']) else: executable = subcommand.command_executables(command) sc = subcommand.SubcommandProcess( executable, command, args['<args>']) exitcode, err = sc.run_and_capture() if err: analytics.track_err( reporting_executor, exitcode, err, config, cluster_id) return exitcode
def _main(): signal.signal(signal.SIGINT, signal_handler) args = docopt.docopt(default_doc("dcos"), version='dcos version {}'.format(dcoscli.version), options_first=True) log_level = args['--log-level'] if log_level and not _config_log_level_environ(log_level): return 1 if args['--debug']: os.environ[constants.DCOS_DEBUG_ENV] = 'true' util.configure_process_from_environ() if args['<command>'] != 'config' and \ not auth.check_if_user_authenticated(): auth.force_auth() config = util.get_config() set_ssl_info_env_vars(config) command = args['<command>'] http.silence_requests_warnings() if not command: command = "help" cluster_id = None if dcoscli.version != 'SNAPSHOT' and command and \ command not in ["config", "help"]: try: cluster_id = mesos.DCOSClient().metadata().get('CLUSTER_ID') except DCOSAuthenticationException: raise except: msg = 'Unable to get the cluster_id of the cluster.' logger.exception(msg) # send args call to segment.io with ThreadPoolExecutor(max_workers=2) as reporting_executor: analytics.segment_track_cli(reporting_executor, config, cluster_id) # the call to retrieve cluster_id must happen before we run the # subcommand so that if you have auth enabled we don't ask for # user/pass multiple times (with the text being out of order) # before we can cache the auth token if command in subcommand.default_subcommands(): sc = SubcommandMain(command, args['<args>']) else: executable = subcommand.command_executables(command) sc = subcommand.SubcommandProcess(executable, command, args['<args>']) exitcode, err = sc.run_and_capture() if err: analytics.track_err(reporting_executor, exitcode, err, config, cluster_id) return exitcode