From 2d30b4dee596157d85ce9728921286a6242b5a29 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Mon, 15 Aug 2022 07:18:34 -0400 Subject: Add compatibility support for --debug -D flag from docker This is another fix for https://github.com/containers/podman/issues/14917 Signed-off-by: Daniel J Walsh --- cmd/podman/root.go | 15 ++++++++++++++- test/system/001-basic.bats | 3 +++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/cmd/podman/root.go b/cmd/podman/root.go index 3637b2674..f45dc94b2 100644 --- a/cmd/podman/root.go +++ b/cmd/podman/root.go @@ -71,7 +71,10 @@ var ( DisableFlagsInUseLine: true, } - logLevel = "warn" + defaultLogLevel = "warn" + logLevel = defaultLogLevel + debug bool + useSyslog bool requireCleanup = true ) @@ -310,6 +313,13 @@ func persistentPostRunE(cmd *cobra.Command, args []string) error { func loggingHook() { var found bool + if debug { + if logLevel != defaultLogLevel { + fmt.Fprintf(os.Stderr, "Setting --log-level and --debug is not allowed\n") + os.Exit(1) + } + logLevel = "debug" + } for _, l := range common.LogLevels { if l == strings.ToLower(logLevel) { found = true @@ -465,6 +475,9 @@ func rootFlags(cmd *cobra.Command, opts *entities.PodmanConfig) { pFlags.StringVar(&logLevel, logLevelFlagName, logLevel, fmt.Sprintf("Log messages above specified level (%s)", strings.Join(common.LogLevels, ", "))) _ = rootCmd.RegisterFlagCompletionFunc(logLevelFlagName, common.AutocompleteLogLevel) + pFlags.BoolVar(&debug, "debug", false, "Docker compatibility, force setting of log-level") + _ = pFlags.MarkHidden("debug") + // Only create these flags for ABI connections if !registry.IsRemote() { runtimeflagFlagName := "runtime-flag" diff --git a/test/system/001-basic.bats b/test/system/001-basic.bats index cf37fc07c..584511388 100644 --- a/test/system/001-basic.bats +++ b/test/system/001-basic.bats @@ -190,6 +190,9 @@ See 'podman version --help'" "podman version --remote" run_podman --log-level=error info run_podman --log-level=fatal info run_podman --log-level=panic info + run_podman --debug info + run_podman 1 --debug --log-level=panic info + is "$output" "Setting --log-level and --debug is not allowed" } # vim: filetype=sh -- cgit v1.2.3-54-g00ecf