diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go index 321d0a9ec2..9adf964c34 100644 --- a/cmd/minikube/cmd/start.go +++ b/cmd/minikube/cmd/start.go @@ -119,13 +119,14 @@ const ( ) var ( - registryMirror []string - dockerEnv []string - dockerOpt []string - insecureRegistry []string - apiServerNames []string - apiServerIPs []net.IP - extraOptions cfg.ExtraOptionSlice + registryMirror []string + dockerEnv []string + dockerOpt []string + insecureRegistry []string + apiServerNames []string + apiServerIPs []net.IP + extraOptions cfg.ExtraOptionSlice + enableUpdateNotification = true ) func init() { @@ -290,13 +291,7 @@ func runStart(cmd *cobra.Command, args []string) { validateFlags(driver) validateUser(driver) - v, err := version.GetSemverVersion() - if err != nil { - out.WarningT("Error parsing minikube version: {{.error}}", out.V{"error": err}) - } else if err := drivers.InstallOrUpdate(driver, localpath.MakeMiniPath("bin"), v, viper.GetBool(interactive)); err != nil { - out.WarningT("Unable to update {{.driver}} driver: {{.error}}", out.V{"driver": driver, "error": err}) - } - + _ = getMinikubeVersion(driver) k8sVersion, isUpgrade := getKubernetesVersion(oldConfig) config, err := generateCfgFromFlags(cmd, k8sVersion, driver) if err != nil { @@ -927,6 +922,17 @@ func validateNetwork(h *host.Host) string { return ip } +// getMinikubeVersion ensures that the driver binary is up to date +func getMinikubeVersion(driver string) string { + v, err := version.GetSemverVersion() + if err != nil { + out.WarningT("Error parsing minikube version: {{.error}}", out.V{"error": err}) + } else if err := drivers.InstallOrUpdate(driver, localpath.MakeMiniPath("bin"), v, viper.GetBool(interactive)); err != nil { + out.WarningT("Unable to update {{.driver}} driver: {{.error}}", out.V{"driver": driver, "error": err}) + } + return v.String() +} + // getKubernetesVersion ensures that the requested version is reasonable func getKubernetesVersion(old *cfg.Config) (string, bool) { rawVersion := viper.GetString(kubernetesVersion) diff --git a/cmd/minikube/cmd/update-check.go b/cmd/minikube/cmd/update-check.go index ec519cae35..5fab5cfe05 100644 --- a/cmd/minikube/cmd/update-check.go +++ b/cmd/minikube/cmd/update-check.go @@ -28,6 +28,10 @@ var updateCheckCmd = &cobra.Command{ Use: "update-check", Short: "Print current and latest version number", Long: `Print current and latest version number`, + PersistentPreRun: func(cmd *cobra.Command, args []string) { + // Explicitly disable update checking for the version command + enableUpdateNotification = false + }, Run: func(command *cobra.Command, args []string) { url := notify.GithubMinikubeReleasesURL r, err := notify.GetAllVersionsFromURL(url) diff --git a/cmd/minikube/cmd/version.go b/cmd/minikube/cmd/version.go index 00c61efd88..a7cb944d0d 100644 --- a/cmd/minikube/cmd/version.go +++ b/cmd/minikube/cmd/version.go @@ -26,6 +26,10 @@ var versionCmd = &cobra.Command{ Use: "version", Short: "Print the version of minikube", Long: `Print the version of minikube.`, + PersistentPreRun: func(cmd *cobra.Command, args []string) { + // Explicitly disable update checking for the version command + enableUpdateNotification = false + }, Run: func(command *cobra.Command, args []string) { out.Ln("minikube version: %v", version.GetVersion()) gitCommitID := version.GetGitCommitID()