-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
None
[This issue comes from an initial quick look and needs better description/scoping.]
Description of problem:
Images used as container disks in DataVolumes should refer manifest lists when available. Currently the RHEL images being referred in the CNV shipped by https://github.com/openshift-cnv/cnv-ci/blob/8f700f8f8edf91622acc162bf41a241f321bb14f/version-mapping.json#L54-L57 deploys DataVolumes that refer the amd64 image, even on arm64 installations. If referring a manifest-list suffices, it would be the preferred (and proactive to multi-arch support) way instead of binding arm64 single-arch manifests to arm64 installations and doing similarly for amd64.
Version-Release number of selected component (if applicable):
How reproducible:
Steps to Reproduce:
1. 2. 3.
Actual results:
Expected results:
RHEL VMs can be created on arm64 homogeneous clusters
Additional info:
└ $ oc get datavolumes -A -o wide NAMESPACE NAME PHASE PROGRESS RESTARTS AGE kubevirt-test-default1 test-datavolume-w294vdttkktd Pending N/A 10m openshift-virtualization-os-images centos-stream9-619504aa1399 Succeeded 100.0% 45m openshift-virtualization-os-images fedora-fee3d6a527c8 Succeeded 100.0% 45m openshift-virtualization-os-images rhel10-beta-4e5117dc7823 Succeeded 100.0% 45m openshift-virtualization-os-images rhel8-f734b05b430b Succeeded 100.0% 45m openshift-virtualization-os-images rhel9-a01181bf230f Succeeded 100.0% 45m ┌ [Sat Nov 23 07:48:07 PM GMT 2024] 19:48:07 up 2:49, 1 user, load average: 0.69, 0.92, 0.87 mem usage: 0.29 root disk: 0.45 ├ aleskandro@seraph ~ (⎈|default/api-ci-op-ltd08v9r-023a6-release-ci-cnv-qe-rhood-us:6443/kube:admin:default) └ $ for v in $(oc get datavolumes -A -o yaml | grep url: | sed 's/^.*url: //'); do set -x; skopeo inspect $v --raw | yq; set +x; done +/usr/bin/zsh:17> skopeo inspect docker://quay.io/kubevirt/alpine-container-disk-demo:v1.4.0 --raw +/usr/bin/zsh:17> yq {"schemaVersion": 2, "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json", "manifests": [{"mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 428, "digest": "sha256:8cc15979ab440dee213ec630933acbcdb885e17d34099ccf06155adc7f944ec9", "platform": {"architecture": "s390x", "os": "linux"}}, {"mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 428, "digest": "sha256:af8dbc1150d5631d7800c43592211265120612d155994aa173a5df2fc2955f99", "platform": {"architecture": "arm64", "os": "linux"}}, {"mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 428, "digest": "sha256:32648932f70172e29e3d09e0d2ef80b1c33df9a5b18cf7ed446eed076c72a452", "platform": {"architecture": "amd64", "os": "linux"}}]} +/usr/bin/zsh:17> set +x +/usr/bin/zsh:17> skopeo inspect docker://quay.io/containerdisks/centos-stream@sha256:619504aa1399c540e5e8f281b258991d47333fe1e3916df79b44c3faeea9fab4 --raw +/usr/bin/zsh:17> yq {"schemaVersion": 2, "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json", "manifests": [{"mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 430, "digest": "sha256:1e4409ff1c06db6926fce3079f4b5a3ac0427afec3f506325f1a5da5209df0b7", "platform": {"architecture": "amd64", "os": "linux"}}, {"mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 430, "digest": "sha256:7aecfed755ab455e24e57a6714d3e8394a29ae4b2070dfb7eb9c8ce60cd4a4eb", "platform": {"architecture": "arm64", "os": "linux"}}, {"mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 429, "digest": "sha256:8274f4d77666ada7a00e0c9836d13bb2a5b43853af196cd9ee2628774bf1c842", "platform": {"architecture": "s390x", "os": "linux"}}]} +/usr/bin/zsh:17> set +x +/usr/bin/zsh:17> skopeo inspect docker://quay.io/containerdisks/fedora@sha256:fee3d6a527c8a969daa396e5365877255f2970e0bf00c35f2af6098333f01149 --raw +/usr/bin/zsh:17> yq {"schemaVersion": 2, "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json", "manifests": [{"mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 429, "digest": "sha256:986e241c8b9a823875dabae0c3a33ac835a55c79f87b89e1a1cdf6d9645cc1b7", "platform": {"architecture": "arm64", "os": "linux"}}, {"mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 429, "digest": "sha256:360b5f06483f48cdd5ae86d5db9f016bcd046204395da08c5d90b9bede6585a2", "platform": {"architecture": "s390x", "os": "linux"}}, {"mediaType": "application/vnd.docker.distribution.manifest.v2+json", "size": 429, "digest": "sha256:0d0c0263e40e8be1d892a272d96449f5a654cd0b4c324d1ceb4816cd97435f34", "platform": {"architecture": "amd64", "os": "linux"}}]} +/usr/bin/zsh:17> set +x +/usr/bin/zsh:17> skopeo inspect docker://registry.redhat.io/rhel10-beta/rhel-guest-image@sha256:4e5117dc7823e29be3bf639a258a752e4e0b19f9dc4002773473839b0ef5fc15 --raw +/usr/bin/zsh:17> yq {"schemaVersion": 2, "mediaType": "application/vnd.oci.image.manifest.v1+json", "config": {"mediaType": "application/vnd.oci.image.config.v1+json", "digest": "sha256:c2c916af9bdf9f5edbf38a9cf4c4a54fed809b80f53e0bfb41a02e2dbb79b41c", "size": 3087}, "layers": [{"mediaType": "application/vnd.oci.image.layer.v1.tar+gzip", "digest": "sha256:b5b42fe553618b7501676303a9b5f8330ead7f28f1def79bd56ef1a5b1f6d8fa", "size": 666287136}, {"mediaType": "application/vnd.oci.image.layer.v1.tar+gzip", "digest": "sha256:4e96497bfaed8e9bf4625b684770e37ac34096ca6f35561807253513f0380810", "size": 1300}], "annotations": {"org.opencontainers.image.base.digest": "", "org.opencontainers.image.base.name": ""}} +/usr/bin/zsh:17> set +x +/usr/bin/zsh:17> skopeo inspect docker://registry.redhat.io/rhel8/rhel-guest-image@sha256:f734b05b430b6ffce6fc3f0054d03c6b98354998c7c7a2e3209d741b3e9d2e40 --raw +/usr/bin/zsh:17> yq {"schemaVersion": 2, "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "config": {"mediaType": "application/vnd.docker.container.image.v1+json", "size": 3724, "digest": "sha256:366eaa95a5ca4a041559eb4b005458f5e2d410cc09727dc5b8a5b48d56a707f7"}, "layers": [{"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 1034115384, "digest": "sha256:1d5173584254f056b6da381aca0835f60b2457801a7418f8c4b8863c1783504e"}]} +/usr/bin/zsh:17> set +x +/usr/bin/zsh:17> skopeo inspect docker://registry.redhat.io/rhel9/rhel-guest-image@sha256:a01181bf230f0dcf19da8db435b83dfbacbbb66400e94dad1b4706283df984ef --raw +/usr/bin/zsh:17> yq {"schemaVersion": 2, "mediaType": "application/vnd.oci.image.manifest.v1+json", "config": {"mediaType": "application/vnd.oci.image.config.v1+json", "digest": "sha256:ca29d480727b01fccc7275ac892075f9e023c4c3ce3f46f9000159d21339f789", "size": 3080}, "layers": [{"mediaType": "application/vnd.oci.image.layer.v1.tar+gzip", "digest": "sha256:0159f59c07e0925b5ba97cba759bfb733dc0f46a1c5b754d08a9b61909eabe29", "size": 902883933}, {"mediaType": "application/vnd.oci.image.layer.v1.tar+gzip", "digest": "sha256:80cc8980bff5f9ef445ebee8cb3d1bfbd9cd0535177fae5c68fd3be8b550367f", "size": 1291}], "annotations": {"org.opencontainers.image.base.digest": "", "org.opencontainers.image.base.name": ""}} +/usr/bin/zsh:17> set +x ┌ [Sat Nov 23 07:48:15 PM GMT 2024] 19:48:15 up 2:49, 1 user, load average: 0.66, 0.91, 0.87 mem usage: 0.29 root disk: 0.45 ├ aleskandro@seraph ~ (⎈|default/api-ci-op-ltd08v9r-023a6-release-ci-cnv-qe-rhood-us:6443/kube:admin:default) └ $