ManageIQ / manageiq-pods

ManageIQ on Kubernetes and OpenShift
Apache License 2.0
51 stars 100 forks source link

OCP 4.14 support of heterogeneous cluster #988

Closed kschanrtp closed 1 year ago

kschanrtp commented 1 year ago

In OCP 4.14, it is going to support heterogeneous cluster, that is, cluster can contain worker node that can run on either amd64 or ppc64le or s390x or arm64 platform. In order to allow OCP to select the correct worker node to run. The deployment for ManageIQ pods should contain nodeAffinity information. ManageIQ operator and ManageIQ orchestrator should provide the nodeAffinity information for the pods deployed in OCP environment.

Here is an example of affinity for supporting, amd64, ppc64le, and s390x platforms.

             spec:
               affinity:
                 nodeAffinity:
                   requiredDuringSchedulingIgnoredDuringExecution:
                     nodeSelectorTerms:
                     - matchExpressions:
                       - key: kubernetes.io/arch
                         operator: In
                         values:
                         - amd64
                         - ppc64le
                         - s390x

@miq-bot add-label enhancement

Fryguy commented 1 year ago

@bdunne Please take a look. We will need this for OCP 4.14

Fryguy commented 1 year ago

I'm kind of surprised OCP can't "figure it out" on its own. When it fetches the image, it knows, from the the docker manifest, which architectures the image can work on, and could determine it by itself.

Fryguy commented 1 year ago

@bdunne This one might be challening, because technically we could support different sets of architectures depending on the build (thinking how upstream and downstream currently are different).

bdunne commented 1 year ago

Fixed by #1003 & https://github.com/ManageIQ/manageiq/pull/22757