From 6859bc7eeec05c1dde93e80ff53eab78c222f3ec Mon Sep 17 00:00:00 2001 From: Brian Goff Date: Wed, 11 Mar 2020 11:50:58 -0700 Subject: [PATCH] Move schema1 deprecation notice Currently we show this deprecation notice for any error returned by a registry. Registries can return an error for any number of reasons. Instead let's show the deprecation notice only if the fallback was successful. Signed-off-by: Brian Goff --- distribution/push_v2.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/distribution/push_v2.go b/distribution/push_v2.go index 0bf39e2217..08515808a7 100644 --- a/distribution/push_v2.go +++ b/distribution/push_v2.go @@ -188,10 +188,7 @@ func (p *v2Pusher) pushV2Tag(ctx context.Context, ref reference.NamedTagged, id logrus.Warnf("failed to upload schema2 manifest: %v - falling back to schema1", err) - msg := fmt.Sprintf("[DEPRECATION NOTICE] registry v2 schema1 support will be removed in an upcoming release. Please contact admins of the %s registry NOW to avoid future disruption. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/", reference.Domain(ref)) - logrus.Warn(msg) - progress.Message(p.config.ProgressOutput, "", msg) - + // Note: this fallback is deprecated, see log messages below manifestRef, err := reference.WithTag(p.repo.Named(), ref.Tag()) if err != nil { return err @@ -205,6 +202,11 @@ func (p *v2Pusher) pushV2Tag(ctx context.Context, ref reference.NamedTagged, id if _, err = manSvc.Put(ctx, manifest, putOptions...); err != nil { return err } + + // schema2 failed but schema1 succeeded + msg := fmt.Sprintf("[DEPRECATION NOTICE] registry v2 schema1 support will be removed in an upcoming release. Please contact admins of the %s registry NOW to avoid future disruption. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/", reference.Domain(ref)) + logrus.Warn(msg) + progress.Message(p.config.ProgressOutput, "", msg) } var canonicalManifest []byte