On 12/03/2012 11:17 AM, Dmitri Pal wrote: > On 12/03/2012 11:03 AM, Rob Crittenden wrote: >> Petr Viktorin wrote: >>> Hello, >>> Please take a while to comment on this proposal before I post it on the >>> wiki. >>> This is about user-visible changes I plan to make for #2652 (Framework >>> for admin/install tool) -- consistent behavior will (in addition to not >>> confusing users) enable the framework to do common work without too much >>> special-casing. >>> >>> >>> = Overview = >>> >>> The output, logging, and command-line options of our install/management >>> tools are inconsistent. This RFE aims to clean up some of the >>> inconsistency. >>> >>> Specifically it addresses: >>> - Inconsistencies between console output and log files >>> - Tools using either --verbose or --debug used for the same purpose >>> And some collateral issues: >>> - The --version option missing in some tools >>> - The problem of e.g. an accidental ipa-server-install overwriting >>> ipaserver-install.log by the useless message, "The server is already >>> installed" >>> >>> This is part of [https://fedorahosted.org/freeipa/ticket/2652|#2652 >>> Framework for admin/install tools] >>> >>> >>> = Design= >>> >>> Each command will have these command-line options (added automatically >>> by the framework): >>> >>> --version show program's version number and exit >>> -h, --help show the help message and exit >>> >>> output and logging options: >>> -q, --quiet Output only errors >>> -v, --verbose Print debugging information >>> --log-file (alternate) log file name >>> >>> The precise meanings of the output options are: >>> (nothing): print INFO-level messages and above to stderr >>> -q: only print ERROR-level messages and above to stderr >>> -v: print all messages to stderr, prefixed with severity level >>> In all cases, if there is a log file, all messages go to it >>> >>> In commands that currently have it, the `-d, --debug` option will become >>> a deprecated alias for --verbose. >>> >>> Note that this RFE only adds new options, so backwards compatibility is >>> maintained. >>> >>> >>> The tools will use the following log message severities: >>> - CRITICAL for fatal errors >>> - ERROR for critical things that the admin must see even in --quiet mode >>> - WARNING for things that need to stand out in the log >>> - INFO to display normal messages >>> - DEBUG to spam about everything the program does >>> - a plain print statement for things that should not be log, for >>> interactive prompting should use the console and follow up with a DEBUG >>> mentioning the final value >>> >>> >>> The commands check their arguments and most do some validation and >>> possible interactive prompting before doing any modification of the >>> system. Since the system is not changed, the user can always re-run with >>> --verbose if there are problems in this phase. Logging information from >>> this phase to a file is useless. >>> The file logging will start after the validation/prompting. The first >>> logged message(s) will mention the command and options used. >>> >>> >>> = Use Cases = >>> >>> User runs some /usr/sbin/ipa-* commands with the --help option to see >>> that the logging-related options are the same in all of those programs. >>> >>> User runs an ipa-* command with the -q option to only see errors. >>> >>> User runs an ipa-* command (possibly with --log-file, if the command >>> doesn't log by default), and later reviews the log file to find all >>> relevant information. >>> >>> >>> = Implementation = >>> >>> The RFE will be implemented gradually as new commands are ported to the >>> framework. >>> >>> >> Can you list exactly which commands you're targetting? >> >> At least some (ipa-replica-manage, ipa-replica-prepare) don't have >> logging but may still benefit from this structure. Did you have those >> in mind as well? >> >> It may be time to rewrite ipa-upgradeconfig too. It started as a >> one-off and has grown considerably over the past year. It would >> benefit from this as well (though other enhancements would be beyond >> this scope). > Would it affect ipa-server-install and ipa-client-install too? > I agree with Rob explicitly listing the commands would be helpful. > IMO creating a table of existing commands would be very beneficial. > > I see it with the following columns: > > Command Version Help Quiet Verbose > Log File Release > xyz added was there added was there > added Pilsner > abc was there was there was there was there > added Pilsner > klm added was there added was there > added Other beer > ... > > This (or similar) would allow QE to easily see what changed and when and > how to adjust test cases. > For doc it will also provide information needed.
It wrapped so let me try again: Cmd Version Help Quiet Verbose Log File Release xyz added - added - added Pilsner abc - - - - added Pilsner klm added - added - added Other beer >> rob >> rob >> >> _______________________________________________ >> Freeipa-devel mailing list >> Freeipa-devel@redhat.com >> https://www.redhat.com/mailman/listinfo/freeipa-devel > -- Thank you, Dmitri Pal Sr. Engineering Manager for IdM portfolio Red Hat Inc. ------------------------------- Looking to carve out IT costs? www.redhat.com/carveoutcosts/ _______________________________________________ Freeipa-devel mailing list Freeipa-devel@redhat.com https://www.redhat.com/mailman/listinfo/freeipa-devel