Skip to content

Commit 2f24aa0

Browse files
committed
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 <[email protected]>
1 parent b291eb8 commit 2f24aa0

61 files changed

Lines changed: 2039 additions & 514 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

client/container.go

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,19 @@ import (
2828
"github.com/containerd/containerd/api/types"
2929
"github.com/containerd/containerd/api/types/runc/options"
3030
tasktypes "github.com/containerd/containerd/api/types/task"
31-
"github.com/containerd/containerd/v2/core/containers"
32-
"github.com/containerd/containerd/v2/core/images"
33-
"github.com/containerd/containerd/v2/pkg/cio"
34-
"github.com/containerd/containerd/v2/pkg/oci"
35-
"github.com/containerd/containerd/v2/pkg/tracing"
3631
"github.com/containerd/errdefs"
32+
"github.com/containerd/errdefs/pkg/errgrpc"
3733
"github.com/containerd/fifo"
3834
"github.com/containerd/typeurl/v2"
3935
ver "github.com/opencontainers/image-spec/specs-go"
4036
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
4137
"github.com/opencontainers/selinux/go-selinux/label"
38+
39+
"github.com/containerd/containerd/v2/core/containers"
40+
"github.com/containerd/containerd/v2/core/images"
41+
"github.com/containerd/containerd/v2/pkg/cio"
42+
"github.com/containerd/containerd/v2/pkg/oci"
43+
"github.com/containerd/containerd/v2/pkg/tracing"
4244
)
4345

4446
const (
@@ -317,7 +319,7 @@ func (c *container) NewTask(ctx context.Context, ioCreate cio.Creator, opts ...N
317319
)
318320
response, err := c.client.TaskService().Create(ctx, request)
319321
if err != nil {
320-
return nil, errdefs.FromGRPC(err)
322+
return nil, errgrpc.ToNative(err)
321323
}
322324

323325
span.AddEvent("task created",
@@ -341,7 +343,7 @@ func (c *container) Update(ctx context.Context, opts ...UpdateContainerOpts) err
341343
}
342344
}
343345
if _, err := c.client.ContainerService().Update(ctx, r); err != nil {
344-
return errdefs.FromGRPC(err)
346+
return errgrpc.ToNative(err)
345347
}
346348
return nil
347349
}
@@ -387,7 +389,7 @@ func (c *container) Checkpoint(ctx context.Context, ref string, opts ...Checkpoi
387389
// process remaining opts
388390
for _, o := range opts {
389391
if err := o(ctx, c.client, &info, index, copts); err != nil {
390-
err = errdefs.FromGRPC(err)
392+
err = errgrpc.ToNative(err)
391393
if !errdefs.IsAlreadyExists(err) {
392394
return nil, err
393395
}
@@ -415,7 +417,7 @@ func (c *container) loadTask(ctx context.Context, ioAttach cio.Attach) (Task, er
415417
ContainerID: c.id,
416418
})
417419
if err != nil {
418-
err = errdefs.FromGRPC(err)
420+
err = errgrpc.ToNative(err)
419421
if errdefs.IsNotFound(err) {
420422
return nil, fmt.Errorf("no running task found: %w", err)
421423
}

client/containerstore.go

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@ import (
2222
"io"
2323

2424
containersapi "github.com/containerd/containerd/api/services/containers/v1"
25-
"github.com/containerd/containerd/v2/core/containers"
26-
"github.com/containerd/containerd/v2/pkg/protobuf"
27-
ptypes "github.com/containerd/containerd/v2/pkg/protobuf/types"
28-
"github.com/containerd/errdefs"
25+
"github.com/containerd/errdefs/pkg/errgrpc"
2926
"github.com/containerd/typeurl/v2"
3027
"google.golang.org/grpc/codes"
3128
"google.golang.org/grpc/status"
29+
30+
"github.com/containerd/containerd/v2/core/containers"
31+
"github.com/containerd/containerd/v2/pkg/protobuf"
32+
ptypes "github.com/containerd/containerd/v2/pkg/protobuf/types"
3233
)
3334

3435
type remoteContainers struct {
@@ -49,7 +50,7 @@ func (r *remoteContainers) Get(ctx context.Context, id string) (containers.Conta
4950
ID: id,
5051
})
5152
if err != nil {
52-
return containers.Container{}, errdefs.FromGRPC(err)
53+
return containers.Container{}, errgrpc.ToNative(err)
5354
}
5455

5556
return containerFromProto(resp.Container), nil
@@ -71,7 +72,7 @@ func (r *remoteContainers) list(ctx context.Context, filters ...string) ([]conta
7172
Filters: filters,
7273
})
7374
if err != nil {
74-
return nil, errdefs.FromGRPC(err)
75+
return nil, errgrpc.ToNative(err)
7576
}
7677
return containersFromProto(resp.Containers), nil
7778
}
@@ -83,7 +84,7 @@ func (r *remoteContainers) stream(ctx context.Context, filters ...string) ([]con
8384
Filters: filters,
8485
})
8586
if err != nil {
86-
return nil, errdefs.FromGRPC(err)
87+
return nil, errgrpc.ToNative(err)
8788
}
8889
var containers []containers.Container
8990
for {
@@ -97,7 +98,7 @@ func (r *remoteContainers) stream(ctx context.Context, filters ...string) ([]con
9798
return nil, errStreamNotAvailable
9899
}
99100
}
100-
return nil, errdefs.FromGRPC(err)
101+
return nil, errgrpc.ToNative(err)
101102
}
102103
select {
103104
case <-ctx.Done():
@@ -113,7 +114,7 @@ func (r *remoteContainers) Create(ctx context.Context, container containers.Cont
113114
Container: containerToProto(&container),
114115
})
115116
if err != nil {
116-
return containers.Container{}, errdefs.FromGRPC(err)
117+
return containers.Container{}, errgrpc.ToNative(err)
117118
}
118119

