[ 
https://issues.apache.org/jira/browse/YUNIKORN-3448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18116950#comment-18116950
 ] 

TingYao Huang commented on YUNIKORN-3448:
-----------------------------------------

Hi [~yenhuachen] , Already assigned to you.

> Revert autoscaling state when a scale-up-triggered ask loses queue headroom
> ---------------------------------------------------------------------------
>
>                 Key: YUNIKORN-3448
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-3448
>             Project: Apache YuniKorn
>          Issue Type: Improvement
>          Components: core - scheduler, shim - kubernetes
>            Reporter: Kishan Ghetia
>            Assignee: Yen-Hua Chen
>            Priority: Major
>
>  A pod can become ineligible for scheduling after it has already triggered 
> cluster autoscaling.
> Timeline:
> 1. A pod fits its queue and user headroom, but no existing node can 
> accommodate it.
> 2. YuniKorn sends FAILED, the shim marks the pod Unschedulable, and Karpenter 
> begins provisioning capacity.
> 3. YuniKorn sets scaleUpTriggered=true.
> 4. Before the new node becomes Ready, another allocation consumes the 
> remaining queue, parent-queue, or user headroom.
> 5. The original pod no longer fits headroom, but YuniKorn does not reset 
> scaleUpTriggered or change the pod’s Unschedulable status.
> 6. Karpenter can consequently provision a node that cannot be used by the 
> triggering pod. The unused node may later be consolidated.
> The expected over-provisioning is likely small, but this can create 
> unnecessary capacity and node churn.
>  
> Proposed behavior:
> When a scale-up-triggered ask no longer fits queue or user headroom:
> - Reset its scaleUpTriggered state.
> - Send an appropriate update to the shim so the pod is no longer presented to 
> the autoscaler as Unschedulable.
> - Allow the pod to trigger autoscaling again if headroom later becomes 
> available and no suitable node exists.
>  
> Acceptance criteria:
> - Cover the transition from autoscaling-eligible to headroom-ineligible.
> - Update both the core ask state and Kubernetes pod status.
> - Verify that the pod can trigger autoscaling again after regaining headroom.
> - Add a test where competing allocations consume headroom while capacity is 
> being provisioned.
> - Preserve existing outstanding-request headroom accounting.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to