[
https://issues.apache.org/jira/browse/YUNIKORN-3448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
TingYao Huang reassigned YUNIKORN-3448:
---------------------------------------
Assignee: Yen-Hua Chen
> 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]