Skip to content

Commit 78ddc10

Browse files
Merge pull request #18078 from smarterclayton/fix_mirror
Automatic merge from submit-queue. `oc image mirror` was accidentally broken during dependency updating An upstream cherry-pick was dropped and the wrong values were passed to the manifest Get call. @liggitt
2 parents d5175c1 + 729d5f5 commit 78ddc10

File tree

5 files changed

+99
-6
lines changed

5 files changed

+99
-6
lines changed

glide.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ import:
7575
- package: github.com/opencontainers/runc
7676
repo: [email protected]:openshift/opencontainers-runc
7777
version: openshift-3.9
78+
# cli
79+
- package: github.com/docker/distribution
80+
repo: [email protected]:openshift/docker-distribution
81+
version: release-2.6.0
7882

7983
# ours: shared with kube, but forced by openshift
8084
# master

pkg/oc/cli/cmd/image/mirror/mirror.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,12 @@ type pushOptions struct {
101101
AttemptS3BucketCopy []string
102102
}
103103

104+
// schema2ManifestOnly specifically requests a manifest list first
105+
var schema2ManifestOnly = distribution.WithManifestMediaTypes([]string{
106+
manifestlist.MediaTypeManifestList,
107+
schema2.MediaTypeManifest,
108+
})
109+
104110
// NewCommandMirrorImage copies images from one location to another.
105111
func NewCmdMirrorImage(name string, out, errOut io.Writer) *cobra.Command {
106112
o := &pushOptions{}
@@ -398,8 +404,7 @@ func (o *pushOptions) Run() error {
398404
for srcDigestString, pushTargets := range src.digests {
399405
// load the manifest
400406
srcDigest := godigest.Digest(srcDigestString)
401-
// var contentDigest godigest.Digest / client.ReturnContentDigest(&contentDigest),
402-
srcManifest, err := manifests.Get(ctx, godigest.Digest(srcDigest), distribution.WithTag(manifestlist.MediaTypeManifestList), distribution.WithTag(schema2.MediaTypeManifest))
407+
srcManifest, err := manifests.Get(ctx, godigest.Digest(srcDigest), schema2ManifestOnly)
403408
if err != nil {
404409
digestErrs = append(digestErrs, retrieverError{src: src.ref, err: fmt.Errorf("unable to retrieve source image %s manifest: %v", src.ref, err)})
405410
continue

vendor/github.com/docker/distribution/registry.go

+15
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/docker/distribution/registry/client/repository.go

+12-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/docker/distribution/registry/client/repository_test.go

+61
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)