X-Git-Url: https://scripts.mit.edu/gitweb/wizard.git/blobdiff_plain/de4349af65d013973ddcf44a7565326d411e50eb..6418262061baafb4db8ddbe2f22cd096585330ae:/bin/wizard diff --git a/bin/wizard b/bin/wizard index 01e7c33..dad334e 100755 --- a/bin/wizard +++ b/bin/wizard @@ -22,6 +22,7 @@ Its commands are: mass-migrate Performs mass migration of autoinstalls of an application migrate Migrate autoinstalls from old format to Git-based format prepare-config Prepares configuration files for versioning + research Print statistics about a possible upgrade summary Generate statistics (see help for subcommands) upgrade Upgrades an autoinstall to the latest version @@ -32,17 +33,32 @@ See '%prog help COMMAND' for more information on a specific command.""" _, args = parser.parse_args() # no global options rest_argv = args[1:] baton = command.OptionBaton() - baton.add("--versions-path", dest="versions_path", + baton.add("--versions-path", dest="versions_path", metavar="PATH", default=getenvpath("WIZARD_VERSIONS_PATH") or "/afs/athena.mit.edu/contrib/scripts/sec-tools/store/versions", help="Location of parallel-find output directory, or a file containing a newline separated list of 'all autoinstalls' (for development work). Environment variable is WIZARD_VERSIONS_PATH.") - baton.add("--srv-path", dest="srv_path", + baton.add("--srv-path", dest="srv_path", metavar="PATH", default=getenvpath("WIZARD_SRV_PATH") or "/afs/athena.mit.edu/contrib/scripts/git/autoinstalls", help="Location of autoinstall Git repositories, such that $REPO_PATH/$APP.git is a repository (for development work). Environment variable is WIZARD_SRV_PATH.") + baton.add("--dry-run", dest="dry_run", action="store_true", + default=False, help="Print the results of the operation without actually executing them") + # common variables for mass commands + baton.add("--seen", dest="seen", + default=None, help="File to read/write paths of already processed installs." + "These will be skipped.") + baton.add("--no-parallelize", dest="no_parallelize", action="store_true", + default=False, help="Turn off parallelization") + baton.add("--max-processes", dest="max_processes", type="int", metavar="N", + default=10, help="Maximum subprocesses to run concurrently") + baton.add("--limit", dest="limit", type="int", + default=None, help="Limit the number of autoinstalls to look at.") try: command_name = args[0] except IndexError: parser.print_help() raise SystemExit(1) + baton.add("--log-dir", dest="log_dir", + default=getenvpath("WIZARD_LOG_DIR") or "/tmp/wizard-%s" % command_name, + help="Log files for Wizard children processes are placed here.") if command_name == "help": try: help_module = get_command(rest_argv[0])