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,11 +22,13 @@ import (
api "github.com/containerd/containerd/api/services/sandbox/v1"
"github.com/containerd/containerd/api/types"
"github.com/containerd/containerd/v2/core/mount"
"github.com/containerd/containerd/v2/core/sandbox"
"github.com/containerd/errdefs"
"github.com/containerd/errdefs/pkg/errgrpc"
"github.com/containerd/typeurl/v2"
imagespec "github.com/opencontainers/image-spec/specs-go/v1"
"github.com/containerd/containerd/v2/core/mount"
"github.com/containerd/containerd/v2/core/sandbox"
)
// remoteSandboxController is a low level GRPC client for containerd's sandbox controller service
@@ -58,7 +60,7 @@ func (s *remoteSandboxController) Create(ctx context.Context, sandboxInfo sandbo
Sandboxer: s.sandboxerName,
})
if err != nil {
return errdefs.FromGRPC(err)
return errgrpc.ToNative(err)
}
return nil
@@ -70,7 +72,7 @@ func (s *remoteSandboxController) Start(ctx context.Context, sandboxID string) (
Sandboxer: s.sandboxerName,
})
if err != nil {
return sandbox.ControllerInstance{}, errdefs.FromGRPC(err)
return sandbox.ControllerInstance{}, errgrpc.ToNative(err)
}
return sandbox.ControllerInstance{
@@ -89,7 +91,7 @@ func (s *remoteSandboxController) Platform(ctx context.Context, sandboxID string
Sandboxer: s.sandboxerName,
})
if err != nil {
return imagespec.Platform{}, errdefs.FromGRPC(err)
return imagespec.Platform{}, errgrpc.ToNative(err)
}
platform := resp.GetPlatform()
@@ -114,7 +116,7 @@ func (s *remoteSandboxController) Stop(ctx context.Context, sandboxID string, op
}
_, err := s.client.Stop(ctx, req)
if err != nil {
return errdefs.FromGRPC(err)
return errgrpc.ToNative(err)
}
return nil
@@ -126,7 +128,7 @@ func (s *remoteSandboxController) Shutdown(ctx context.Context, sandboxID string
Sandboxer: s.sandboxerName,
})
if err != nil {
return errdefs.FromGRPC(err)
return errgrpc.ToNative(err)
}
return nil
@@ -146,7 +148,7 @@ func (s *remoteSandboxController) Wait(ctx context.Context, sandboxID string) (s
Sandboxer: s.sandboxerName,
})
if err != nil {
grpcErr := errdefs.FromGRPC(err)
grpcErr := errgrpc.ToNative(err)
if !errdefs.IsUnavailable(grpcErr) {
return sandbox.ExitStatus{}, grpcErr
}
@@ -176,7 +178,7 @@ func (s *remoteSandboxController) Status(ctx context.Context, sandboxID string,
Sandboxer: s.sandboxerName,
})
if err != nil {
return sandbox.ControllerStatus{}, errdefs.FromGRPC(err)
return sandbox.ControllerStatus{}, errgrpc.ToNative(err)
}
return sandbox.ControllerStatus{
SandboxID: sandboxID,
@@ -197,7 +199,7 @@ func (s *remoteSandboxController) Metrics(ctx context.Context, sandboxID string)
Sandboxer: s.sandboxerName,
})
if err != nil {
return nil, errdefs.FromGRPC(err)
return nil, errgrpc.ToNative(err)
}
return resp.Metrics, nil
}
@@ -214,7 +216,7 @@ func (s *remoteSandboxController) Update(
Fields: fields,
})
if err != nil {
return errdefs.FromGRPC(err)
return errgrpc.ToNative(err)
}
return nil
}

View File

@@ -20,8 +20,9 @@ import (
"context"
api "github.com/containerd/containerd/api/services/sandbox/v1"
"github.com/containerd/errdefs/pkg/errgrpc"
sb "github.com/containerd/containerd/v2/core/sandbox"
"github.com/containerd/errdefs"
)
// remoteSandboxStore is a low-level containerd client to manage sandbox environments metadata
@@ -41,7 +42,7 @@ func (s *remoteSandboxStore) Create(ctx context.Context, sandbox sb.Sandbox) (sb
Sandbox: sb.ToProto(&sandbox),
})
if err != nil {
return sb.Sandbox{}, errdefs.FromGRPC(err)
return sb.Sandbox{}, errgrpc.ToNative(err)
}
return sb.FromProto(resp.Sandbox), nil
@@ -53,7 +54,7 @@ func (s *remoteSandboxStore) Update(ctx context.Context, sandbox sb.Sandbox, fie
Fields: fieldpaths,
})
if err != nil {
return sb.Sandbox{}, errdefs.FromGRPC(err)
return sb.Sandbox{}, errgrpc.ToNative(err)
}
return sb.FromProto(resp.Sandbox), nil
@@ -64,7 +65,7 @@ func (s *remoteSandboxStore) Get(ctx context.Context, id string) (sb.Sandbox, er
SandboxID: id,
})
if err != nil {
return sb.Sandbox{}, errdefs.FromGRPC(err)
return sb.Sandbox{}, errgrpc.ToNative(err)
}
return sb.FromProto(resp.Sandbox), nil
@@ -75,7 +76,7 @@ func (s *remoteSandboxStore) List(ctx context.Context, filters ...string) ([]sb.
Filters: filters,
})
if err != nil {
return nil, errdefs.FromGRPC(err)
return nil, errgrpc.ToNative(err)
}
out := make([]sb.Sandbox, len(resp.List))
@@ -91,5 +92,5 @@ func (s *remoteSandboxStore) Delete(ctx context.Context, id string) error {
SandboxID: id,
})
return errdefs.FromGRPC(err)
return errgrpc.ToNative(err)
}