Bug 1827073 - the source image without both tag and digest can not be retrieved when oc adm catalog mirror
Summary: the source image without both tag and digest can not be retrieved when oc adm...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: OLM
Version: 4.5
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: ---
: 4.5.0
Assignee: Ben Luddy
QA Contact: kuiwang
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-04-23 08:14 UTC by kuiwang
Modified: 2020-07-13 17:30 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1836952 (view as bug list)
Environment:
Last Closed: 2020-07-13 17:30:33 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift oc pull 414 0 None closed Bug 1827073: Support mirroring catalogs using default-tagged source images. 2020-12-22 12:19:16 UTC
Red Hat Product Errata RHBA-2020:2409 0 None None None 2020-07-13 17:30:44 UTC

Comment 1 Anik 2020-04-24 14:11:39 UTC
@kuiwang@redhat.com 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.

Comment 3 Ben Luddy 2020-04-30 17:50:58 UTC
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?

Comment 5 Alex Dellapenta 2020-05-07 22:12:05 UTC
We could add a general guideline in the OCP's Operator SDK docs around image tagging and mention this.

Comment 11 Ben Luddy 2020-05-18 14:12:43 UTC
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.

Comment 12 Ben Luddy 2020-05-18 14:40:25 UTC
Cloned this to a second bug covering updates to the Operator SDK docs: https://bugzilla.redhat.com/show_bug.cgi?id=1836952.

Comment 13 kuiwang 2020-05-19 06:00:44 UTC
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

Comment 14 errata-xmlrpc 2020-07-13 17:30:33 UTC
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


Note You need to log in before you can comment on or make changes to this bug.