@@ -34,17 +34,24 @@ import (
3434// Remove the whole image no matter the it's image id or reference. This is the
3535// semantic defined in CRI now.
3636func (c * GRPCCRIImageService ) RemoveImage (ctx context.Context , r * runtime.RemoveImageRequest ) (* runtime.RemoveImageResponse , error ) {
37+ err := c .CRIImageService .RemoveImage (ctx , r .GetImage ())
38+ if err != nil && ! errdefs .IsNotFound (err ) {
39+ return nil , err
40+ }
41+ return & runtime.RemoveImageResponse {}, nil
42+ }
43+
44+ func (c * CRIImageService ) RemoveImage (ctx context.Context , imageSpec * runtime.ImageSpec ) error {
3745 span := tracing .SpanFromContext (ctx )
3846
39- // TODO: Move to separate function
40- image , err := c .LocalResolve (r .GetImage ().GetImage ())
47+ image , err := c .LocalResolve (imageSpec .GetImage ())
4148 if err != nil {
4249 if errdefs .IsNotFound (err ) {
4350 span .AddEvent (err .Error ())
4451 // return empty without error when image not found.
45- return & runtime. RemoveImageResponse {}, nil
52+ return nil
4653 }
47- return nil , fmt .Errorf ("can not resolve %q locally: %w" , r . GetImage () .GetImage (), err )
54+ return fmt .Errorf ("can not resolve %q locally: %w" , imageSpec .GetImage (), err )
4855 }
4956 span .SetAttributes (tracing .Attribute ("image.id" , image .ID ))
5057 // Remove all image references.
@@ -60,11 +67,11 @@ func (c *GRPCCRIImageService) RemoveImage(ctx context.Context, r *runtime.Remove
6067 if err == nil || errdefs .IsNotFound (err ) {
6168 // Update image store to reflect the newest state in containerd.
6269 if err := c .imageStore .Update (ctx , ref ); err != nil {
63- return nil , fmt .Errorf ("failed to update image reference %q for %q: %w" , ref , image .ID , err )
70+ return fmt .Errorf ("failed to update image reference %q for %q: %w" , ref , image .ID , err )
6471 }
6572 continue
6673 }
67- return nil , fmt .Errorf ("failed to delete image reference %q for %q: %w" , ref , image .ID , err )
74+ return fmt .Errorf ("failed to delete image reference %q for %q: %w" , ref , image .ID , err )
6875 }
69- return & runtime. RemoveImageResponse {}, nil
76+ return nil
7077}
0 commit comments