def setup_mender_logger(self):
        """Set the mender logger and deployment handler"""
        class Args:
            log_file = False
            log_level = "debug"
            no_syslog = False

        menderlogger.setup(Args())
Exemplo n.º 2
0
def fixture_set_up_menderlogger(tmpdir):
    d = tmpdir.mkdir("test_logger")
    log_file = os.path.join(d, "deployment.log")
    settings.PATHS.deployment_log = d

    class Args:
        log_file = False
        log_level = "debug"
        no_syslog = False

    menderlogger.setup(Args())
    return log_file
Exemplo n.º 3
0
def main(testargs=None):
    parser = argparse.ArgumentParser(
        prog="mender",
        description="""mender
    integrates both the mender daemon and commands for manually performing
    tasks performed by the daemon (see list of COMMANDS below).""",
        formatter_class=argparse.ArgumentDefaultsHelpFormatter,
    )
    #
    # Commands
    #
    subcommand_parser = parser.add_subparsers(title="COMMANDS")
    bootstrap_parser = subcommand_parser.add_parser(
        "bootstrap", help="Perform bootstrap and exit.")
    bootstrap_parser.set_defaults(func=run_bootstrap)
    daemon_parser = subcommand_parser.add_parser(
        "daemon", help="Start the client as a background service.")
    daemon_parser.set_defaults(func=run_daemon)
    show_artifact_parser = subcommand_parser.add_parser(
        "show-artifact",
        help="Print the current Artifact name to the command line and exit.",
    )
    show_artifact_parser.set_defaults(func=show_artifact)
    report_parser = subcommand_parser.add_parser(
        "report",
        help=
        "Report the update status. Note: an update must be in progress for this to work",
    )
    report_parser.set_defaults(func=report)
    report_parser.add_argument(
        "--success",
        help="Report a succesful update to the Mender server",
        default=False,
        action="store_true",
    )
    report_parser.add_argument(
        "--failure",
        help="Report a failed update to the Mender server",
        default=False,
        action="store_true",
    )
    #
    # Options
    #
    global_options = parser.add_argument_group("Global Options")
    global_options.add_argument(
        "--data",
        "-d",
        help="Mender state data DIRECTORY path.",
        default="/var/lib/mender",
    )
    global_options.add_argument("--log-file",
                                "-L",
                                help="FILE to log to.",
                                metavar="FILE")
    global_options.add_argument("--log-level",
                                "-l",
                                help="Set logging to level.",
                                default="info")
    global_options.add_argument(
        "--forcebootstrap",
        "-F",
        help="Force bootstrap.",
        default=False,
        action="store_true",
    )
    global_options.add_argument(
        "--no-syslog",
        help="Disble logging to syslog.",
        default=False,
        action="store_true",
    )
    global_options.add_argument("--version",
                                "-v",
                                help="print the version",
                                default=False,
                                action="store_true")
    args = parser.parse_args(testargs)
    if args.version:
        run_version(args)
        return
    if args.data:
        log.info(f"Data store set to: {args.data}")
        settings.PATHS = settings.Path(data_store=args.data)
    else:
        log.info("Data store set to: '/var/lib/mender'")
        settings.PATHS = settings.Path()
    menderlogger.setup(args)
    if "func" not in vars(args):
        parser.print_usage()
        return
    if not testargs:
        args.func(args)