-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
False
-
False
-
Quay Enterprise
-
Mirroring of the image clefos:latest will fail on Quay because this image is made exclusively for IBM Z architecture. This is the output when skopeo commands are run manually:
# skopeo inspect docker://clefos:latest FATA[0002] Error parsing manifest for image: Error choosing image instance: no image found in manifest list for architecture amd64, variant "", OS linux # skopeo inspect --raw docker://clefos:latest | jq '.' { "manifests": [ { "digest": "sha256:e5641a2249f8014690a209b85173ee4569154c6281d27accf5efee43fa545fb6", "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "platform": { "architecture": "s390x", "os": "linux" }, "size": 529 } ], "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json", "schemaVersion": 2 }
The problem lies in the order of operations that the mirror worker does. It first tries to do an inspect to determine what is the tag list and then does the skopeo copy -a (to copy all images. Because the inspect operation fails, the 2nd one is never executed. However, copying the image manually without doing the inspect first succeeds:
Unable to find source-code formatter for language: bashl. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
# skopeo copy --src-creds username:password --dest-creds username:password --dest-tls-verify=false -a docker://clefos:latest docker://tardis.example.com/ibazulic/clefos:latest Getting image list signatures Copying 1 of 1 images in list Copying image sha256:e5641a2249f8014690a209b85173ee4569154c6281d27accf5efee43fa545fb6 (1/1) Getting image source signatures Copying blob 0bcda6d6228a done Copying config 865aa764e0 done Writing manifest to image destination Storing signatures Writing manifest list to image destination Storing list signatures
Is there a way to force the mirror worker to sync images that are not of the correct arch?