diff --git a/cmd/podman/registry/remote.go b/cmd/podman/registry/remote.go index b5da98bd47b8..c78930574d9d 100644 --- a/cmd/podman/registry/remote.go +++ b/cmd/podman/registry/remote.go @@ -19,11 +19,17 @@ var remoteFromCLI = struct { // Use in init() functions as an initialization check func IsRemote() bool { remoteFromCLI.sync.Do(func() { + remote := false + if _, ok := os.LookupEnv("CONTAINER_HOST"); ok { + remote = true + } else if _, ok := os.LookupEnv("CONTAINER_CONNECTION"); ok { + remote = true + } fs := pflag.NewFlagSet("remote", pflag.ContinueOnError) fs.ParseErrorsWhitelist.UnknownFlags = true fs.Usage = func() {} fs.SetInterspersed(false) - fs.BoolVarP(&remoteFromCLI.Value, "remote", "r", false, "") + fs.BoolVarP(&remoteFromCLI.Value, "remote", "r", remote, "") // The shell completion logic will call a command called "__complete" or "__completeNoDesc" // This command will always be the second argument diff --git a/cmd/podman/root.go b/cmd/podman/root.go index 734636646dd3..6da34050edd8 100644 --- a/cmd/podman/root.go +++ b/cmd/podman/root.go @@ -314,15 +314,7 @@ func rootFlags(cmd *cobra.Command, opts *entities.PodmanConfig) { lFlags.StringVar(&opts.Identity, identityFlagName, ident, "path to SSH identity file, (CONTAINER_SSHKEY)") _ = cmd.RegisterFlagCompletionFunc(identityFlagName, completion.AutocompleteDefault) - remote := false - if env, ok := os.LookupEnv("CONTAINER_HOST"); ok { - logrus.Infof("CONTAINER_HOST==%q, defaulting to '--remote=true'", env) - remote = true - } else if env, ok := os.LookupEnv("CONTAINER_CONNECTION"); ok { - logrus.Infof("CONTAINER_CONNECTION==%q, defaulting to '--remote=true'", env) - remote = true - } - lFlags.BoolVarP(&opts.Remote, "remote", "r", remote, "Access remote Podman service") + lFlags.BoolVarP(&opts.Remote, "remote", "r", registry.IsRemote(), "Access remote Podman service") pFlags := cmd.PersistentFlags() if registry.IsRemote() { if err := lFlags.MarkHidden("remote"); err != nil { diff --git a/test/system/001-basic.bats b/test/system/001-basic.bats index 2de96a01af51..50735f576264 100644 --- a/test/system/001-basic.bats +++ b/test/system/001-basic.bats @@ -98,8 +98,19 @@ function setup() { skip "only applicable on a local run" fi - CONTAINER_HOST=foobar run_podman --log-level=info --help - is "$output" ".*defaulting to '--remote=true'" "CONTAINER_HOST sets --remote true" + CONTAINER_HOST=foobar run_podman --help + # Should not have --remote flag + echo $output | grep -v -qw -- "--remote" + if [ $? -ne 0 ]; then + die "Should not have --remote flag" + fi + + CONTAINER_CONNECTION=foobar run_podman --help + # Should not have --remote flag + echo $output | grep -v -qw -- "--remote" + if [ $? -ne 0 ]; then + die "Should not have --remote flag" + fi } # Check that just calling "podman-remote" prints the usage message even