-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
4.19.z
-
None
-
None
-
False
-
-
None
-
Important
-
Yes
-
x86_64, aarch64
-
Production
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
Hosted Control Planes in ROSA run on AMD64/Intel worker nodes in the management cluster. ImageStreams resolve manifest pointers to their architecture-specific images. Because of this, it's unclear how users can have ARM nodes in ROSA HCP and use ImageStreams for any of Deployments, Daemonsets, etc.
This appears to have been introduced once ARM worker nodes were (or heterogeneous clusters in general)
Given the likely higher prevalence of amd/intel nodes in our customer fleet and that we are currently using amd/intel nodes for management clusters, the impact is less for now. HCM has a need to move to ARM/graviton nodes in the near future.
ImageStreams should track the digest images and let the building/builder nodes resolve it.
A potential workaround is to set nodeselector scheduling of pods based on imagestreams exclusively to amd/intel architecture nodes.
How reproducible:
Always
Steps to Reproduce:
1. Create ROSA HCP cluster
2. Create only ARM worker nodes (e.g. m7g.xlarge)
3. Register an image stream
4. Reference imagestream in any of Deployment, DeployConfig, Daemonset, BuildConfig, etc.
5. Observe architecture mismatch
6. Observe amd/intel sha tag exclusively in ImageStream object.
Actual results:
ImageStream shows the amd/intel SHA only (or whatever the control plane arch is exclusively)
Expected results:
ImageStream could show the manifest SHA
Additional info:
This is likely an enhancement to ImageStream which will require extensive regression testing. Not having this undermines our application platform and hybrid messaging with ROSA HCP. I expect similar issue on ARO HCP when that is launched.