This is a clone of issue OCPBUGS-55114. The following is the description of the original issue:
—
Description of problem:
When mirroring operators using oc-mirror v2 mirror-to-mirror flow, if the catalog is a manifest list that contains a single manifest, the following error is returned: [ERROR] : [OperatorImageCollector] the digests seem to be incorrect for $catalog: invalid checksum digest format
It appears to be caused by this line of code, which only checks for more than one manifest, not more than zero manifests. In cases where a manifest list is used but only one manifest is present, that if statement is ignored and the digest is taken from oci.Config, which is a zero value and therefore the digest is always invalid.
Adding another architecture to the manifest list solves this issue even if that architecture is never used.
Version-Release number of selected component (if applicable):
Tried on two different versions: Client Version: version.Info{Major:"", Minor:"", GitVersion:"4.17.0-202503210032.p0.g39bedc7.assembly.stream.el9-39bedc7", GitCommit:"39bedc78d79bd13ea7271e5d4c72a12890b05631", GitTreeState:"clean", BuildDate:"2025-03-21T03:28:52Z", GoVersion:"go1.22.12 (Red Hat 1.22.12-1.el8_10) X:strictfipsruntime", Compiler:"gc", Platform:"linux/amd64"} Client Version: version.Info{Major:"", Minor:"", GitVersion:"4.18.0-202502100934.p0.gc00c7c9.assembly.stream.el9-c00c7c9", GitCommit:"c00c7c9f973ed593b639db63102101a4ab911033", GitTreeState:"clean", BuildDate:"2025-02-10T10:20:58Z", GoVersion:"go1.22.9 (Red Hat 1.22.9-1.module+el8.10.0+22500+aee717ef) X:strictfipsruntime", Compiler:"gc", Platform:"linux/amd64"}
How reproducible:
always
Steps to Reproduce:
1. Use oc-mirror v2 in the mirror-to-mirror flow with an operator catalog that is a manifest list with only one architecture. This can be achieved by generating a Dockerfile with opm and building it into a manifest list. 2. Executing the mirroring always fails with the same error message (see description). 3.
Actual results:
Mirroring fails immediately with an error (see description).
Expected results:
Mirroring completes successfully.
Additional info:
Command used to produce workdir: oc mirror --v2 -c /tmp/mirror-catalog-cdpj37sx/ImageSetConfiguration.yaml --retry-times 3 --retry-delay 60s --authfile /home/kni/combined-secret.json --workspace file:///tmp/mirror-catalog-cdpj37sx --log-level trace docker://registry.kni-qe-15.lab.eng.rdu2.redhat.com:5000 ImageSetConfiguration.yaml is in attached google drive
- clones
-
OCPBUGS-55114 [v2] manifest list catalog with 1 manifest fails due to invalid checksum digest format
-
- Verified
-
- is blocked by
-
OCPBUGS-55114 [v2] manifest list catalog with 1 manifest fails due to invalid checksum digest format
-
- Verified
-
- links to