Explorar el Código

pkg: handle version env variable

Version flag is meant for displaying version and it's a boolean.
It's for an internal use, and we may not want users to set
it in the environment.

Fixes # 11210
Sahdev P. Zala hace 6 años
padre
commit
27535517b1
Se han modificado 1 ficheros con 7 adiciones y 0 borrados
  1. 7 0
      etcdmain/config.go

+ 7 - 0
etcdmain/config.go

@@ -316,6 +316,13 @@ func (cfg *config) parse(arguments []string) error {
 }
 
 func (cfg *config) configFromCmdLine() error {
+	verKey := "ETCD_VERSION"
+	if verVal := os.Getenv(verKey); verVal != "" {
+		// unset to avoid any possible side-effect.
+		os.Unsetenv(verKey)
+		plog.Warningf("cannot set special environment variable %s=%s", verKey, verVal)
+	}
+
 	err := flags.SetFlagsFromEnv("ETCD", cfg.cf.flagSet)
 	if err != nil {
 		return err