diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go index b809f0eb0d..bb2e93458b 100644 --- a/cmd/minikube/cmd/start.go +++ b/cmd/minikube/cmd/start.go @@ -340,8 +340,8 @@ func runStart(cmd *cobra.Command, args []string) { if !exists || config.VMDriver == constants.DriverNone { fmt.Println("Starting cluster components...") if err := k8sBootstrapper.StartCluster(kubernetesConfig); err != nil { - glog.Errorln("Error starting cluster: ", err) - cmdutil.MaybeReportErrorAndExit(fmt.Errorf("%s\nYou may be able to failure logs using: 'minikube logs'\n")) + glog.Errorf("Error starting cluster: %v", err) + cmdutil.MaybeReportErrorAndExit(err) } } else { fmt.Println("Machine exists, restarting cluster components...") diff --git a/cmd/util/util.go b/cmd/util/util.go index 572eaf4e58..123d55661c 100644 --- a/cmd/util/util.go +++ b/cmd/util/util.go @@ -130,6 +130,7 @@ func MaybeReportErrorAndExit(errToReport error) { MaybeReportErrorAndExitWithCode(errToReport, 1) } +// MaybeReportErrorAndExitWithCode prompts the user if they would like to report a stack trace, and exits. func MaybeReportErrorAndExitWithCode(errToReport error, returnCode int) { var err error if viper.GetBool(config.WantReportError) { @@ -151,8 +152,10 @@ To disable this prompt, run: 'minikube config set WantReportErrorPrompt false' fmt.Println("Bummer, perhaps next time!") } } + + // This happens when the error was created without errors.Wrap(), and thus has no trace data. if err != nil { - glog.Errorf(err.Error()) + glog.Infof("report error failed: %v", err) } fmt.Printf("\n\nminikube failed :( exiting with error code %d\n", returnCode) os.Exit(returnCode) diff --git a/pkg/minikube/bootstrapper/kubeadm/kubeadm.go b/pkg/minikube/bootstrapper/kubeadm/kubeadm.go index 0849d9860f..a62a63da07 100644 --- a/pkg/minikube/bootstrapper/kubeadm/kubeadm.go +++ b/pkg/minikube/bootstrapper/kubeadm/kubeadm.go @@ -170,7 +170,7 @@ func (k *KubeadmBootstrapper) StartCluster(k8s config.KubernetesConfig) error { out, err := k.c.CombinedOutput(b.String()) if err != nil { - return errors.Wrapf(err, "kubeadm init failed: %s\n%s\n", b.String(), out) + return errors.Wrapf(err, "kubeadm init: %s\n%s\n", b.String(), out) } if version.LT(semver.MustParse("1.10.0-alpha.0")) {