mirror of
https://github.com/rancher/plugins.git
synced 2025-07-08 20:53:53 +00:00
Bumps the golang group with 5 updates: | Package | From | To | | --- | --- | --- | | [github.com/Microsoft/hcsshim](https://github.com/Microsoft/hcsshim) | `0.11.4` | `0.12.0` | | [github.com/alexflint/go-filemutex](https://github.com/alexflint/go-filemutex) | `1.2.0` | `1.3.0` | | [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) | `2.13.2` | `2.16.0` | | [github.com/onsi/gomega](https://github.com/onsi/gomega) | `1.30.0` | `1.31.1` | | [golang.org/x/sys](https://github.com/golang/sys) | `0.15.0` | `0.17.0` | Updates `github.com/Microsoft/hcsshim` from 0.11.4 to 0.12.0 - [Release notes](https://github.com/Microsoft/hcsshim/releases) - [Commits](https://github.com/Microsoft/hcsshim/compare/v0.11.4...v0.12.0) Updates `github.com/alexflint/go-filemutex` from 1.2.0 to 1.3.0 - [Release notes](https://github.com/alexflint/go-filemutex/releases) - [Commits](https://github.com/alexflint/go-filemutex/compare/v1.2.0...v1.3.0) Updates `github.com/onsi/ginkgo/v2` from 2.13.2 to 2.16.0 - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.13.2...v2.16.0) Updates `github.com/onsi/gomega` from 1.30.0 to 1.31.1 - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.30.0...v1.31.1) Updates `golang.org/x/sys` from 0.15.0 to 0.17.0 - [Commits](https://github.com/golang/sys/compare/v0.15.0...v0.17.0) --- updated-dependencies: - dependency-name: github.com/Microsoft/hcsshim dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang - dependency-name: github.com/alexflint/go-filemutex dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang ... Signed-off-by: dependabot[bot] <support@github.com>
70 lines
1.8 KiB
Go
70 lines
1.8 KiB
Go
package oc
|
|
|
|
import (
|
|
"errors"
|
|
"io"
|
|
"net"
|
|
"os"
|
|
|
|
"github.com/containerd/errdefs"
|
|
"google.golang.org/grpc/codes"
|
|
"google.golang.org/grpc/status"
|
|
)
|
|
|
|
// todo: break import cycle with "internal/hcs/errors.go" and reference errors defined there
|
|
// todo: add errors defined in "internal/guest/gcserror" (Hresult does not implement error)
|
|
|
|
func toStatusCode(err error) codes.Code {
|
|
// checks if err implements GRPCStatus() *"google.golang.org/grpc/status".Status,
|
|
// wraps an error defined in "github.com/containerd/errdefs", or is a
|
|
// context timeout or cancelled error
|
|
if s, ok := status.FromError(errdefs.ToGRPC(err)); ok {
|
|
return s.Code()
|
|
}
|
|
|
|
switch {
|
|
// case isAny(err):
|
|
// return codes.Cancelled
|
|
case isAny(err, os.ErrInvalid):
|
|
return codes.InvalidArgument
|
|
case isAny(err, os.ErrDeadlineExceeded):
|
|
return codes.DeadlineExceeded
|
|
case isAny(err, os.ErrNotExist):
|
|
return codes.NotFound
|
|
case isAny(err, os.ErrExist):
|
|
return codes.AlreadyExists
|
|
case isAny(err, os.ErrPermission):
|
|
return codes.PermissionDenied
|
|
// case isAny(err):
|
|
// return codes.ResourceExhausted
|
|
case isAny(err, os.ErrClosed, net.ErrClosed, io.ErrClosedPipe, io.ErrShortBuffer):
|
|
return codes.FailedPrecondition
|
|
// case isAny(err):
|
|
// return codes.Aborted
|
|
// case isAny(err):
|
|
// return codes.OutOfRange
|
|
// case isAny(err):
|
|
// return codes.Unimplemented
|
|
case isAny(err, io.ErrNoProgress):
|
|
return codes.Internal
|
|
// case isAny(err):
|
|
// return codes.Unavailable
|
|
case isAny(err, io.ErrShortWrite, io.ErrUnexpectedEOF):
|
|
return codes.DataLoss
|
|
// case isAny(err):
|
|
// return codes.Unauthenticated
|
|
default:
|
|
return codes.Unknown
|
|
}
|
|
}
|
|
|
|
// isAny returns true if errors.Is is true for any of the provided errors, errs.
|
|
func isAny(err error, errs ...error) bool {
|
|
for _, e := range errs {
|
|
if errors.Is(err, e) {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|