Merge pull request #1938 from baude/rmichildren

correct algorithm for deleting all images
This commit is contained in:
OpenShift Merge Robot
2018-12-04 11:50:15 -08:00
committed by GitHub

View File

@ -91,8 +91,23 @@ func rmiCmd(c *cli.Context) error {
if err != nil {
return errors.Wrapf(err, "unable to query local images")
}
for _, i := range imagesToDelete {
removeImage(i)
lastNumberofImages := 0
for len(imagesToDelete) > 0 {
if lastNumberofImages == len(imagesToDelete) {
return errors.New("unable to delete all images; re-run the rmi command again.")
}
for _, i := range imagesToDelete {
isParent, err := i.IsParent()
if err != nil {
return err
}
if isParent {
continue
}
removeImage(i)
}
lastNumberofImages = len(imagesToDelete)
imagesToDelete, err = runtime.ImageRuntime().GetImages()
}
} else {
// Create image.image objects for deletion from user input.