Skip to content

Commit a8fe4aa

Browse files
Merge pull request #6272 from thaJeztah/28.x_backport_errdefs_unalias
[28.x backport] remove aliases for containerd/errdefs, disallow docker/errdefs
2 parents 0718529 + 034dc93 commit a8fe4aa

File tree

22 files changed

+58
-57
lines changed

22 files changed

+58
-57
lines changed

.golangci.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ linters:
8686
desc: Use github.com/moby/sys/userns instead.
8787
- pkg: "github.com/containerd/containerd/platforms"
8888
desc: The containerd platforms package was migrated to a separate module. Use github.com/containerd/platforms instead.
89+
- pkg: "github.com/docker/docker/errdefs"
90+
desc: Use github.com/containerd/errdefs instead.
8991
- pkg: "github.com/docker/docker/pkg/system"
9092
desc: This package should not be used unless strictly necessary.
9193
- pkg: "github.com/docker/distribution/uuid"
@@ -124,10 +126,9 @@ linters:
124126
no-unaliased: true
125127

126128
alias:
127-
# Enforce alias to prevent it accidentally being used instead of our
128-
# own errdefs package (or vice-versa).
129-
- pkg: github.com/containerd/errdefs
130-
alias: cerrdefs
129+
# Should no longer be aliased, because we no longer allow moby/docker errdefs.
130+
- pkg: "github.com/docker/docker/errdefs"
131+
alias: ""
131132
- pkg: github.com/opencontainers/image-spec/specs-go/v1
132133
alias: ocispec
133134
# Enforce that gotest.tools/v3/assert/cmp is always aliased as "is"

cli/command/container/create.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
"path"
1212
"strings"
1313

14-
cerrdefs "github.com/containerd/errdefs"
14+
"github.com/containerd/errdefs"
1515
"github.com/containerd/platforms"
1616
"github.com/distribution/reference"
1717
"github.com/docker/cli/cli"
@@ -341,7 +341,7 @@ func createContainer(ctx context.Context, dockerCli command.Cli, containerCfg *c
341341
response, err := dockerCli.Client().ContainerCreate(ctx, config, hostConfig, networkingConfig, platform, options.name)
342342
if err != nil {
343343
// Pull image if it does not exist locally and we have the PullImageMissing option. Default behavior.
344-
if cerrdefs.IsNotFound(err) && namedRef != nil && options.pull == PullImageMissing {
344+
if errdefs.IsNotFound(err) && namedRef != nil && options.pull == PullImageMissing {
345345
if !options.quiet {
346346
// we don't want to write to stdout anything apart from container.ID
347347
_, _ = fmt.Fprintf(dockerCli.Err(), "Unable to find image '%s' locally\n", reference.FamiliarString(namedRef))

cli/command/container/errors.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package container
22

3-
import cerrdefs "github.com/containerd/errdefs"
3+
import "github.com/containerd/errdefs"
44

55
func invalidParameter(err error) error {
6-
if err == nil || cerrdefs.IsInvalidArgument(err) {
6+
if err == nil || errdefs.IsInvalidArgument(err) {
77
return err
88
}
99
return invalidParameterErr{err}
@@ -17,7 +17,7 @@ func (e invalidParameterErr) Unwrap() error {
1717
}
1818

1919
func notFound(err error) error {
20-
if err == nil || cerrdefs.IsNotFound(err) {
20+
if err == nil || errdefs.IsNotFound(err) {
2121
return err
2222
}
2323
return notFoundErr{err}

cli/command/container/rm.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"fmt"
77
"strings"
88

9-
cerrdefs "github.com/containerd/errdefs"
9+
"github.com/containerd/errdefs"
1010
"github.com/docker/cli/cli"
1111
"github.com/docker/cli/cli/command"
1212
"github.com/docker/cli/cli/command/completion"
@@ -75,7 +75,7 @@ func runRm(ctx context.Context, dockerCLI command.Cli, opts *rmOptions) error {
7575
var errs []error
7676
for _, name := range opts.containers {
7777
if err := <-errChan; err != nil {
78-
if opts.force && cerrdefs.IsNotFound(err) {
78+
if opts.force && errdefs.IsNotFound(err) {
7979
_, _ = fmt.Fprintln(dockerCLI.Err(), err)
8080
continue
8181
}

cli/command/context/create.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
"errors"
99
"fmt"
1010

11-
cerrdefs "github.com/containerd/errdefs"
11+
"github.com/containerd/errdefs"
1212
"github.com/docker/cli/cli"
1313
"github.com/docker/cli/cli/command"
1414
"github.com/docker/cli/cli/command/completion"
@@ -122,7 +122,7 @@ func checkContextNameForCreation(s store.Reader, name string) error {
122122
if err := store.ValidateContextName(name); err != nil {
123123
return err
124124
}
125-
if _, err := s.GetMetadata(name); !cerrdefs.IsNotFound(err) {
125+
if _, err := s.GetMetadata(name); !errdefs.IsNotFound(err) {
126126
if err != nil {
127127
return fmt.Errorf("error while getting existing contexts: %w", err)
128128
}

cli/command/context/remove_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"path/filepath"
55
"testing"
66

7-
cerrdefs "github.com/containerd/errdefs"
7+
"github.com/containerd/errdefs"
88
"github.com/docker/cli/cli/config"
99
"github.com/docker/cli/cli/config/configfile"
1010
"gotest.tools/v3/assert"
@@ -18,7 +18,7 @@ func TestRemove(t *testing.T) {
1818
_, err := cli.ContextStore().GetMetadata("current")
1919
assert.NilError(t, err)
2020
_, err = cli.ContextStore().GetMetadata("other")
21-
assert.Check(t, is.ErrorType(err, cerrdefs.IsNotFound))
21+
assert.Check(t, is.ErrorType(err, errdefs.IsNotFound))
2222
}
2323

2424
func TestRemoveNotAContext(t *testing.T) {

cli/command/context/use_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"runtime"
1010
"testing"
1111

12-
cerrdefs "github.com/containerd/errdefs"
12+
"github.com/containerd/errdefs"
1313
"github.com/docker/cli/cli/command"
1414
"github.com/docker/cli/cli/config"
1515
"github.com/docker/cli/cli/config/configfile"
@@ -47,7 +47,7 @@ func TestUse(t *testing.T) {
4747
func TestUseNoExist(t *testing.T) {
4848
cli := makeFakeCli(t)
4949
err := newUseCommand(cli).RunE(nil, []string{"test"})
50-
assert.Check(t, is.ErrorType(err, cerrdefs.IsNotFound))
50+
assert.Check(t, is.ErrorType(err, errdefs.IsNotFound))
5151
}
5252

5353
// TestUseDefaultWithoutConfigFile verifies that the CLI does not create

cli/command/defaultcontextstore_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"crypto/rand"
88
"testing"
99

10-
cerrdefs "github.com/containerd/errdefs"
10+
"github.com/containerd/errdefs"
1111
"github.com/docker/cli/cli/config/configfile"
1212
"github.com/docker/cli/cli/context/docker"
1313
"github.com/docker/cli/cli/context/store"
@@ -158,21 +158,21 @@ func TestErrCreateDefault(t *testing.T) {
158158
Metadata: testContext{Bar: "baz"},
159159
Name: "default",
160160
})
161-
assert.Check(t, is.ErrorType(err, cerrdefs.IsInvalidArgument))
161+
assert.Check(t, is.ErrorType(err, errdefs.IsInvalidArgument))
162162
assert.Error(t, err, "default context cannot be created nor updated")
163163
}
164164

165165
func TestErrRemoveDefault(t *testing.T) {
166166
meta := testDefaultMetadata()
167167
s := testStore(t, meta, store.ContextTLSData{})
168168
err := s.Remove("default")
169-
assert.Check(t, is.ErrorType(err, cerrdefs.IsInvalidArgument))
169+
assert.Check(t, is.ErrorType(err, errdefs.IsInvalidArgument))
170170
assert.Error(t, err, "default context cannot be removed")
171171
}
172172

173173
func TestErrTLSDataError(t *testing.T) {
174174
meta := testDefaultMetadata()
175175
s := testStore(t, meta, store.ContextTLSData{})
176176
_, err := s.GetTLSData("default", "noop", "noop")
177-
assert.Check(t, is.ErrorType(err, cerrdefs.IsNotFound))
177+
assert.Check(t, is.ErrorType(err, errdefs.IsNotFound))
178178
}

cli/command/image/remove.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"errors"
66
"fmt"
77

8-
cerrdefs "github.com/containerd/errdefs"
8+
"github.com/containerd/errdefs"
99
"github.com/containerd/platforms"
1010
"github.com/docker/cli/cli"
1111
"github.com/docker/cli/cli/command"
@@ -79,7 +79,7 @@ func runRemove(ctx context.Context, dockerCLI command.Cli, opts removeOptions, i
7979
for _, img := range images {
8080
dels, err := apiClient.ImageRemove(ctx, img, options)
8181
if err != nil {
82-
if !cerrdefs.IsNotFound(err) {
82+
if !errdefs.IsNotFound(err) {
8383
fatalErr = true
8484
}
8585
errs = append(errs, err)

cli/command/network/remove.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"fmt"
66
"strconv"
77

8-
cerrdefs "github.com/containerd/errdefs"
8+
"github.com/containerd/errdefs"
99
"github.com/docker/cli/cli"
1010
"github.com/docker/cli/cli/command"
1111
"github.com/docker/cli/cli/command/completion"
@@ -59,7 +59,7 @@ func runRemove(ctx context.Context, dockerCLI command.Cli, networks []string, op
5959
}
6060
}
6161
if err := apiClient.NetworkRemove(ctx, name); err != nil {
62-
if opts.force && cerrdefs.IsNotFound(err) {
62+
if opts.force && errdefs.IsNotFound(err) {
6363
continue
6464
}
6565
_, _ = fmt.Fprintln(dockerCLI.Err(), err)

0 commit comments

Comments
 (0)