@kuiwang is there a reason why not using a tag or a digest is desirable? AFAIK the best practice is to always refer to an image with a tag or a digest, and this seems like expected behavior if the tag/digest is not mentioned.
This issue was discussed at standup today. Let's accept that there are community members that expect us to support untagged pullspecs and default to :latest in those cases. Does there need to be a corresponding documentation update to explain why this is not recommended?
We could add a general guideline in the OCP's Operator SDK docs around image tagging and mention this.
The OLM team agreed to support this type of catalog on 4/30 -- see my comment here https://bugzilla.redhat.com/show_bug.cgi?id=1827073#c3. It's a legitimate use case, even though we want our documentation to advise users of the risks.
Cloned this to a second bug covering updates to the Operator SDK docs: https://bugzilla.redhat.com/show_bug.cgi?id=1836952.
Based on the following, the tremolosecurity-myvd-k8s-operator is added latest tag when mirroring and then works. LGTM. --- [root@preserve-olm-env bin]# ./oc version -o yaml clientVersion: buildDate: "2020-05-18T19:28:32Z" compiler: gc gitCommit: 67da73a6d0049d70c5a53743d5a844fc008f7d5d gitTreeState: dirty gitVersion: openshift-clients-4.5.0-202005181857 goVersion: go1.13.4 major: "" minor: "" platform: linux/amd64 releaseClientVersion: 4.5.0-0.nightly-2020-05-19-021142 [root@preserve-olm-env bin]# ./oc adm catalog mirror quay.io/kuiwang/operators-dockerio:v1 quay.io/kuiwang wrote database to /tmp/484218019/bundles.db quay.io/ kuiwang/strimzi-operator manifests: sha256:a789a21d93e73fb2fcc1981e721697296696f8900c7dd7a018838f54e62ea0ac -> 61ad3749 stats: shared=0 unique=0 size=0B phase 0: quay.io kuiwang/strimzi-operator blobs=0 mounts=0 manifests=1 shared=0 info: Planning completed in 700ms sha256:a789a21d93e73fb2fcc1981e721697296696f8900c7dd7a018838f54e62ea0ac quay.io/kuiwang/strimzi-operator:61ad3749 info: Mirroring completed in 110ms (0B/s) quay.io/ kuiwang/strimzi-operator manifests: sha256:142ac4fd4a9ed961199a83a299ebf68a6b99ee66def15d2c536ac7eba2dd8529 -> 0.14.0 stats: shared=0 unique=0 size=0B phase 0: quay.io kuiwang/strimzi-operator blobs=0 mounts=0 manifests=1 shared=0 info: Planning completed in 650ms sha256:142ac4fd4a9ed961199a83a299ebf68a6b99ee66def15d2c536ac7eba2dd8529 quay.io/kuiwang/strimzi-operator:0.14.0 info: Mirroring completed in 190ms (0B/s) quay.io/ kuiwang/strimzi-operator manifests: sha256:c4e6c47444e45cef133aa7b34ef29fe2ebf9d3edc09c946c78db6a4359f4312d -> fc510c1a stats: shared=0 unique=0 size=0B phase 0: quay.io kuiwang/strimzi-operator blobs=0 mounts=0 manifests=1 shared=0 info: Planning completed in 570ms sha256:c4e6c47444e45cef133aa7b34ef29fe2ebf9d3edc09c946c78db6a4359f4312d quay.io/kuiwang/strimzi-operator:fc510c1a info: Mirroring completed in 120ms (0B/s) quay.io/ kuiwang/tremolosecurity-myvd-k8s-operator manifests: sha256:746b8b5a18929694ac0cdf43d88d925daa986b73455f6e7f76f847e536bb2054 -> latest stats: shared=0 unique=0 size=0B phase 0: quay.io kuiwang/tremolosecurity-myvd-k8s-operator blobs=0 mounts=0 manifests=1 shared=0 info: Planning completed in 670ms sha256:746b8b5a18929694ac0cdf43d88d925daa986b73455f6e7f76f847e536bb2054 quay.io/kuiwang/tremolosecurity-myvd-k8s-operator:latest info: Mirroring completed in 110ms (0B/s) quay.io/ kuiwang/strimzi-cluster-operator manifests: sha256:b7d76dfaeadc36a9debd3ace4b63d4493dc9ea5a52c95a325f8371c175a9c44c -> 0.11.1 stats: shared=0 unique=0 size=0B phase 0: quay.io kuiwang/strimzi-cluster-operator blobs=0 mounts=0 manifests=1 shared=0 info: Planning completed in 980ms sha256:b7d76dfaeadc36a9debd3ace4b63d4493dc9ea5a52c95a325f8371c175a9c44c quay.io/kuiwang/strimzi-cluster-operator:0.11.1 info: Mirroring completed in 160ms (0B/s) quay.io/ kuiwang/strimzi-operator manifests: sha256:ee1bdbaa51d7ae0b4c01170c0a43fb06e71c7ea7d7a394f4f1b35b2329da8ae2 -> 0.13.0 stats: shared=0 unique=0 size=0B phase 0: quay.io kuiwang/strimzi-operator blobs=0 mounts=0 manifests=1 shared=0 info: Planning completed in 710ms sha256:ee1bdbaa51d7ae0b4c01170c0a43fb06e71c7ea7d7a394f4f1b35b2329da8ae2 quay.io/kuiwang/strimzi-operator:0.13.0 info: Mirroring completed in 100ms (0B/s) quay.io/ kuiwang/atlasmap-atlasmap-operator manifests: sha256:b381b6ed7f3e7cba3f2001aa53672f2a548ec7bfcb77a892affc4860fadc5210 -> 0.1.0 stats: shared=0 unique=0 size=0B phase 0: quay.io kuiwang/atlasmap-atlasmap-operator blobs=0 mounts=0 manifests=1 shared=0 info: Planning completed in 880ms sha256:b381b6ed7f3e7cba3f2001aa53672f2a548ec7bfcb77a892affc4860fadc5210 quay.io/kuiwang/atlasmap-atlasmap-operator:0.1.0 info: Mirroring completed in 130ms (0B/s) quay.io/ kuiwang/atlasmap-atlasmap-operator manifests: sha256:c8058c2fade50fb393a9a29cd46e1a387f77506bb147cb40fdff0b8de6642716 -> 0.2.0 stats: shared=0 unique=0 size=0B phase 0: quay.io kuiwang/atlasmap-atlasmap-operator blobs=0 mounts=0 manifests=1 shared=0 info: Planning completed in 630ms sha256:c8058c2fade50fb393a9a29cd46e1a387f77506bb147cb40fdff0b8de6642716 quay.io/kuiwang/atlasmap-atlasmap-operator:0.2.0 info: Mirroring completed in 120ms (0B/s) quay.io/ kuiwang/strimzi-operator manifests: sha256:d8363d33d2b8ba0affcb4bb24a1962dc2175d83e6e5b1e541e6c88e011b0a934 -> 0.12.2 stats: shared=0 unique=0 size=0B phase 0: quay.io kuiwang/strimzi-operator blobs=0 mounts=0 manifests=1 shared=0 info: Planning completed in 630ms sha256:d8363d33d2b8ba0affcb4bb24a1962dc2175d83e6e5b1e541e6c88e011b0a934 quay.io/kuiwang/strimzi-operator:0.12.2 info: Mirroring completed in 280ms (0B/s) quay.io/ kuiwang/strimzi-operator manifests: sha256:d134a9865524c29fcf75bbc4469013bc38d8a15cb5f41acfddb6b9e492f556e4 -> 2b13d275 stats: shared=0 unique=0 size=0B phase 0: quay.io kuiwang/strimzi-operator blobs=0 mounts=0 manifests=1 shared=0 info: Planning completed in 560ms sha256:d134a9865524c29fcf75bbc4469013bc38d8a15cb5f41acfddb6b9e492f556e4 quay.io/kuiwang/strimzi-operator:2b13d275 info: Mirroring completed in 130ms (0B/s) quay.io/ kuiwang/strimzi-cluster-operator manifests: sha256:ba0bb42ecf43b6f22f9f2de773cf1d9a9527e0391e8af955083c061d5558343b -> 0.11.0 stats: shared=0 unique=0 size=0B phase 0: quay.io kuiwang/strimzi-cluster-operator blobs=0 mounts=0 manifests=1 shared=0 info: Planning completed in 630ms sha256:ba0bb42ecf43b6f22f9f2de773cf1d9a9527e0391e8af955083c061d5558343b quay.io/kuiwang/strimzi-cluster-operator:0.11.0 info: Mirroring completed in 110ms (0B/s) quay.io/ kuiwang/strimzi-operator manifests: sha256:ef788de461a0c66d68cb98b1f23ef4be25223b0fbe6c46727a86a8da1a5cc0f1 -> 0.12.1 stats: shared=0 unique=0 size=0B phase 0: quay.io kuiwang/strimzi-operator blobs=0 mounts=0 manifests=1 shared=0 info: Planning completed in 660ms sha256:ef788de461a0c66d68cb98b1f23ef4be25223b0fbe6c46727a86a8da1a5cc0f1 quay.io/kuiwang/strimzi-operator:0.12.1 info: Mirroring completed in 100ms (0B/s) no digest mapping available for docker.io/tremolosecurity/myvd-k8s-operator:latest, skip writing to ImageContentSourcePolicy no digest mapping available for docker.io/strimzi/cluster-operator:0.11.1, skip writing to ImageContentSourcePolicy no digest mapping available for docker.io/strimzi/operator:0.14.0, skip writing to ImageContentSourcePolicy no digest mapping available for docker.io/strimzi/cluster-operator:0.11.0, skip writing to ImageContentSourcePolicy no digest mapping available for docker.io/strimzi/operator:0.12.1, skip writing to ImageContentSourcePolicy no digest mapping available for docker.io/strimzi/operator:0.13.0, skip writing to ImageContentSourcePolicy no digest mapping available for docker.io/atlasmap/atlasmap-operator:0.1.0, skip writing to ImageContentSourcePolicy no digest mapping available for docker.io/atlasmap/atlasmap-operator:0.2.0, skip writing to ImageContentSourcePolicy no digest mapping available for docker.io/strimzi/operator:0.12.2, skip writing to ImageContentSourcePolicy wrote mirroring manifests to operators-dockerio-manifests [root@preserve-olm-env bin]# cd operators-dockerio-manifests/ [root@preserve-olm-env operators-dockerio-manifests]# ls imageContentSourcePolicy.yaml mapping.txt [root@preserve-olm-env operators-dockerio-manifests]# cat mapping.txt docker.io/strimzi/operator:0.14.0=quay.io/kuiwang/strimzi-operator:0.14.0 docker.io/strimzi/operator@sha256:c4e6c47444e45cef133aa7b34ef29fe2ebf9d3edc09c946c78db6a4359f4312d=quay.io/kuiwang/strimzi-operator:fc510c1a docker.io/tremolosecurity/myvd-k8s-operator:latest=quay.io/kuiwang/tremolosecurity-myvd-k8s-operator:latest docker.io/strimzi/cluster-operator:0.11.1=quay.io/kuiwang/strimzi-cluster-operator:0.11.1 docker.io/strimzi/operator@sha256:a789a21d93e73fb2fcc1981e721697296696f8900c7dd7a018838f54e62ea0ac=quay.io/kuiwang/strimzi-operator:61ad3749 docker.io/atlasmap/atlasmap-operator:0.2.0=quay.io/kuiwang/atlasmap-atlasmap-operator:0.2.0 docker.io/strimzi/operator:0.12.2=quay.io/kuiwang/strimzi-operator:0.12.2 docker.io/strimzi/operator@sha256:d134a9865524c29fcf75bbc4469013bc38d8a15cb5f41acfddb6b9e492f556e4=quay.io/kuiwang/strimzi-operator:2b13d275 docker.io/strimzi/cluster-operator:0.11.0=quay.io/kuiwang/strimzi-cluster-operator:0.11.0 docker.io/strimzi/operator:0.12.1=quay.io/kuiwang/strimzi-operator:0.12.1 docker.io/strimzi/operator:0.13.0=quay.io/kuiwang/strimzi-operator:0.13.0 docker.io/atlasmap/atlasmap-operator:0.1.0=quay.io/kuiwang/atlasmap-atlasmap-operator:0.1.0
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:2409