X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/05eca3060c7200e47dd83cdcf8f4f7bcad14f62f..773413b6decf25e4ab669881e00c507aa8a1486f:/lib/config/cmd.go diff --git a/lib/config/cmd.go b/lib/config/cmd.go index 5cb76fc35d..8e638e6ecb 100644 --- a/lib/config/cmd.go +++ b/lib/config/cmd.go @@ -12,7 +12,7 @@ import ( "os" "os/exec" - "git.curoverse.com/arvados.git/sdk/go/ctxlog" + "git.arvados.org/arvados.git/sdk/go/ctxlog" "github.com/ghodss/yaml" "github.com/sirupsen/logrus" ) @@ -90,6 +90,7 @@ func (checkCommand) RunCommand(prog string, args []string, stdin io.Reader, stdo flags := flag.NewFlagSet("", flag.ContinueOnError) flags.SetOutput(stderr) loader.SetupFlags(flags) + strict := flags.Bool("strict", true, "Strict validation of configuration file (warnings result in non-zero exit code)") err = flags.Parse(args) if err == flag.ErrHelp { @@ -113,11 +114,16 @@ func (checkCommand) RunCommand(prog string, args []string, stdin io.Reader, stdo // such that the deprecated keys/files are superfluous and can // be deleted. loader.SkipDeprecated = true + loader.SkipLegacy = true withoutDepr, err := loader.Load() if err != nil { return 1 } + // Reset() to avoid printing the same warnings twice when they + // are logged by both without-legacy and with-legacy loads. + logbuf.Reset() loader.SkipDeprecated = false + loader.SkipLegacy = false withDepr, err := loader.Load() if err != nil { return 1 @@ -141,15 +147,21 @@ func (checkCommand) RunCommand(prog string, args []string, stdin io.Reader, stdo fmt.Fprintln(stdout, "Your configuration is relying on deprecated entries. Suggest making the following changes.") stdout.Write(diff) err = nil - return 1 + if *strict { + return 1 + } } else if len(diff) > 0 { fmt.Fprintf(stderr, "Unexpected diff output:\n%s", diff) - return 1 + if *strict { + return 1 + } } else if err != nil { return 1 } if logbuf.Len() > 0 { - return 1 + if *strict { + return 1 + } } return 0 }