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

Unable to configure External evictionStrategy on HyperShift NodePool VMs

XMLWordPrintable

    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • None
    • None
    • Proposed
    • Bug Fix
    • Hide
      Cause: KubeVirt VMs used in HyperShift NodePools were not configured with the External evictionStrategy, preventing the Cluster API Provider for KubeVirt (CAPK) controller from detecting eviction requests during node drains on the underlying infrastructure cluster.

      Consequence: During infrastructure cluster operations such as upgrades, node drains could not be coordinated properly. This caused HyperShift control plane functionality to be disrupted and pods to enter a failed state when NodePool VMs were shut down.

      Fix: KubeVirt VMs are now configured with the External evictionStrategy in the VM template specification, enabling CAPK to detect eviction requests and initiate coordinated drains of Kubernetes nodes inside guest clusters before VMs are terminated.

      Result: The CAPK controller can now properly detect eviction events and coordinate the draining of guest cluster nodes during infrastructure cluster operations. For VMs that support live migration, CAPK will skip the drain process and allow the VM to be migrated without
        disruption.
      Show
      Cause: KubeVirt VMs used in HyperShift NodePools were not configured with the External evictionStrategy, preventing the Cluster API Provider for KubeVirt (CAPK) controller from detecting eviction requests during node drains on the underlying infrastructure cluster. Consequence: During infrastructure cluster operations such as upgrades, node drains could not be coordinated properly. This caused HyperShift control plane functionality to be disrupted and pods to enter a failed state when NodePool VMs were shut down. Fix: KubeVirt VMs are now configured with the External evictionStrategy in the VM template specification, enabling CAPK to detect eviction requests and initiate coordinated drains of Kubernetes nodes inside guest clusters before VMs are terminated. Result: The CAPK controller can now properly detect eviction events and coordinate the draining of guest cluster nodes during infrastructure cluster operations. For VMs that support live migration, CAPK will skip the drain process and allow the VM to be migrated without   disruption.
    • None
    • None
    • None
    • None

      Description of problem:

      For VM with non-live migration the eviction strategy must be set to external.
      
      This setting is essential to ensure that, during a node drain on the underlying infrastructure cluster
      (e.g. during a cluster upgrade), the eviction request for the KubeVirt VM is visible to the Cluster API Provider for KubeVirt (CAPK) controller.Only when evictionStrategy=External, CAPK can detect the eviction and initiate a coordinated drain of the Kubernetes node inside the guest cluster before the VM is terminated.If the VM supports live migration, the CAPK controller will skip draining the guest node, allowing the VM to be moved without disruption.

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

      4.19.0    

      How reproducible:

       100%   

      Steps to Reproduce:

          1. Deploy HCP on Ovirt with third party CNI say, calico
          2. Check if the VMs are created with non-live migration.
          3. Shutdown the nodepool VM manually and observe the HCP pods are failing.
          

      Actual results:

      HCP functionality disrupts and pod goes to failed state

      Expected results:

      Node draining should happen to safely move the pods from the VM being shutdown.    

      Additional info:

          

              ocohen@redhat.com Oren Cohen
              rhn-support-chdeshpa Chinmay Deshpande
              None
              None
              Ying Zhou Ying Zhou
              None
              Votes:
              1 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated: