Update errdefs to 0.3.0

Uses the new github.com/containerd/errdefs/pkg module which is intended
to hold less stable utility functions separately from the stable
github.com/containerd/errdefs error types.

Includes temporary update to hcsshim until a release is cut there

Signed-off-by: Derek McGowan <derek@mcg.dev>
This commit is contained in:
Derek McGowan
2024-10-18 15:57:27 -07:00
parent b291eb802b
commit 2f24aa00a5
61 changed files with 2054 additions and 529 deletions

View File

@@ -22,15 +22,17 @@ import (
"io"
contentapi "github.com/containerd/containerd/api/services/content/v1"
"github.com/containerd/containerd/v2/core/content"
"github.com/containerd/containerd/v2/pkg/protobuf"
protobuftypes "github.com/containerd/containerd/v2/pkg/protobuf/types"
"github.com/containerd/errdefs"
"github.com/containerd/errdefs/pkg/errgrpc"
"github.com/containerd/ttrpc"
digest "github.com/opencontainers/go-digest"
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
"google.golang.org/grpc"
"google.golang.org/protobuf/types/known/emptypb"
"github.com/containerd/containerd/v2/core/content"
"github.com/containerd/containerd/v2/pkg/protobuf"
protobuftypes "github.com/containerd/containerd/v2/pkg/protobuf/types"
)
type proxyContentStore struct {
@@ -69,7 +71,7 @@ func (pcs *proxyContentStore) Info(ctx context.Context, dgst digest.Digest) (con
Digest: dgst.String(),
})
if err != nil {
return content.Info{}, errdefs.FromGRPC(err)
return content.Info{}, errgrpc.ToNative(err)
}
return infoFromGRPC(resp.Info), nil
@@ -80,14 +82,14 @@ func (pcs *proxyContentStore) Walk(ctx context.Context, fn content.WalkFunc, fil
Filters: filters,
})
if err != nil {
return errdefs.FromGRPC(err)
return errgrpc.ToNative(err)
}
for {
msg, err := session.Recv()
if err != nil {
if err != io.EOF {
return errdefs.FromGRPC(err)
return errgrpc.ToNative(err)
}
break
@@ -107,7 +109,7 @@ func (pcs *proxyContentStore) Delete(ctx context.Context, dgst digest.Digest) er
if _, err := pcs.client.Delete(ctx, &contentapi.DeleteContentRequest{
Digest: dgst.String(),
}); err != nil {
return errdefs.FromGRPC(err)
return errgrpc.ToNative(err)
}
return nil
@@ -133,7 +135,7 @@ func (pcs *proxyContentStore) Status(ctx context.Context, ref string) (content.S
Ref: ref,
})
if err != nil {
return content.Status{}, errdefs.FromGRPC(err)
return content.Status{}, errgrpc.ToNative(err)
}
status := resp.Status
@@ -155,7 +157,7 @@ func (pcs *proxyContentStore) Update(ctx context.Context, info content.Info, fie
},
})
if err != nil {
return content.Info{}, errdefs.FromGRPC(err)
return content.Info{}, errgrpc.ToNative(err)
}
return infoFromGRPC(resp.Info), nil
}
@@ -165,7 +167,7 @@ func (pcs *proxyContentStore) ListStatuses(ctx context.Context, filters ...strin
Filters: filters,
})
if err != nil {
return nil, errdefs.FromGRPC(err)
return nil, errgrpc.ToNative(err)
}
var statuses []content.Status
@@ -193,7 +195,7 @@ func (pcs *proxyContentStore) Writer(ctx context.Context, opts ...content.Writer
}
wrclient, offset, err := pcs.negotiate(ctx, wOpts.Ref, wOpts.Desc.Size, wOpts.Desc.Digest)
if err != nil {
return nil, errdefs.FromGRPC(err)
return nil, errgrpc.ToNative(err)
}
return &remoteWriter{
@@ -208,7 +210,7 @@ func (pcs *proxyContentStore) Abort(ctx context.Context, ref string) error {
if _, err := pcs.client.Abort(ctx, &contentapi.AbortRequest{
Ref: ref,
}); err != nil {
return errdefs.FromGRPC(err)
return errgrpc.ToNative(err)
}
return nil

View File

@@ -22,10 +22,11 @@ import (
"io"
contentapi "github.com/containerd/containerd/api/services/content/v1"
"github.com/containerd/errdefs/pkg/errgrpc"
digest "github.com/opencontainers/go-digest"
"github.com/containerd/containerd/v2/core/content"
"github.com/containerd/containerd/v2/pkg/protobuf"
"github.com/containerd/errdefs"
digest "github.com/opencontainers/go-digest"
)
type remoteWriter struct {
@@ -58,7 +59,7 @@ func (rw *remoteWriter) Status() (content.Status, error) {
Action: contentapi.WriteAction_STAT,
})
if err != nil {
return content.Status{}, fmt.Errorf("error getting writer status: %w", errdefs.FromGRPC(err))
return content.Status{}, fmt.Errorf("error getting writer status: %w", errgrpc.ToNative(err))
}
return content.Status{
@@ -83,7 +84,7 @@ func (rw *remoteWriter) Write(p []byte) (n int, err error) {
Data: p,
})
if err != nil {
return 0, fmt.Errorf("failed to send write: %w", errdefs.FromGRPC(err))
return 0, fmt.Errorf("failed to send write: %w", errgrpc.ToNative(err))
}
n = int(resp.Offset - offset)
@@ -120,7 +121,7 @@ func (rw *remoteWriter) Commit(ctx context.Context, size int64, expected digest.
Labels: base.Labels,
})
if err != nil {
return fmt.Errorf("commit failed: %w", errdefs.FromGRPC(err))
return fmt.Errorf("commit failed: %w", errgrpc.ToNative(err))
}
if size != 0 && resp.Offset != size {