17503: the deduplication report tool should not require the Arvados
authorWard Vandewege <ward@curii.com>
Mon, 29 Mar 2021 20:51:43 +0000 (16:51 -0400)
committerWard Vandewege <ward@curii.com>
Mon, 29 Mar 2021 20:51:43 +0000 (16:51 -0400)
       config file. Also, when cli help is requested, it should abort
       with exit code 0.

Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <ward@curii.com>

doc/admin/keep-measuring-deduplication.html.textile.liquid
lib/deduplicationreport/command.go
lib/deduplicationreport/report.go

index 76b477d09641833b88700eb38ffe8e3a7cbf0f69..13838f61fe4f21926030774f64befae9e5dfe97a 100644 (file)
@@ -45,8 +45,6 @@ Example:
     xargs arvados-client deduplication-report
 
 Options:
-  -config file
-      Site configuration file (default may be overridden by setting an ARVADOS_CONFIG environment variable) (default "/etc/arvados/config.yml")
   -log-level string
       logging level (debug, info, ...) (default "info")
 </code>
index 1199bc0ae250b65fdabe9df4e5380db5bdfa24eb..2fdf221b0b671957283ca3401e024be556dbc288 100644 (file)
@@ -7,7 +7,6 @@ package deduplicationreport
 import (
        "io"
 
-       "git.arvados.org/arvados.git/lib/config"
        "git.arvados.org/arvados.git/sdk/go/ctxlog"
        "github.com/sirupsen/logrus"
 )
@@ -34,10 +33,7 @@ func (command) RunCommand(prog string, args []string, stdin io.Reader, stdout, s
 
        logger.SetFormatter(new(NoPrefixFormatter))
 
-       loader := config.NewLoader(stdin, logger)
-       loader.SkipLegacy = true
-
-       exitcode := report(prog, args, loader, logger, stdout, stderr)
+       exitcode := report(prog, args, logger, stdout, stderr)
 
        return exitcode
 }
index 8759df080c354ef0a4b8a18553e810af0685f31c..8109b5dbd22f9a09684bd92efeeaf92eee7497b8 100644 (file)
@@ -10,7 +10,6 @@ import (
        "io"
        "strings"
 
-       "git.arvados.org/arvados.git/lib/config"
        "git.arvados.org/arvados.git/sdk/go/arvados"
        "git.arvados.org/arvados.git/sdk/go/arvadosclient"
        "git.arvados.org/arvados.git/sdk/go/manifest"
@@ -30,7 +29,7 @@ func deDuplicate(inputs []string) (trimmed []string) {
        return
 }
 
-func parseFlags(prog string, args []string, loader *config.Loader, logger *logrus.Logger, stderr io.Writer) (exitcode int, inputs []string) {
+func parseFlags(prog string, args []string, logger *logrus.Logger, stderr io.Writer) (exitcode int, inputs []string) {
        flags := flag.NewFlagSet("", flag.ContinueOnError)
        flags.SetOutput(stderr)
        flags.Usage = func() {
@@ -67,11 +66,10 @@ Options:
 `, prog, prog, prog)
                flags.PrintDefaults()
        }
-       loader.SetupFlags(flags)
        loglevel := flags.String("log-level", "info", "logging level (debug, info, ...)")
        err := flags.Parse(args)
        if err == flag.ErrHelp {
-               return 0, inputs
+               return 1, inputs
        } else if err != nil {
                return 2, inputs
        }
@@ -104,11 +102,15 @@ func blockList(collection arvados.Collection) (blocks map[string]int) {
        return
 }
 
-func report(prog string, args []string, loader *config.Loader, logger *logrus.Logger, stdout, stderr io.Writer) (exitcode int) {
+func report(prog string, args []string, logger *logrus.Logger, stdout, stderr io.Writer) (exitcode int) {
 
        var inputs []string
-       exitcode, inputs = parseFlags(prog, args, loader, logger, stderr)
+       exitcode, inputs = parseFlags(prog, args, logger, stderr)
        if exitcode != 0 {
+               if exitcode == 1 {
+                       // Asking for the cli help should not result in a non-zero exit code
+                       exitcode = 0
+               }
                return
        }