119120
return containerFromProto(created.Container), nil
@@ -133,7 +134,7 @@ func (r *remoteContainers) Update(ctx context.Context, container containers.Cont
133134
UpdateMask: updateMask,
134135
})
135136
if err != nil {
136-
return containers.Container{}, errdefs.FromGRPC(err)
137+
return containers.Container{}, errgrpc.ToNative(err)
137138
}
138139

139140
return containerFromProto(updated.Container), nil
@@ -145,7 +146,7 @@ func (r *remoteContainers) Delete(ctx context.Context, id string) error {
145146
ID: id,
146147
})
147148

148-
return errdefs.FromGRPC(err)
149+
return errgrpc.ToNative(err)
149150

150151
}
151152

client/events.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,11 @@ import (
2121

2222
eventsapi "github.com/containerd/containerd/api/services/events/v1"
2323
"github.com/containerd/containerd/api/types"
24+
"github.com/containerd/errdefs/pkg/errgrpc"
25+
"github.com/containerd/typeurl/v2"
26+
2427
"github.com/containerd/containerd/v2/core/events"
2528
"github.com/containerd/containerd/v2/pkg/protobuf"
26-
"github.com/containerd/errdefs"
27-
"github.com/containerd/typeurl/v2"
2829
)
2930

3031
// EventService handles the publish, forward and subscribe of events.
@@ -56,7 +57,7 @@ func (e *eventRemote) Publish(ctx context.Context, topic string, event events.Ev
5657
Event: typeurl.MarshalProto(evt),
5758
}
5859
if _, err := e.client.Publish(ctx, req); err != nil {
59-
return errdefs.FromGRPC(err)
60+
return errgrpc.ToNative(err)
6061
}
6162
return nil
6263
}
@@ -71,7 +72,7 @@ func (e *eventRemote) Forward(ctx context.Context, envelope *events.Envelope) er
7172
},
7273
}
7374
if _, err := e.client.Forward(ctx, req); err != nil {
74-
return errdefs.FromGRPC(err)
75+
return errgrpc.ToNative(err)
7576
}
7677
return nil
7778
}

