-
Bug
-
Resolution: Unresolved
-
Normal
-
CNV v4.20.z
-
Quality / Stability / Reliability
-
8
-
False
-
-
False
-
None
-
-
None
Description of problem:
When creating a VM from the UI using an instance type and selecting centos-stream9-arm64, the VM is created with an incorrect architecture.
Version-Release number of selected component (if applicable):
4.20
How reproducible:
100%
Steps to Reproduce:
1. Create a VM using the GUI. 2. From Instance Type, select centos-stream9-arm64.
Actual results:
VM is created with: spec.template.spec.architecture: amd64
Expected results:
The VM should be created with: spec.template.spec.architecture: arm64
Additional info:
According to the documentation, golden images are supported as Technology Preview in CNV 4.20, which implies support for heterogeneous clusters: https://docs.redhat.com/en/documentation/openshift_container_platform/4.20/html/virtualization/advanced-vm-creation#virt-golden-image-heterogeneous-clusters
However, CNV 4.20 is based on KubeVirt 1.6. In KubeVirt 1.6, if the user does not explicitly set the VM architecture, it defaults to the defaultArchitecture reported by the KubeVirt CR. As a result, the VM ends up with amd64, even when the selected instance type and data source are ARM-based.
This behavior was fixed in KubeVirt 1.7, where the default architecture is inferred from the DataSource based on its architecture label:
https://github.com/kubevirt/kubevirt/pull/15388
Without this fix, the heterogeneous cluster support in CNV 4.20 is incomplete, and ARM-based golden images cannot be reliably used unless the architecture is explicitly set by the user.