Merge pull request #88876 from nolancon/none-policy-fix

Topology Manager none policy bug fix
This commit is contained in:
Kubernetes Prow Robot 2020-03-05 21:40:33 -08:00 committed by GitHub
commit cd0057c16a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -230,15 +230,22 @@ func (m *manager) RemoveContainer(containerID string) error {
}
func (m *manager) Admit(attrs *lifecycle.PodAdmitAttributes) lifecycle.PodAdmitResult {
// Unconditionally admit the pod if we are running with the 'none' policy.
if m.policy.Name() == PolicyNone {
return lifecycle.PodAdmitResult{Admit: true}
}
klog.Infof("[topologymanager] Topology Admit Handler")
pod := attrs.Pod
for _, container := range append(pod.Spec.InitContainers, pod.Spec.Containers...) {
if m.policy.Name() == PolicyNone {
err := m.allocateAlignedResources(pod, &container)
if err != nil {
return lifecycle.PodAdmitResult{
Message: fmt.Sprintf("Allocate failed due to %v, which is unexpected", err),
Reason: "UnexpectedAdmissionError",
Admit: false,
}
}
continue
}
result, admit := m.calculateAffinity(pod, &container)
if !admit {
return lifecycle.PodAdmitResult{