summaryrefslogtreecommitdiff
path: root/distribution/errors.go
diff options
context:
space:
mode:
authorVictor Vieux <victorvieux@gmail.com>2016-12-08 11:28:52 -0800
committerGitHub <noreply@github.com>2016-12-08 11:28:52 -0800
commitc1a1b381f91367afa94a69649d9aa808acecc8ac (patch)
treed7bb88af47cd1c9bc5c8aee4d161cabb9f0742e1 /distribution/errors.go
parent032b5b21b603282e613b6d98da1c7cc2b021a924 (diff)
parenta12b466183e03621bc9e1c1e4deab6db8ec93f0a (diff)
downloaddocker-c1a1b381f91367afa94a69649d9aa808acecc8ac.tar.gz
Merge pull request #28459 from dmcgowan/plugin-repository-pinning
Plugin repository pinning
Diffstat (limited to 'distribution/errors.go')
-rw-r--r--distribution/errors.go12
1 files changed, 8 insertions, 4 deletions
diff --git a/distribution/errors.go b/distribution/errors.go
index 7f9e20f279..b8cf9fb9e8 100644
--- a/distribution/errors.go
+++ b/distribution/errors.go
@@ -60,21 +60,25 @@ func shouldV2Fallback(err errcode.Error) bool {
return false
}
-func translatePullError(err error, ref reference.Named) error {
+// TranslatePullError is used to convert an error from a registry pull
+// operation to an error representing the entire pull operation. Any error
+// information which is not used by the returned error gets output to
+// log at info level.
+func TranslatePullError(err error, ref reference.Named) error {
switch v := err.(type) {
case errcode.Errors:
if len(v) != 0 {
for _, extra := range v[1:] {
logrus.Infof("Ignoring extra error returned from registry: %v", extra)
}
- return translatePullError(v[0], ref)
+ return TranslatePullError(v[0], ref)
}
case errcode.Error:
var newErr error
switch v.Code {
case errcode.ErrorCodeDenied:
// ErrorCodeDenied is used when access to the repository was denied
- newErr = errors.Errorf("repository %s not found: does not exist or no read access", ref.Name())
+ newErr = errors.Errorf("repository %s not found: does not exist or no pull access", ref.Name())
case v2.ErrorCodeManifestUnknown:
newErr = errors.Errorf("manifest for %s not found", ref.String())
case v2.ErrorCodeNameUnknown:
@@ -85,7 +89,7 @@ func translatePullError(err error, ref reference.Named) error {
return newErr
}
case xfer.DoNotRetry:
- return translatePullError(v.Err, ref)
+ return TranslatePullError(v.Err, ref)
}
return err