[
https://issues.apache.org/jira/browse/YUNIKORN-1928?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Qi Zhu updated YUNIKORN-1928:
-----------------------------
Description:
In shim side we have skip autoscaling logic both for yunikorn mode and plugin
mode.
{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}
We need to remove the unused misleading logic.
was:
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.
> Remove the unused skip logic for auto scaling container.
> --------------------------------------------------------
>
> 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.
> {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}
> We need to remove the unused misleading logic.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]