From 63bfd32ad3085375403622474129011965122926 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Str=C3=B6mberg?= Date: Thu, 2 May 2019 11:26:04 -0700 Subject: [PATCH] Revert "Initial implementation of kubectl command" --- cmd/minikube/cmd/kubectl.go | 88 -------------------- pkg/minikube/bootstrapper/kubeadm/kubeadm.go | 3 +- pkg/minikube/constants/constants.go | 9 +- pkg/minikube/machine/cache_binaries.go | 14 +--- 4 files changed, 10 insertions(+), 104 deletions(-) delete mode 100644 cmd/minikube/cmd/kubectl.go diff --git a/cmd/minikube/cmd/kubectl.go b/cmd/minikube/cmd/kubectl.go deleted file mode 100644 index f25bffdb00..0000000000 --- a/cmd/minikube/cmd/kubectl.go +++ /dev/null @@ -1,88 +0,0 @@ -/* -Copyright 2019 The Kubernetes Authors All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package cmd - -import ( - "fmt" - "os" - "os/exec" - "runtime" - "syscall" - - "github.com/golang/glog" - "github.com/spf13/cobra" - pkg_config "k8s.io/minikube/pkg/minikube/config" - "k8s.io/minikube/pkg/minikube/console" - "k8s.io/minikube/pkg/minikube/constants" - "k8s.io/minikube/pkg/minikube/exit" - "k8s.io/minikube/pkg/minikube/machine" -) - -// kubectlCmd represents the kubectl command -var kubectlCmd = &cobra.Command{ - Use: "kubectl", - Short: "Run kubectl", - Long: `Run the kubernetes client, download it if necessary.`, - Run: func(cmd *cobra.Command, args []string) { - api, err := machine.NewAPIClient() - if err != nil { - fmt.Fprintf(os.Stderr, "Error getting client: %v\n", err) - os.Exit(1) - } - defer api.Close() - - cc, err := pkg_config.Load() - if err != nil && !os.IsNotExist(err) { - console.ErrLn("Error loading profile config: %v", err) - } - - binary := "kubectl" - if runtime.GOOS == "windows" { - binary = "kubectl.exe" - } - - version := constants.DefaultKubernetesVersion - if cc != nil { - version = cc.KubernetesConfig.KubernetesVersion - } - - path, err := machine.CacheBinary(binary, version, runtime.GOOS, runtime.GOARCH) - if err != nil { - exit.WithError("Failed to download kubectl", err) - } - - glog.Infof("Running %s %v", path, args) - c := exec.Command(path, args...) - c.Stdout = os.Stdout - c.Stderr = os.Stderr - if err := c.Run(); err != nil { - var rc int - if exitError, ok := err.(*exec.ExitError); ok { - waitStatus := exitError.Sys().(syscall.WaitStatus) - rc = waitStatus.ExitStatus() - } else { - fmt.Fprintf(os.Stderr, "Error running %s: %v\n", path, err) - rc = 1 - } - os.Exit(rc) - } - }, -} - -func init() { - RootCmd.AddCommand(kubectlCmd) -} diff --git a/pkg/minikube/bootstrapper/kubeadm/kubeadm.go b/pkg/minikube/bootstrapper/kubeadm/kubeadm.go index c40046604f..dde133e34c 100644 --- a/pkg/minikube/bootstrapper/kubeadm/kubeadm.go +++ b/pkg/minikube/bootstrapper/kubeadm/kubeadm.go @@ -22,7 +22,6 @@ import ( "fmt" "net" "net/http" - "runtime" "strings" "time" @@ -573,7 +572,7 @@ func downloadBinaries(cfg config.KubernetesConfig, c bootstrapper.CommandRunner) for _, bin := range constants.GetKubeadmCachedBinaries() { bin := bin g.Go(func() error { - path, err := machine.CacheBinary(bin, cfg.KubernetesVersion, "linux", runtime.GOARCH) + path, err := machine.CacheBinary(bin, cfg.KubernetesVersion) if err != nil { return errors.Wrapf(err, "downloading %s", bin) } diff --git a/pkg/minikube/constants/constants.go b/pkg/minikube/constants/constants.go index c96b06fe46..2e4d23e3df 100644 --- a/pkg/minikube/constants/constants.go +++ b/pkg/minikube/constants/constants.go @@ -20,6 +20,7 @@ import ( "fmt" "os" "path/filepath" + "runtime" "strings" "time" @@ -220,13 +221,13 @@ const ( ) // GetKubernetesReleaseURL gets the location of a kubernetes client -func GetKubernetesReleaseURL(binaryName, version, osName, archName string) string { - return fmt.Sprintf("https://storage.googleapis.com/kubernetes-release/release/%s/bin/%s/%s/%s", version, osName, archName, binaryName) +func GetKubernetesReleaseURL(binaryName, version string) string { + return fmt.Sprintf("https://storage.googleapis.com/kubernetes-release/release/%s/bin/linux/%s/%s", version, runtime.GOARCH, binaryName) } // GetKubernetesReleaseURLSHA1 gets the location of a kubernetes client checksum -func GetKubernetesReleaseURLSHA1(binaryName, version, osName, archName string) string { - return fmt.Sprintf("%s.sha1", GetKubernetesReleaseURL(binaryName, version, osName, archName)) +func GetKubernetesReleaseURLSHA1(binaryName, version string) string { + return fmt.Sprintf("%s.sha1", GetKubernetesReleaseURL(binaryName, version)) } // IsMinikubeChildProcess is the name of "is minikube child process" variable diff --git a/pkg/minikube/machine/cache_binaries.go b/pkg/minikube/machine/cache_binaries.go index 7ffb27c434..cd1a083d5c 100644 --- a/pkg/minikube/machine/cache_binaries.go +++ b/pkg/minikube/machine/cache_binaries.go @@ -20,7 +20,6 @@ import ( "crypto" "os" "path" - "runtime" "github.com/golang/glog" "github.com/jimmidyson/go-download" @@ -40,7 +39,7 @@ func CacheBinariesForBootstrapper(version string, clusterBootstrapper string) er for _, bin := range binaries { bin := bin g.Go(func() error { - if _, err := CacheBinary(bin, version, "linux", runtime.GOARCH); err != nil { + if _, err := CacheBinary(bin, version); err != nil { return errors.Wrapf(err, "caching image %s", bin) } return nil @@ -50,11 +49,11 @@ func CacheBinariesForBootstrapper(version string, clusterBootstrapper string) er } // CacheBinary will cache a binary on the host -func CacheBinary(binary, version, osName, archName string) (string, error) { +func CacheBinary(binary, version string) (string, error) { targetDir := constants.MakeMiniPath("cache", version) targetFilepath := path.Join(targetDir, binary) - url := constants.GetKubernetesReleaseURL(binary, version, osName, archName) + url := constants.GetKubernetesReleaseURL(binary, version) _, err := os.Stat(targetFilepath) // If it exists, do no verification and continue @@ -74,18 +73,13 @@ func CacheBinary(binary, version, osName, archName string) (string, error) { Mkdirs: download.MkdirAll, } - options.Checksum = constants.GetKubernetesReleaseURLSHA1(binary, version, osName, archName) + options.Checksum = constants.GetKubernetesReleaseURLSHA1(binary, version) options.ChecksumHash = crypto.SHA1 console.OutStyle("file-download", "Downloading %s %s", binary, version) if err := download.ToFile(url, targetFilepath, options); err != nil { return "", errors.Wrapf(err, "Error downloading %s %s", binary, version) } - if osName == runtime.GOOS && archName == runtime.GOARCH { - if err = os.Chmod(targetFilepath, 0755); err != nil { - return "", errors.Wrapf(err, "chmod +x %s", targetFilepath) - } - } return targetFilepath, nil }