Skip to content

Commit 1a01b94

Browse files
committed
Clarify logic around beginDownloadKicArtifacts
1 parent 1f7ae5b commit 1a01b94

File tree

2 files changed

+18
-14
lines changed

2 files changed

+18
-14
lines changed

pkg/minikube/node/cache.go

+12-7
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ import (
3535
"k8s.io/minikube/pkg/minikube/out"
3636
)
3737

38-
// beginCacheRequiredImages caches images required for kubernetes version in the background
39-
func beginCacheRequiredImages(g *errgroup.Group, imageRepository string, k8sVersion string) {
38+
// beginCacheKubernetesImages caches images required for kubernetes version in the background
39+
func beginCacheKubernetesImages(g *errgroup.Group, imageRepository string, k8sVersion string) {
4040
if !viper.GetBool("cache-images") {
4141
return
4242
}
@@ -82,17 +82,22 @@ func doCacheBinaries(k8sVersion string) error {
8282
return machine.CacheBinariesForBootstrapper(k8sVersion, viper.GetString(cmdcfg.Bootstrapper))
8383
}
8484

85-
func beginDownloadKicArtifacts(g *errgroup.Group, k8sVersion, cRuntime string) {
85+
// beginDownloadKicArtifacts downloads the kic image + preload tarball, returns true if preload is available
86+
func beginDownloadKicArtifacts(g *errgroup.Group, k8sVersion, cRuntime string) bool {
8687
glog.Info("Beginning downloading kic artifacts")
8788
g.Go(func() error {
8889
glog.Infof("Downloading %s to local daemon", kic.BaseImage)
8990
return image.WriteImageToDaemon(kic.BaseImage)
9091
})
9192

92-
g.Go(func() error {
93-
glog.Info("Caching tarball of preloaded images")
94-
return download.Preload(k8sVersion, cRuntime)
95-
})
93+
if download.PreloadExists(k8sVersion, cRuntime) {
94+
g.Go(func() error {
95+
glog.Info("Caching tarball of preloaded images")
96+
return download.Preload(k8sVersion, cRuntime)
97+
})
98+
return true
99+
}
100+
return false
96101
}
97102

98103
func waitDownloadKicArtifacts(g *errgroup.Group) {

pkg/minikube/node/start.go

+6-7
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323
"golang.org/x/sync/errgroup"
2424
"k8s.io/minikube/pkg/addons"
2525
"k8s.io/minikube/pkg/minikube/config"
26-
"k8s.io/minikube/pkg/minikube/download"
2726
"k8s.io/minikube/pkg/minikube/driver"
2827
"k8s.io/minikube/pkg/minikube/exit"
2928
"k8s.io/minikube/pkg/minikube/kubeconfig"
@@ -41,17 +40,17 @@ func Start(mc config.ClusterConfig, n config.Node, primary bool, existingAddons
4140
// See if we can create a volume of preloaded images
4241
// If not, pull images in the background while the VM boots.
4342
var kicGroup errgroup.Group
44-
downloadImages := true
43+
needKubernetesImages := true
4544
if driver.IsKIC(driverName) {
46-
if download.PreloadExists(k8sVersion, mc.KubernetesConfig.ContainerRuntime) {
47-
beginDownloadKicArtifacts(&kicGroup, k8sVersion, mc.KubernetesConfig.ContainerRuntime)
48-
downloadImages = false
45+
// If we can download a preload tarball, it isn't necessary to pull Kubernetes images
46+
if beginDownloadKicArtifacts(&kicGroup, k8sVersion, mc.KubernetesConfig.ContainerRuntime) {
47+
needKubernetesImages = false
4948
}
5049
}
5150

5251
var cacheGroup errgroup.Group
53-
if downloadImages {
54-
beginCacheRequiredImages(&cacheGroup, mc.KubernetesConfig.ImageRepository, k8sVersion)
52+
if needKubernetesImages {
53+
beginCacheKubernetesImages(&cacheGroup, mc.KubernetesConfig.ImageRepository, k8sVersion)
5554
}
5655

5756
// Abstraction leakage alert: startHost requires the config to be saved, to satistfy pkg/provision/buildroot.

0 commit comments

Comments
 (0)