From 05b9662b9fd6c6b118dafd3bf1647018ae57b16a Mon Sep 17 00:00:00 2001 From: Priya Wadhwa Date: Thu, 5 Mar 2020 11:55:53 -0800 Subject: [PATCH] Remove extracting tarball to volume so that it only happens once for kic --- pkg/drivers/kic/kic.go | 10 ---------- pkg/drivers/kic/oci/volumes.go | 13 ------------- pkg/minikube/cruntime/docker.go | 4 ++-- 3 files changed, 2 insertions(+), 25 deletions(-) diff --git a/pkg/drivers/kic/kic.go b/pkg/drivers/kic/kic.go index f33bda1f3d..160896a33d 100644 --- a/pkg/drivers/kic/kic.go +++ b/pkg/drivers/kic/kic.go @@ -36,7 +36,6 @@ import ( "k8s.io/minikube/pkg/minikube/assets" "k8s.io/minikube/pkg/minikube/command" "k8s.io/minikube/pkg/minikube/constants" - "k8s.io/minikube/pkg/minikube/download" ) // Driver represents a kic driver https://minikube.sigs.k8s.io/docs/reference/drivers/docker @@ -100,15 +99,6 @@ func (d *Driver) Create() error { return errors.Wrap(err, "prepare kic ssh") } - t := time.Now() - glog.Infof("Starting extracting preloaded images to volume") - // Extract preloaded images to container - if err := oci.ExtractTarballToVolume(download.TarballPath(d.NodeConfig.KubernetesVersion), params.Name, BaseImage); err != nil { - glog.Infof("Unable to extract preloaded tarball to volume: %v", err) - } else { - glog.Infof("Took %f seconds to extract preloaded images to volume", time.Since(t).Seconds()) - } - return nil } diff --git a/pkg/drivers/kic/oci/volumes.go b/pkg/drivers/kic/oci/volumes.go index 2163d3bf65..62104e115d 100644 --- a/pkg/drivers/kic/oci/volumes.go +++ b/pkg/drivers/kic/oci/volumes.go @@ -103,19 +103,6 @@ func allVolumesByLabel(ociBin string, label string) ([]string, error) { return vols, err } -// ExtractTarballToVolume runs a docker image imageName which extracts the tarball at tarballPath -// to the volume named volumeName -func ExtractTarballToVolume(tarballPath, volumeName, imageName string) error { - if err := PointToHostDockerDaemon(); err != nil { - return errors.Wrap(err, "point host docker-daemon") - } - cmd := exec.Command(Docker, "run", "--rm", "--entrypoint", "/usr/bin/tar", "-v", fmt.Sprintf("%s:/preloaded.tar:ro", tarballPath), "-v", fmt.Sprintf("%s:/extractDir", volumeName), imageName, "-I", "lz4", "-xvf", "/preloaded.tar", "-C", "/extractDir") - if out, err := cmd.CombinedOutput(); err != nil { - return errors.Wrapf(err, "output %s", string(out)) - } - return nil -} - // createDockerVolume creates a docker volume to be attached to the container with correct labels and prefixes based on profile name // Caution ! if volume already exists does NOT return an error and will not apply the minikube labels on it. // TODO: this should be fixed as a part of https://github.com/kubernetes/minikube/issues/6530 diff --git a/pkg/minikube/cruntime/docker.go b/pkg/minikube/cruntime/docker.go index abaf47b43b..8e136a4265 100644 --- a/pkg/minikube/cruntime/docker.go +++ b/pkg/minikube/cruntime/docker.go @@ -26,8 +26,8 @@ import ( "github.com/golang/glog" "github.com/pkg/errors" "k8s.io/minikube/pkg/minikube/assets" - "k8s.io/minikube/pkg/minikube/out" "k8s.io/minikube/pkg/minikube/download" + "k8s.io/minikube/pkg/minikube/out" ) // KubernetesContainerPrefix is the prefix of each kubernetes container @@ -272,7 +272,7 @@ func (r *Docker) SystemLogCmd(len int) string { // 3. Remove the tarball within the VM func (r *Docker) Preload(k8sVersion string) error { tarballPath := download.TarballPath(k8sVersion) - dest := "/tmp/preloaded.tar" + dest := "/preloaded.tar" // Copy over tarball into host fa, err := assets.NewFileAsset(tarballPath, filepath.Dir(dest), filepath.Base(dest), "0644")