client/image_store.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@ import (
2020
"context"
2121

2222
imagesapi "github.com/containerd/containerd/api/services/images/v1"
23+
"github.com/containerd/errdefs/pkg/errgrpc"
24+
"google.golang.org/protobuf/types/known/timestamppb"
25+
2326
"github.com/containerd/containerd/v2/core/images"
2427
"github.com/containerd/containerd/v2/pkg/epoch"
2528
"github.com/containerd/containerd/v2/pkg/oci"
2629
"github.com/containerd/containerd/v2/pkg/protobuf"
2730
ptypes "github.com/containerd/containerd/v2/pkg/protobuf/types"
28-
"github.com/containerd/errdefs"
29-
"google.golang.org/protobuf/types/known/timestamppb"
3031
)
3132

3233
type remoteImages struct {
@@ -45,7 +46,7 @@ func (s *remoteImages) Get(ctx context.Context, name string) (images.Image, erro
4546
Name: name,
4647
})
4748
if err != nil {
48-
return images.Image{}, errdefs.FromGRPC(err)
49+
return images.Image{}, errgrpc.ToNative(err)
4950
}
5051

5152
return imageFromProto(resp.Image), nil
@@ -56,7 +57,7 @@ func (s *remoteImages) List(ctx context.Context, filters ...string) ([]images.Im
5657
Filters: filters,
5758
})
5859
if err != nil {
59-
return nil, errdefs.FromGRPC(err)
60+
return nil, errgrpc.ToNative(err)
6061
}
6162

6263
return imagesFromProto(resp.Images), nil
@@ -71,7 +72,7 @@ func (s *remoteImages) Create(ctx context.Context, image images.Image) (images.I
7172
}
7273
created, err := s.client.Create(ctx, req)
7374
if err != nil {
74-
return images.Image{}, errdefs.FromGRPC(err)
75+
return images.Image{}, errgrpc.ToNative(err)
7576
}
7677

7778
return imageFromProto(created.Image), nil
@@ -93,7 +94,7 @@ func (s *remoteImages) Update(ctx context.Context, image images.Image, fieldpath
9394
}
9495
updated, err := s.client.Update(ctx, req)
9596
if err != nil {
96-
return images.Image{}, errdefs.FromGRPC(err)
97+
return images.Image{}, errgrpc.ToNative(err)
9798
}
9899

99100
return imageFromProto(updated.Image), nil
@@ -114,7 +115,7 @@ func (s *remoteImages) Delete(ctx context.Context, name string, opts ...images.D
114115
req.Target = oci.DescriptorToProto(*do.Target)
115116
}
116117
_, err := s.client.Delete(ctx, req)
117-
return errdefs.FromGRPC(err)
118+
return errgrpc.ToNative(err)
118119
}
119120

