Skip to content

Commit

Permalink
fix KVM not detecting containerd preload
Browse files Browse the repository at this point in the history
  • Loading branch information
spowelljr committed Nov 22, 2023
1 parent 7a90bd1 commit a852131
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions pkg/minikube/cruntime/containerd.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ import (
"k8s.io/minikube/pkg/minikube/download"
"k8s.io/minikube/pkg/minikube/style"
"k8s.io/minikube/pkg/minikube/sysinit"
"k8s.io/minikube/pkg/util/retry"
)

const (
Expand Down Expand Up @@ -568,13 +569,20 @@ func (r *Containerd) Restart() error {

// containerdImagesPreloaded returns true if all images have been preloaded
func containerdImagesPreloaded(runner command.Runner, images []string) bool {
rr, err := runner.RunCmd(exec.Command("sudo", "crictl", "images", "--output", "json"))
if err != nil {
var rr *command.RunResult

imageList := func() (err error) {
rr, err = runner.RunCmd(exec.Command("sudo", "crictl", "images", "--output", "json"))
return err
}

if err := retry.Expo(imageList, 250*time.Millisecond, 5*time.Second); err != nil {
klog.Warningf("failed to get image list: %v", err)
return false
}

var jsonImages crictlImages
err = json.Unmarshal(rr.Stdout.Bytes(), &jsonImages)
err := json.Unmarshal(rr.Stdout.Bytes(), &jsonImages)
if err != nil {
klog.Errorf("failed to unmarshal images, will assume images are not preloaded")
return false
Expand Down

0 comments on commit a852131

Please sign in to comment.