[
https://issues.apache.org/jira/browse/YUNIKORN-1928?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17757590#comment-17757590
]
Craig Condit commented on YUNIKORN-1928:
----------------------------------------
I don't think there's any change required here as this logic is already handled
properly in the core. We don't reject requests when queues are full, we simply
keep the pod in a pending state (but not unschedulable). This prevents the
autoscaler from scaling up. However, if the pod would fit in the queue but the
cluster itself is full, then we mark it unschedulable to allow the autoscaler
to work.
As for making other requests, this also happens - YK is a greedy scheduler and
will attempt to fit smaller pods that are further back in the queue if there is
room for them.
> Exceed queue quota requests should be skipped when cluster auto scaling.
> ------------------------------------------------------------------------
>
> Key: YUNIKORN-1928
> URL: https://issues.apache.org/jira/browse/YUNIKORN-1928
> Project: Apache YuniKorn
> Issue Type: Improvement
> Components: core - scheduler
> Reporter: Qi Zhu
> Assignee: Qi Zhu
> Priority: Major
> Labels: pull-request-available
>
> In shim side we have skip autoscaling logic both for yunikorn mode and plugin
> mode, we need to make that exceed queue quota requests should be skipped when
> cluster auto scaling.
> {code:java}
> // code placeholder
> switch request.State {
> case si.UpdateContainerSchedulingStateRequest_SKIPPED:
> // auto-scaler scans pods whose pod condition is PodScheduled=false &&
> reason=Unschedulable
> // if the pod is skipped because the queue quota has been exceed, we do
> not trigger the auto-scaling
> task.SetTaskSchedulingState(interfaces.TaskSchedSkipped)
> if ctx.updatePodCondition(task,
> &v1.PodCondition{
> Type: v1.PodScheduled,
> Status: v1.ConditionFalse,
> Reason: "SchedulingSkipped",
> Message: request.Reason,
> }) {
> events.GetRecorder().Eventf(task.pod.DeepCopy(), nil,
> v1.EventTypeNormal, "PodUnschedulable", "PodUnschedulable",
> "Task %s is skipped from scheduling because the queue quota has
> been exceed", task.alias)
> }{code}
> It will be over auto scaling.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]