diff --git a/cmd/helm/helm.go b/cmd/helm/helm.go index 56bb04c1e799772d453355cb730b3dbfb26389f4..d9b169f0008de75408305a44c6a783ace9ecc103 100644 --- a/cmd/helm/helm.go +++ b/cmd/helm/helm.go @@ -20,11 +20,14 @@ import ( "errors" "fmt" "io" + "io/ioutil" + "log" "os" "strings" "github.com/spf13/cobra" "google.golang.org/grpc" + "google.golang.org/grpc/grpclog" "k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/unversioned" @@ -90,6 +93,9 @@ func newRootCmd(out io.Writer) *cobra.Command { p.StringVar(&kubeContext, "kube-context", "", "name of the kubeconfig context to use") p.BoolVarP(&flagDebug, "debug", "", false, "enable verbose output") + // Tell gRPC not to log to console. + grpclog.SetLogger(log.New(ioutil.Discard, "", log.LstdFlags)) + rup := newRepoUpdateCmd(out) rup.Deprecated = "use 'helm repo update'\n" diff --git a/cmd/helm/version.go b/cmd/helm/version.go index c92e7250e840e74ffabc5adde680a48fe3bf598f..9a9e111bef3b596695e2747bfce642d2f1d169fb 100644 --- a/cmd/helm/version.go +++ b/cmd/helm/version.go @@ -20,6 +20,7 @@ import ( "errors" "fmt" "io" + "os" "github.com/spf13/cobra" "google.golang.org/grpc" @@ -101,7 +102,10 @@ func (v *versionCmd) run() error { if grpc.Code(err) == codes.Unimplemented { return errors.New("server is too old to know its version") } - return err + if flagDebug { + fmt.Fprintln(os.Stderr, err) + } + return errors.New("cannot connect to Tiller") } fmt.Fprintf(v.out, "Server: %#v\n", resp.Version) return nil