From 101f72bf1aa6fbfc4e3d4c84a3c068ca140419ea Mon Sep 17 00:00:00 2001 From: Derek McGowan Date: Fri, 31 May 2024 15:36:17 -0700 Subject: [PATCH] Add Unwrap error to custom error types Signed-off-by: Derek McGowan --- agent/exec/errors.go | 1 + swarmd/dockerexec/controller.go | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/agent/exec/errors.go b/agent/exec/errors.go index 06d32707a2..f57629161f 100644 --- a/agent/exec/errors.go +++ b/agent/exec/errors.go @@ -64,6 +64,7 @@ type temporary struct { error } +func (t temporary) Unwrap() error { return t.error } func (t temporary) Cause() error { return t.error } func (t temporary) Temporary() bool { return true } diff --git a/swarmd/dockerexec/controller.go b/swarmd/dockerexec/controller.go index e597c40a6a..0f608b8229 100644 --- a/swarmd/dockerexec/controller.go +++ b/swarmd/dockerexec/controller.go @@ -16,11 +16,12 @@ import ( engineapi "github.com/docker/docker/client" "github.com/docker/go-connections/nat" gogotypes "github.com/gogo/protobuf/types" + "github.com/pkg/errors" + "golang.org/x/time/rate" + "github.com/moby/swarmkit/v2/agent/exec" "github.com/moby/swarmkit/v2/api" "github.com/moby/swarmkit/v2/log" - "github.com/pkg/errors" - "golang.org/x/time/rate" ) // controller implements agent.Controller against docker's API. @@ -597,6 +598,10 @@ func (e *exitError) Cause() error { return e.cause } +func (e *exitError) Unwrap() error { + return e.cause +} + func makeExitError(ctnr types.ContainerJSON) error { if ctnr.State.ExitCode != 0 { var cause error