[Hived]: Filter on full SuggestedNodes (#4271)

This commit is contained in:
Yuqi Wang 2020-03-10 18:36:48 +08:00 коммит произвёл GitHub
Родитель f2475b882d
Коммит b7e5d0db29
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 6 добавлений и 2 удалений

Просмотреть файл

@ -84,6 +84,7 @@ spec:
echo \"kind: KubeSchedulerConfiguration\" >> config.yaml &&
echo \"schedulerName: hivedscheduler-ds-{{ vc }}\" >> config.yaml &&
echo \"disablePreemption: false\" >> config.yaml &&
echo \"percentageOfNodesToScore: 100\" >> config.yaml &&
echo \"algorithmSource:\" >> config.yaml &&
echo \" policy:\" >> config.yaml &&
echo \" configMap:\" >> config.yaml &&

Просмотреть файл

@ -568,15 +568,18 @@ func (s *HivedScheduler) filterRoutine(args ei.ExtenderArgs) *ei.ExtenderFilterR
time.Millisecond)
}
// Return Error to tell K8S Default Scheduler that preemption must not help.
// Return fake FailedNodes, so that the waitReason can be exposed along with
// other waitReasons generated from K8S Default Scheduler.
failedNodes := map[string]string{}
waitReason := "Pod is waiting for preemptible or free resource to appear"
if result.PodWaitInfo != nil {
waitReason += ": " + result.PodWaitInfo.Reason
}
failedNodes[si.ComponentName] = waitReason
klog.Infof(logPfx + waitReason)
return &ei.ExtenderFilterResult{
Error: waitReason,
FailedNodes: failedNodes,
}
}
}