Skip to content

snapshot/containerd: fix wrong errdefs package import

Ahmon Dancy requested to merge pull-upstream-0.15.2 into wmf/v0.15

I noticed that we were importing the nydus errdefs package here, and looking at f044e0a9468639559db93fe30ee826ce502ac481 (v0.12.0-rc1), which introduced this import, this very likely was meant to be containerd's errdefs package.

The only function consumed from the package is errdefs.IsNotFound which at the time of the commit was not compatible with containerd's errdefs.IsNotFound as it was checking for the nydus error specifically.

Nydus-snapshotter v0.8.0 fixed this incompatibility by aliasing the error to containerd's ErrNotFound and was updated through 483e87725e7fd99124e3e767143687cfd1d59a8e.

Ironically, the original commit f044e0a9468639559db93fe30ee826ce502ac481 broke vendoring, because the Nydus errdefs was no longer vendored. This was fixed in 75dd88efb808edb8c91755565a4417f37b985143, but failed to notice that the missing vendor was due to an incorrect import.

So it looks like things were broken twice in the chain of events (once because the wrong errdefs package did not match the expected error; once because the errdefs package was missing), but all of them landed in v0.12.0-rc1, so nothing broke in a release ':-)

This PR;

  • fixes the wrong import
  • adds a depguard rule to prevent accidental importing of this package

Signed-off-by: Sebastiaan van Stijn github@gone.nl (cherry picked from commit c6745c3fdf88a8738b6a8f18f366d8e8c66b27cd) Signed-off-by: Sebastiaan van Stijn github@gone.nl

Merge request reports