Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-57067

nmstate-handler DaemonSets only run on nodes with amd64 architecture.

XMLWordPrintable

    • Quality / Stability / Reliability
    • False
    • None
    • None
    • Important
    • None
    • None
    • None
    • None
    • None
    • Done
    • Known Issue
    • Hide
      * The Kubernetes NMState Operator does not correctly run on a cluster that has nodes that have different supported CPU architecture types. As a result, pods get scheduled only on nodes of a certain architecture type, while nodes with other architecture types are ignored. As a workaround for this issue, update the NMState custom resource (CR) for your cluster by specifying`{}` for the `nodeSelector` parameter. This update ensures that the Operator does not ignore nodes have different supported CPU architecture types.
      +
      [source,terminal]
      ----
      apiVersion: nmstate.io/v1
      kind: NMState
      metadata:
        name: nmstate
      spec:
        nodeSelector: {}
       # ...
      ----
      +
       (link:https://issues.redhat.com/browse/OCPBUGS-57067[OCPBUGS-57067])
      Show
      * The Kubernetes NMState Operator does not correctly run on a cluster that has nodes that have different supported CPU architecture types. As a result, pods get scheduled only on nodes of a certain architecture type, while nodes with other architecture types are ignored. As a workaround for this issue, update the NMState custom resource (CR) for your cluster by specifying`{}` for the `nodeSelector` parameter. This update ensures that the Operator does not ignore nodes have different supported CPU architecture types. + [source,terminal] ---- apiVersion: nmstate.io/v1 kind: NMState metadata:   name: nmstate spec:   nodeSelector: {}  # ... ---- +  (link: https://issues.redhat.com/browse/OCPBUGS-57067 [ OCPBUGS-57067 ])
    • None
    • None
    • None
    • None

      Description of problem:

      When deploying a cluster with nodes of multiple architectures (e.g., both arm64 and amd64), the nmstate-handler DaemonSets are scheduled only on nodes with amd64 architecture. This is due to the presence of the nodeSelector in the DaemonSet configuration, which restricts pod scheduling to amd64 nodes only. 
      
      kubernetes.io/arch=amd64
      kubernetes.io/os=linux
      
      
      As a result, nmstate-handler is not deployed on nodes with other architectures (e.g., arm64), limiting the functionality of the nmstate operator in heterogeneous clusters.

      Version-Release number of selected component (if applicable):

          4.18

      How reproducible:

          100%

      Steps to Reproduce:

      1. Create a cluster with both amd64 and arm64 architecture nodes.
      2. Install the nmstate operator and create an nmstate custom resource.
      3. Observe that the nmstate-handler DaemonSet is deployed only on amd64 nodes, and no pods are scheduled on arm64 nodes due to the restrictive nodeSelector. 

      Actual results:

      nmstate-handler DaemonSet is deployed only on amd64 nodes, and no pods are scheduled on arm64 nodes. 

      Expected results:

      nmstate-handler DaemonSet should run on each nodes.

      Additional info:

          

              mkowalsk@redhat.com Mat Kowalski
              rhn-support-arbhagat Arpit Bhagat
              None
              None
              Ross Brattain Ross Brattain
              None
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated: