diff --git a/daemon/libnetwork/controller.go b/daemon/libnetwork/controller.go index 3672375cbf..22011cd24e 100644 --- a/daemon/libnetwork/controller.go +++ b/daemon/libnetwork/controller.go @@ -1018,7 +1018,7 @@ func (c *Controller) NewSandbox(ctx context.Context, containerID string, options // GetSandbox returns the Sandbox which has the passed id. // // It returns an [ErrInvalidID] when passing an invalid ID, or an -// [types.NotFoundError] if no Sandbox was found for the container. +// [errdefs.ErrNotFound] if no Sandbox was found for the container. func (c *Controller) GetSandbox(containerID string) (*Sandbox, error) { if containerID == "" { return nil, types.InvalidParameterErrorf("invalid id: id is empty") @@ -1042,7 +1042,7 @@ func (c *Controller) GetSandbox(containerID string) (*Sandbox, error) { } // SandboxByID returns the Sandbox which has the passed id. -// If not found, a [types.NotFoundError] is returned. +// If not found, a [errdefs.NotFoundError] is returned. func (c *Controller) SandboxByID(id string) (*Sandbox, error) { if id == "" { return nil, types.InvalidParameterErrorf("invalid id: id is empty") diff --git a/daemon/libnetwork/drivers/bridge/bridge_linux_test.go b/daemon/libnetwork/drivers/bridge/bridge_linux_test.go index 90bf4df4cf..e42013fb04 100644 --- a/daemon/libnetwork/drivers/bridge/bridge_linux_test.go +++ b/daemon/libnetwork/drivers/bridge/bridge_linux_test.go @@ -12,6 +12,7 @@ import ( "strconv" "testing" + cerrdefs "github.com/containerd/errdefs" "github.com/google/go-cmp/cmp/cmpopts" "github.com/moby/moby/v2/daemon/libnetwork/driverapi" "github.com/moby/moby/v2/daemon/libnetwork/drivers/bridge/internal/firewaller" @@ -555,7 +556,7 @@ func TestCreate(t *testing.T) { if err == nil { t.Fatal("Expected bridge driver to refuse creation of second network with default name") } - if _, ok := err.(types.ForbiddenError); !ok { + if !cerrdefs.IsPermissionDenied(err) { t.Fatal("Creation of second network with default name failed with unexpected error type") } } diff --git a/daemon/libnetwork/drivers/host/host_test.go b/daemon/libnetwork/drivers/host/host_test.go index 6394c2f60c..84527c42ad 100644 --- a/daemon/libnetwork/drivers/host/host_test.go +++ b/daemon/libnetwork/drivers/host/host_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - "github.com/moby/moby/v2/daemon/libnetwork/types" + cerrdefs "github.com/containerd/errdefs" ) func TestDriver(t *testing.T) { @@ -27,7 +27,7 @@ func TestDriver(t *testing.T) { if err == nil { t.Fatal("Second network creation should fail on this driver") } - if _, ok := err.(types.ForbiddenError); !ok { + if !cerrdefs.IsPermissionDenied(err) { t.Fatal("Second network creation failed with unexpected error type") } @@ -35,7 +35,7 @@ func TestDriver(t *testing.T) { if err == nil { t.Fatal("network deletion should fail on this driver") } - if _, ok := err.(types.ForbiddenError); !ok { + if !cerrdefs.IsPermissionDenied(err) { t.Fatal("network deletion failed with unexpected error type") } @@ -44,7 +44,7 @@ func TestDriver(t *testing.T) { if err == nil { t.Fatal("any network deletion should fail on this driver") } - if _, ok := err.(types.ForbiddenError); !ok { + if !cerrdefs.IsPermissionDenied(err) { t.Fatal("any network deletion failed with unexpected error type") } } diff --git a/daemon/libnetwork/drivers/null/null_test.go b/daemon/libnetwork/drivers/null/null_test.go index b18632332b..e353243b6b 100644 --- a/daemon/libnetwork/drivers/null/null_test.go +++ b/daemon/libnetwork/drivers/null/null_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - "github.com/moby/moby/v2/daemon/libnetwork/types" + cerrdefs "github.com/containerd/errdefs" ) func TestDriver(t *testing.T) { @@ -27,7 +27,7 @@ func TestDriver(t *testing.T) { if err == nil { t.Fatalf("Second network creation should fail on this driver") } - if _, ok := err.(types.ForbiddenError); !ok { + if !cerrdefs.IsPermissionDenied(err) { t.Fatalf("Second network creation failed with unexpected error type") } @@ -35,7 +35,7 @@ func TestDriver(t *testing.T) { if err == nil { t.Fatalf("network deletion should fail on this driver") } - if _, ok := err.(types.ForbiddenError); !ok { + if !cerrdefs.IsPermissionDenied(err) { t.Fatalf("network deletion failed with unexpected error type") } @@ -44,7 +44,7 @@ func TestDriver(t *testing.T) { if err == nil { t.Fatalf("any network deletion should fail on this driver") } - if _, ok := err.(types.ForbiddenError); !ok { + if !cerrdefs.IsPermissionDenied(err) { t.Fatalf("any network deletion failed with unexpected error type") } } diff --git a/daemon/libnetwork/endpoint.go b/daemon/libnetwork/endpoint.go index 401b41152c..d2aa5cd50c 100644 --- a/daemon/libnetwork/endpoint.go +++ b/daemon/libnetwork/endpoint.go @@ -10,6 +10,7 @@ import ( "strings" "sync" + cerrdefs "github.com/containerd/errdefs" "github.com/containerd/log" "github.com/moby/moby/v2/daemon/internal/sliceutil" "github.com/moby/moby/v2/daemon/internal/stringid" @@ -988,7 +989,7 @@ func (ep *Endpoint) deleteEndpoint(force bool) error { } if err := driver.DeleteEndpoint(n.id, epid); err != nil { - if _, ok := err.(types.ForbiddenError); ok { + if cerrdefs.IsPermissionDenied(err) { return err } diff --git a/daemon/libnetwork/network.go b/daemon/libnetwork/network.go index db48ee4507..a63a884888 100644 --- a/daemon/libnetwork/network.go +++ b/daemon/libnetwork/network.go @@ -12,6 +12,7 @@ import ( "sync" "time" + cerrdefs "github.com/containerd/errdefs" "github.com/containerd/log" "github.com/moby/moby/v2/daemon/internal/sliceutil" "github.com/moby/moby/v2/daemon/internal/stringid" @@ -1141,7 +1142,7 @@ func (n *Network) deleteNetwork() error { if err := d.DeleteNetwork(n.ID()); err != nil { // Forbidden Errors should be honored - if _, ok := err.(types.ForbiddenError); ok { + if cerrdefs.IsPermissionDenied(err) { return err } diff --git a/daemon/libnetwork/types/types.go b/daemon/libnetwork/types/types.go index 4e52fc5e45..ba4395150a 100644 --- a/daemon/libnetwork/types/types.go +++ b/daemon/libnetwork/types/types.go @@ -389,21 +389,6 @@ type MaskableError interface { Maskable() } -// InvalidParameterError is an interface for errors originated by a bad request -type InvalidParameterError = errdefs.ErrInvalidParameter - -// NotFoundError is an interface for errors raised because a needed resource is not available -type NotFoundError = errdefs.ErrNotFound - -// ForbiddenError is an interface for errors which denote a valid request that cannot be honored -type ForbiddenError = errdefs.ErrForbidden - -// UnavailableError is an interface for errors returned when the required service is not available -type UnavailableError = errdefs.ErrUnavailable - -// NotImplementedError is an interface for errors raised because of requested functionality is not yet implemented -type NotImplementedError = errdefs.ErrNotImplemented - // InternalError is an interface for errors raised because of an internal error type InternalError interface { // Internal makes implementer into InternalError type @@ -414,27 +399,27 @@ type InternalError interface { * Well-known Error Formatters ******************************/ -// InvalidParameterErrorf creates an instance of InvalidParameterError +// InvalidParameterErrorf creates an instance of [errdefs.ErrInvalidParameter]. func InvalidParameterErrorf(format string, params ...any) error { return errdefs.InvalidParameter(fmt.Errorf(format, params...)) } -// NotFoundErrorf creates an instance of NotFoundError +// NotFoundErrorf creates an instance of [errdefs.ErrNotFound]. func NotFoundErrorf(format string, params ...any) error { return errdefs.NotFound(fmt.Errorf(format, params...)) } -// ForbiddenErrorf creates an instance of ForbiddenError +// ForbiddenErrorf creates an instance of [errdefs.ErrForbidden]. func ForbiddenErrorf(format string, params ...any) error { return errdefs.Forbidden(fmt.Errorf(format, params...)) } -// UnavailableErrorf creates an instance of UnavailableError +// UnavailableErrorf creates an instance of [errdefs.ErrUnavailable] func UnavailableErrorf(format string, params ...any) error { return errdefs.Unavailable(fmt.Errorf(format, params...)) } -// NotImplementedErrorf creates an instance of NotImplementedError +// NotImplementedErrorf creates an instance of [errdefs.ErrNotImplemented]. func NotImplementedErrorf(format string, params ...any) error { return errdefs.NotImplemented(fmt.Errorf(format, params...)) }