-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
4.18, 4.18.0
-
None
-
Rejected
-
False
-
-
Description of problem:
hypershift management cluster(which is a multiarch cluster) should be able to handle single-arch amd64 and single-arch arm64 managed clusters from the same management cluster, now if the arch of managed clusters don't match the master nodes arch of management cluster, it will hit arch mismatch error, but we have both amd64 and arm64 workers in the mgmt cluster to run managed cluster control-plane pods, so it should not compare only mgmt master node arch in a multiarch cluster. Additional info: we still need to install mto(multiarch-tuning-operator) in mgmt clusters to help cluster workloads predict support arch info and add nodeAffinity to the pods.
Version-Release number of selected component (if applicable):
latest
How reproducible:
Always
Steps to Reproduce:
1. Install the hypershift in a multi-arch cluster with arm64 control plane and amd64 + arm64 workers 2. Install mto(multiarch-tuning-operator) to add nodeAffinity of support arch info for the pods 3. Create an amd64 single arch managed cluster
Actual results:
it will show below error: """ Error: multi-arch hosted cluster is not enabled and management cluster and nodepool cpu architectures do not match; please use a multi-arch release image or a multi-arch release stream - management cluster cpu arch: amd64, nodepool cpu arch: arm64 """
Expected results:
the amd64 managed clusters can be created
Additional info:
I have tested below scenario: hypershift mgmt clusters with arm64 control plane and amd64 + arm64 workers and mto installed: 1. handle arm64 single arch managed cluster - Passed 2. handle amd64 single arch managed cluster - Failed 3. handle multi-arch managed cluster - Passed root cause: https://github.com/openshift/hypershift/blob/d4190487138083a624b181bfab66f42912fa49d3/support/util/util.go#L371