Skip to content

Commit e9f56a1

Browse files
committed
fix: donot remove images plugin inuse
Signed-off-by: zwtop <[email protected]>
1 parent 5ff2f07 commit e9f56a1

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

plugin/executor.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,14 @@ func (w *executor) Apply(ctx context.Context) error {
224224
return fmt.Errorf("start post containers: %s", err)
225225
}
226226

227-
err = w.removeUnusedImages(ctx, w.instance.Containers...)
227+
inuseImages := lo.Union(
228+
lo.Map(w.instance.PrecheckContainers, func(c model.ContainerDefinition, _ int) string { return c.Image }),
229+
lo.Map(w.instance.InitContainers, func(c model.ContainerDefinition, _ int) string { return c.Image }),
230+
lo.Map(w.instance.Containers, func(c model.ContainerDefinition, _ int) string { return c.Image }),
231+
lo.Map(w.instance.PostContainers, func(c model.ContainerDefinition, _ int) string { return c.Image }),
232+
lo.Map(w.instance.CleanContainers, func(c model.ContainerDefinition, _ int) string { return c.Image }),
233+
)
234+
err = w.removeUnusedImages(ctx, inuseImages...)
228235
if err != nil {
229236
return fmt.Errorf("remove unused images: %s", err)
230237
}
@@ -543,7 +550,7 @@ func (w *executor) removeAllInNamespace(ctx context.Context) error {
543550
return nil
544551
}
545552

546-
func (w *executor) removeUnusedImages(ctx context.Context, exceptImagesInContainer ...model.ContainerDefinition) error {
553+
func (w *executor) removeUnusedImages(ctx context.Context, inuseImages ...string) error {
547554
images, err := w.runtime.ListImages(ctx)
548555
if err != nil {
549556
return err
@@ -553,10 +560,7 @@ func (w *executor) removeUnusedImages(ctx context.Context, exceptImagesInContain
553560
for _, i := range images {
554561
imageSet.Insert(i.Name)
555562
}
556-
557-
for _, c := range exceptImagesInContainer {
558-
imageSet.Delete(c.Image)
559-
}
563+
imageSet.Delete(inuseImages...)
560564

561565
for _, image := range imageSet.List() {
562566
w.Infof("remove image %s from containerd", image)

0 commit comments

Comments
 (0)