diff --git a/cmd/kube-apiserver/app/server.go b/cmd/kube-apiserver/app/server.go index 68b864312c5..64e1866fb7e 100644 --- a/cmd/kube-apiserver/app/server.go +++ b/cmd/kube-apiserver/app/server.go @@ -104,6 +104,9 @@ cluster's shared state through which all other components interact.`, // Run runs the specified APIServer. This should never exit. func Run(runOptions *options.ServerRunOptions, stopCh <-chan struct{}) error { + // To help debugging, immediately log version + glog.Infof("Version: %+v", version.Get()) + nodeTunneler, proxyTransport, err := CreateNodeDialer(runOptions) if err != nil { return err diff --git a/cmd/kube-controller-manager/app/controllermanager.go b/cmd/kube-controller-manager/app/controllermanager.go index 4275834e46c..f30df0fa2e1 100644 --- a/cmd/kube-controller-manager/app/controllermanager.go +++ b/cmd/kube-controller-manager/app/controllermanager.go @@ -57,6 +57,7 @@ import ( serviceaccountcontroller "k8s.io/kubernetes/pkg/controller/serviceaccount" "k8s.io/kubernetes/pkg/serviceaccount" "k8s.io/kubernetes/pkg/util/configz" + "k8s.io/kubernetes/pkg/version" "github.com/golang/glog" "github.com/prometheus/client_golang/prometheus" @@ -102,6 +103,8 @@ func ResyncPeriod(s *options.CMServer) func() time.Duration { // Run runs the CMServer. This should never exit. func Run(s *options.CMServer) error { + // To help debugging, immediately log version + glog.Infof("Version: %+v", version.Get()) if err := s.Validate(KnownControllers(), ControllersDisabledByDefault.List()); err != nil { return err } diff --git a/staging/src/k8s.io/apiserver/pkg/util/flag/flags.go b/staging/src/k8s.io/apiserver/pkg/util/flag/flags.go index 24e961f27cf..8d9a132218c 100644 --- a/staging/src/k8s.io/apiserver/pkg/util/flag/flags.go +++ b/staging/src/k8s.io/apiserver/pkg/util/flag/flags.go @@ -43,9 +43,12 @@ func WarnWordSepNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedNam return pflag.NormalizedName(name) } -// InitFlags normalizes and parses the command line flags +// InitFlags normalizes, parses, then logs the command line flags func InitFlags() { pflag.CommandLine.SetNormalizeFunc(WordSepNormalizeFunc) pflag.CommandLine.AddGoFlagSet(goflag.CommandLine) pflag.Parse() + pflag.VisitAll(func(flag *pflag.Flag) { + glog.Infof("FLAG: --%s=%q", flag.Name, flag.Value) + }) }