fix loading an image from tar failing on existing delete

pull/12143/head
Steven Powell 2021-08-06 00:24:28 +00:00
parent 521648c7c8
commit 6d4eec056b
1 changed files with 22 additions and 5 deletions

View File

@ -269,11 +269,8 @@ func transferAndLoadImage(cr command.Runner, k8s config.KubernetesConfig, src st
return errors.Wrap(err, "runtime")
}
if err := r.RemoveImage(imgName); err != nil {
errStr := strings.ToLower(err.Error())
if !strings.Contains(errStr, "no such image") {
return errors.Wrap(err, "removing image")
}
if err := removeExistingImage(r, src, imgName); err != nil {
return err
}
klog.Infof("Loading image from: %s", src)
@ -309,6 +306,26 @@ func transferAndLoadImage(cr command.Runner, k8s config.KubernetesConfig, src st
return nil
}
func removeExistingImage(r cruntime.Manager, src string, imgName string) error {
// if loading an image from tar, skip deleting as we don't have the actual image name
// ie. imgName = "C:\this_is_a_dir\image.tar.gz"
if src == imgName {
return nil
}
err := r.RemoveImage(imgName)
if err == nil {
return nil
}
errStr := strings.ToLower(err.Error())
if !strings.Contains(errStr, "no such image") {
return errors.Wrap(err, "removing image")
}
return nil
}
// pullImages pulls images to the container run time
func pullImages(cruntime cruntime.Manager, images []string) error {
klog.Infof("PullImages start: %s", images)