提交 328466f1 编写于 作者: P Priya Wadhwa

Check if preloaded volume is attached before skipping binary transfer

上级 cc1a6f11
......@@ -96,7 +96,7 @@ func CreatePreloadedImagesVolume(k8sVersion, baseImage, profile string) (string,
if err := PointToHostDockerDaemon(); err != nil {
return "", errors.Wrap(err, "point host docker-daemon")
}
volumeName := fmt.Sprintf("k8s-%s-%s", k8sVersion, profile)
volumeName := preloadedVolumeName(k8sVersion, profile)
if dockerVolumeExists(volumeName) {
return volumeName, nil
}
......@@ -172,3 +172,31 @@ func deleteDockerVolume(name string) error {
}
return nil
}
func preloadedVolumeName(k8sVersion, profile string) string {
return fmt.Sprintf("k8s-%s-%s", k8sVersion, profile)
}
// PreloadedVolumeAttached returns true if the preloaded volume is attached
// to the running profile
func PreloadedVolumeAttached(k8sVersion, profile string) bool {
glog.Infof("Checking if preloaded volume is attached to %s", profile)
if err := PointToHostDockerDaemon(); err != nil {
glog.Infof("error pointing host to docker daemon: %v", err)
return false
}
volumeName := preloadedVolumeName(k8sVersion, profile)
cmd := exec.Command(Docker, "inspect", "-f", "{{range .Mounts}} {{.Name}} {{end}}", profile)
out, err := cmd.CombinedOutput()
if err != nil {
glog.Infof("error inspecting mounted volumes: %v", err)
return false
}
vols := strings.Split(string(out), " ")
for _, v := range vols {
if strings.TrimSpace(v) == volumeName {
return true
}
}
return false
}
......@@ -52,7 +52,6 @@ import (
"k8s.io/minikube/pkg/minikube/driver"
"k8s.io/minikube/pkg/minikube/machine"
"k8s.io/minikube/pkg/minikube/out"
"k8s.io/minikube/pkg/minikube/preload"
"k8s.io/minikube/pkg/minikube/vmpath"
"k8s.io/minikube/pkg/util/retry"
)
......@@ -438,7 +437,7 @@ func (k *Bootstrapper) UpdateCluster(cfg config.MachineConfig) error {
}
// Skip transfer if using preloaded kic volume
skipTransfer := driver.IsKIC(cfg.Driver) && preload.UsingPreloadedVolume(cfg.KubernetesConfig.KubernetesVersion)
skipTransfer := oci.PreloadedVolumeAttached(cfg.KubernetesConfig.KubernetesVersion, viper.GetString(config.MachineProfile))
if !skipTransfer {
if err := bsutil.TransferBinaries(cfg.KubernetesConfig, k.c); err != nil {
return errors.Wrap(err, "downloading binaries")
......
......@@ -121,14 +121,6 @@ func saveChecksumFile(k8sVersion string) error {
return ioutil.WriteFile(checksumFilepath(k8sVersion), checksum, 0644)
}
func cachedTarballExists(k8sVersion string) bool {
_, err := os.Stat(TarballFilepath(k8sVersion))
if err != nil {
return false
}
return false
}
// verifyChecksum returns true if the checksum of the local binary matches
// the checksum of the remote binary
func verifyChecksum(k8sVersion string) error {
......@@ -150,7 +142,3 @@ func verifyChecksum(k8sVersion string) error {
}
return nil
}
func UsingPreloadedVolume(k8sVersion string) bool {
return true
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册