未验证 提交 2490bf78 编写于 作者: M Medya Ghazizadeh 提交者: GitHub

Merge pull request #7821 from medyagh/fix_preload

fix preload script
......@@ -30,7 +30,6 @@ import (
"k8s.io/minikube/pkg/minikube/bootstrapper/images"
"k8s.io/minikube/pkg/minikube/command"
"k8s.io/minikube/pkg/minikube/config"
"k8s.io/minikube/pkg/minikube/constants"
"k8s.io/minikube/pkg/minikube/cruntime"
"k8s.io/minikube/pkg/minikube/driver"
"k8s.io/minikube/pkg/minikube/localpath"
......@@ -40,12 +39,6 @@ import (
)
func generateTarball(kubernetesVersion, containerRuntime, tarballFilename string) error {
defer func() {
if err := deleteMinikube(); err != nil {
fmt.Println(err)
}
}()
driver := kic.NewDriver(kic.Config{
KubernetesVersion: kubernetesVersion,
ContainerRuntime: driver.Docker,
......@@ -80,7 +73,7 @@ func generateTarball(kubernetesVersion, containerRuntime, tarballFilename string
runner := command.NewKICRunner(profile, driver.OCIBinary)
// will need to do this to enable the container run-time service
sv, err := util.ParseKubernetesVersion(constants.DefaultKubernetesVersion)
sv, err := util.ParseKubernetesVersion(kubernetesVersion)
if err != nil {
return errors.Wrap(err, "Failed to parse kubernetes version")
}
......@@ -182,7 +175,7 @@ func copyTarballToHost(tarballFilename string) error {
}
func deleteMinikube() error {
cmd := exec.Command(minikubePath, "delete", "--all", "--prune") // to avoid https://github.com/kubernetes/minikube/issues/7814
cmd := exec.Command(minikubePath, "delete", "-p", profile) // to avoid https://github.com/kubernetes/minikube/issues/7814
cmd.Stdout = os.Stdout
return cmd.Run()
}
......@@ -20,12 +20,13 @@ import (
"bytes"
"flag"
"fmt"
"os"
"os/exec"
"runtime/debug"
"strings"
"github.com/spf13/viper"
"k8s.io/minikube/pkg/minikube/download"
"k8s.io/minikube/pkg/minikube/exit"
)
const (
......@@ -52,22 +53,22 @@ func init() {
func main() {
defer func() {
if err := deleteMinikube(); err != nil {
fmt.Printf("error cleaning up minikube: %v", err)
fmt.Printf("error cleaning up minikube: %v \n", err)
}
}()
if err := deleteMinikube(); err != nil {
fmt.Printf("error cleaning up minikube at start up: %v", err)
fmt.Printf("error cleaning up minikube at start up: %v \n", err)
}
if err := verifyDockerStorage(); err != nil {
exit.WithError("Docker storage type is incompatible: %v\n", err)
exit("Docker storage type is incompatible: %v \n", err)
}
if k8sVersions == nil {
var err error
k8sVersions, err = RecentK8sVersions()
if err != nil {
exit.WithError("Unable to get recent k8s versions: %v\n", err)
exit("Unable to get recent k8s versions: %v\n", err)
}
}
......@@ -80,14 +81,14 @@ func main() {
}
fmt.Printf("A preloaded tarball for k8s version %s - runtime %q doesn't exist, generating now...\n", kv, cr)
if err := generateTarball(kv, cr, tf); err != nil {
exit.WithError(fmt.Sprintf("generating tarball for k8s version %s with %s", kv, cr), err)
exit(fmt.Sprintf("generating tarball for k8s version %s with %s", kv, cr), err)
}
if err := uploadTarball(tf); err != nil {
exit.WithError(fmt.Sprintf("uploading tarball for k8s version %s with %s", kv, cr), err)
exit(fmt.Sprintf("uploading tarball for k8s version %s with %s", kv, cr), err)
}
if err := deleteMinikube(); err != nil {
fmt.Printf("error cleaning up minikube at start up: %v", err)
fmt.Printf("error cleaning up minikube before finishing up: %v\n", err)
}
}
......@@ -108,3 +109,12 @@ func verifyDockerStorage() error {
}
return nil
}
// exit will exit and clean up minikube
func exit(msg string, err error) {
fmt.Printf("WithError(%s)=%v called from:\n%s", msg, err, debug.Stack())
if err := deleteMinikube(); err != nil {
fmt.Printf("error cleaning up minikube at start up: %v\n", err)
}
os.Exit(60)
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册