120121
func imageToProto(image *images.Image) *imagesapi.Image {

client/namespaces.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,10 @@ import (
2121
"strings"
2222

2323
api "github.com/containerd/containerd/api/services/namespaces/v1"
24+
"github.com/containerd/errdefs/pkg/errgrpc"
25+
2426
"github.com/containerd/containerd/v2/pkg/namespaces"
2527
"github.com/containerd/containerd/v2/pkg/protobuf/types"
26-
"github.com/containerd/errdefs"
2728
)
2829

2930
// NewNamespaceStoreFromClient returns a new namespace store
@@ -45,7 +46,7 @@ func (r *remoteNamespaces) Create(ctx context.Context, namespace string, labels
4546

4647
_, err := r.client.Create(ctx, &req)
4748
if err != nil {
48-
return errdefs.FromGRPC(err)
49+
return errgrpc.ToNative(err)
4950
}
5051

5152
return nil
@@ -57,7 +58,7 @@ func (r *remoteNamespaces) Labels(ctx context.Context, namespace string) (map[st
5758

5859
resp, err := r.client.Get(ctx, &req)
5960
if err != nil {
60-
return nil, errdefs.FromGRPC(err)
61+
return nil, errgrpc.ToNative(err)
6162
}
6263

6364
return resp.Namespace.Labels, nil
@@ -77,7 +78,7 @@ func (r *remoteNamespaces) SetLabel(ctx context.Context, namespace, key, value s
7778

7879
_, err := r.client.Update(ctx, &req)
7980
if err != nil {
80-
return errdefs.FromGRPC(err)
81+
return errgrpc.ToNative(err)
8182
}
8283

8384
return nil
@@ -88,7 +89,7 @@ func (r *remoteNamespaces) List(ctx context.Context) ([]string, error) {
8889

8990
resp, err := r.client.List(ctx, &req)
9091
if err != nil {
91-
return nil, errdefs.FromGRPC(err)
92+
return nil, errgrpc.ToNative(err)
9293
}
9394

9495
var namespaces []string
@@ -114,7 +115,7 @@ func (r *remoteNamespaces) Delete(ctx context.Context, namespace string, opts ..
114115
}
115116
_, err := r.client.Delete(ctx, &req)
116117
if err != nil {
117-
return errdefs.FromGRPC(err)
118+
return errgrpc.ToNative(err)
118119
}
119120

120121
return nil

client/process.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,12 @@ import (
2424
"time"
2525

2626
"github.com/containerd/containerd/api/services/tasks/v1"
27+
"github.com/containerd/errdefs"
28+
"github.com/containerd/errdefs/pkg/errgrpc"
29+
2730
"github.com/containerd/containerd/v2/pkg/cio"
2831
"github.com/containerd/containerd/v2/pkg/protobuf"
2932
"github.com/containerd/containerd/v2/pkg/tracing"
30-
"github.com/containerd/errdefs"
3133
)
3234

3335
// Process represents a system process
@@ -134,7 +136,7 @@ func (p *process) Start(ctx context.Context) error {
134136
p.io.Wait()
135137
p.io.Close()
136138
}
137-
return errdefs.FromGRPC(err)
139+
return errgrpc.ToNative(err)
138140
}
139141
span.SetAttributes(tracing.Attribute("process.pid", int(r.Pid)))
140142
p.pid = r.Pid
@@ -160,7 +162,7 @@ func (p *process) Kill(ctx context.Context, s syscall.Signal, opts ...KillOpts)
160162
ExecID: p.id,
161163
All: i.All,
162164
})
163-
return errdefs.FromGRPC(err)
165+
return errgrpc.ToNative(err)
164166
}
165167

166168
func (p *process) Wait(ctx context.Context) (<-chan ExitStatus, error) {
@@ -206,7 +208,7 @@ func (p *process) CloseIO(ctx context.Context, opts ...IOCloserOpts) error {
206208
}
207209
r.Stdin = i.Stdin
208210
_, err := p.task.client.TaskService().CloseIO(ctx, r)
209-
return errdefs.FromGRPC(err)
211+
return errgrpc.ToNative(err)
210212
}
211213

212214
func (p *process) IO() cio.IO {
@@ -224,7 +226,7 @@ func (p *process) Resize(ctx context.Context, w, h uint32) error {
224226
Height: h,
225227
ExecID: p.id,
226228
})
227-
return errdefs.FromGRPC(err)
229+
return errgrpc.ToNative(err)
228230
}
229231

230232
func (p *process) Delete(ctx context.Context, opts ...ProcessDeleteOpts) (*ExitStatus, error) {
@@ -250,7 +252,7 @@ func (p *process) Delete(ctx context.Context, opts ...ProcessDeleteOpts) (*ExitS
250252
ExecID: p.id,
251253
})
252254
if err != nil {
253-
return nil, errdefs.FromGRPC(err)
255+
return nil, errgrpc.ToNative(err)
254256
}
255257
if p.io != nil {
256258
p.io.Cancel()
@@ -266,7 +268,7 @@ func (p *process) Status(ctx context.Context) (Status, error) {
266268
ExecID: p.id,
267269
})
268270
if err != nil {
269-
return Status{}, errdefs.FromGRPC(err)
271+
return Status{}, errgrpc.ToNative(err)
270272
}
271273
status := ProcessStatus(strings.ToLower(r.Process.Status.String()))
272274
exitStatus := r.Process.ExitStatus

0 commit comments

Comments
 (0)