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

NodePool with InPlace node upgrade type cannot scale up if the autocluster min to zero

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 4.21
    • HyperShift / ROSA
    • None
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • Rejected
    • None
    • In Progress
    • Bug Fix
    • Hide
      Cause: When the scaling from zero feature is enabled in AWS and a NodePool has InPlace node upgrade type with autoscaling min=0, the scale-from-zero implementation did not support InPlace upgrade strategy. The original implementation used a MachineDeployment controller approach that only worked with Replace upgrade strategy.

      Consequence: New workloads would not trigger NodePool scale-up from zero when using InPlace upgrade type, preventing nodes from being created even when pods are pending.

      Fix: Refactored the scale-from-zero implementation to use an instancetype provider abstraction that supports both Replace and InPlace upgrade strategies. The fix removes the MachineDeployment-specific controller and implements a generic provider pattern that works with all upgrade types.

      Result: NodePools with InPlace upgrade type can now successfully scale up from zero when workload demands require additional capacity. The autoscaler correctly provisions nodes regardless of the upgrade strategy configured.
      Show
      Cause: When the scaling from zero feature is enabled in AWS and a NodePool has InPlace node upgrade type with autoscaling min=0, the scale-from-zero implementation did not support InPlace upgrade strategy. The original implementation used a MachineDeployment controller approach that only worked with Replace upgrade strategy. Consequence: New workloads would not trigger NodePool scale-up from zero when using InPlace upgrade type, preventing nodes from being created even when pods are pending. Fix: Refactored the scale-from-zero implementation to use an instancetype provider abstraction that supports both Replace and InPlace upgrade strategies. The fix removes the MachineDeployment-specific controller and implements a generic provider pattern that works with all upgrade types. Result: NodePools with InPlace upgrade type can now successfully scale up from zero when workload demands require additional capacity. The autoscaler correctly provisions nodes regardless of the upgrade strategy configured.
    • None
    • None
    • None
    • None

      This is a clone of issue OCPBUGS-70320. The following is the description of the original issue:

      Description of problem:

          When enable the scaling from zero feature in AWS and if a NodePool has InPlace node update type and set the autoscaling min=0, the new workload won't scale up the nodepool.

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

          

      How reproducible:

          

      Steps to Reproduce:

      • Install hypershift operator with scaling from zero feature enabled and created a cluster
        hypershift install 
        --scale-from-zero-aws-creds "config/awscredentials"
        
      • Create a InPlace nodepool
        hypershift create nodepool aws --name np-scale-zero --cluster-name zero --namespace clusters --node-upgrade-type InPlace --replicas 0
        
      • Enable NodePool's autoscaling and set min=0
        oc patch nodepool np-scale-zero -n clusters --type=json -p='[
            {"op": "remove", "path": "/spec/replicas"},
            {"op": "add", "path": "/spec/autoScaling", "value": {"min": '0', "max": '3'}}
        ]'
        
      • Create workload to the hosted cluster

      Actual results:

      No new nodes created/scale up because of workload
          

      Expected results:

      The nodepool: np-scale-zero  should scale up to 3 which means 3 more nodes running.
          

      Additional info:

          

              rhn-support-liangli Liangquan Li
              rhn-engineering-lgao Lin Gao
              None
              None
              Jie Zhao Jie Zhao
              None
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: