Beispiel #1
0
def oneoff_command(args):
    session = make_session()
    load_plugins(settings["plugin_dir"], service_name="grouper-ctl")

    oneoffs = Annex(BaseOneOff, [settings["oneoff_dir"]],
                    raise_exceptions=True)
    for oneoff in oneoffs:
        oneoff.configure(service_name="grouper-ctl")

    if args.subcommand == "run":
        logging.info("running one-off with '{}'".format(sys.argv))

        if args.dry_run:
            logging.warning("running in DRY RUN mode")
        else:
            logging.warning("NOT running in dry run mode")

        with wrapped_session(session,
                             make_read_only=args.dry_run) as the_session:
            for oneoff in oneoffs:
                if oneoff.__class__.__name__ == args.classname:
                    params = args.oneoff_arguments or []
                    params += [('dry_run', args.dry_run)]
                    oneoff.run(the_session, **dict(params))

    elif args.subcommand == "list":
        for oneoff in oneoffs:
            logging.info(oneoff.__class__.__name__)
Beispiel #2
0
def oneoff_command(args):
    session = make_session()
    load_plugins(settings["plugin_dir"], service_name="grouper-ctl")

    oneoffs = Annex(BaseOneOff, [settings["oneoff_dir"]], raise_exceptions=True)
    for oneoff in oneoffs:
        oneoff.configure(service_name="grouper-ctl")

    if args.subcommand == "run":
        logging.info("running one-off with '{}'".format(sys.argv))

        if args.dry_run:
            logging.warning("running in DRY RUN mode")
        else:
            logging.warning("NOT running in dry run mode")

        with wrapped_session(session, make_read_only=args.dry_run) as the_session:
            for oneoff in oneoffs:
                if oneoff.__class__.__name__ == args.classname:
                    params = args.oneoff_arguments or []
                    params += [('dry_run', args.dry_run)]
                    oneoff.run(the_session, **dict(params))

    elif args.subcommand == "list":
        for oneoff in oneoffs:
            logging.info(oneoff.__class__.__name__)
Beispiel #3
0
def main(sys_argv=sys.argv, start_config_thread=True):
    description_msg = "Grouper Control"
    parser = argparse.ArgumentParser(description=description_msg)

    parser.add_argument("-c",
                        "--config",
                        default=default_settings_path(),
                        help="Path to config file.")
    parser.add_argument("-v",
                        "--verbose",
                        action="count",
                        default=0,
                        help="Increase logging verbosity.")
    parser.add_argument("-q",
                        "--quiet",
                        action="count",
                        default=0,
                        help="Decrease logging verbosity.")
    parser.add_argument("-V",
                        "--version",
                        action="version",
                        version="%%(prog)s %s" % __version__,
                        help="Display version information.")

    subparsers = parser.add_subparsers(dest="command")

    for subcommand_module in [
            group,
            oneoff,
            shell,
            sync_db,
            user,
            user_proxy,
    ]:
        subcommand_module.add_parser(subparsers)

    args = parser.parse_args(sys_argv[1:])

    if start_config_thread:
        settings.update_from_config(args.config)
        settings.start_config_thread(args.config)

    log_level = get_loglevel(args)
    logging.basicConfig(level=log_level, format=settings.log_format)

    if settings.plugin_dir:
        load_plugins(settings.plugin_dir,
                     settings.plugin_module_paths,
                     service_name="grouper-ctl")

    if log_level < 0:
        sa_log.setLevel(logging.INFO)

    args.func(args)
Beispiel #4
0
def oneoff_command(args):
    session = make_session()

    oneoffs = load_plugins(BaseOneOff, settings.oneoff_dirs,
                           settings.oneoff_module_paths, "grouper-ctl")

    if args.subcommand == "run":
        logging.info("running one-off with '{}'".format(sys.argv))

        if args.dry_run:
            logging.warning("running in DRY RUN mode")
        else:
            logging.warning("NOT running in dry run mode")

        with wrapped_session(session,
                             make_read_only=args.dry_run) as the_session:
            for oneoff in oneoffs:
                if oneoff.__class__.__name__ == args.classname:
                    params = args.oneoff_arguments or []
                    params += [("dry_run", args.dry_run)]
                    oneoff.run(the_session, **dict(params))

    elif args.subcommand == "list":
        for oneoff in oneoffs:
            logging.info(oneoff.__class__.__name__)
Beispiel #5
0
def oneoff_command(args):
    session = make_session()

    oneoffs = load_plugins(
        BaseOneOff,
        settings.oneoff_dirs,
        settings.oneoff_module_paths,
        "grouper-ctl",
    )

    if args.subcommand == "run":
        logging.info("running one-off with '{}'".format(sys.argv))

        if args.dry_run:
            logging.warning("running in DRY RUN mode")
        else:
            logging.warning("NOT running in dry run mode")

        with wrapped_session(session, make_read_only=args.dry_run) as the_session:
            for oneoff in oneoffs:
                if oneoff.__class__.__name__ == args.classname:
                    params = args.oneoff_arguments or []
                    params += [('dry_run', args.dry_run)]
                    oneoff.run(the_session, **dict(params))

    elif args.subcommand == "list":
        for oneoff in oneoffs:
            logging.info(oneoff.__class__.__name__)
Beispiel #6
0
def main(sys_argv=sys.argv, start_config_thread=True):
    description_msg = "Grouper Control"
    parser = argparse.ArgumentParser(description=description_msg)

    parser.add_argument("-c", "--config", default=default_settings_path(),
                        help="Path to config file.")
    parser.add_argument("-v", "--verbose", action="count", default=0,
                        help="Increase logging verbosity.")
    parser.add_argument("-q", "--quiet", action="count", default=0,
                        help="Decrease logging verbosity.")
    parser.add_argument("-V", "--version", action="version",
                        version="%%(prog)s %s" % __version__,
                        help="Display version information.")

    subparsers = parser.add_subparsers(dest="command")

    for subcommand_module in [
            group,
            oneoff,
            shell,
            sync_db,
            user,
            user_proxy,
            ]:
        subcommand_module.add_parser(subparsers)

    args = parser.parse_args(sys_argv[1:])

    if start_config_thread:
        settings.update_from_config(args.config)
        settings.start_config_thread(args.config)

    log_level = get_loglevel(args)
    logging.basicConfig(level=log_level, format=settings.log_format)

    if settings["plugin_dir"]:
        load_plugins(settings["plugin_dir"], service_name="grouper-ctl")

    if log_level < 0:
        sa_log.setLevel(logging.INFO)

    args.func(args)