mirror of https://github.com/k3s-io/k3s
Merge pull request #53122 from resouer/fix-cpu
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Eliminate extra CRI call during processing cpu set **What this PR does / why we need it**: Encountered this during `kubernetes/frakti` node e2e test. When cpuset is not set, there's still plenty of `runtime.UpdateContainerResources` been called, which seems unnecessary. cc @ConnorDoyle Make sense? Fixes: #53304 **Special notes for your reviewer**: **Release note**: ```release-note Only do UpdateContainerResources when cpuset is set ```pull/6/head
commit
5e2ce3aaf2
|
@ -176,11 +176,16 @@ func (m *manager) AddContainer(p *v1.Pod, c *v1.Container, containerID string) e
|
|||
cpus := m.state.GetCPUSetOrDefault(containerID)
|
||||
m.Unlock()
|
||||
|
||||
err = m.updateContainerCPUSet(containerID, cpus)
|
||||
if err != nil {
|
||||
glog.Errorf("[cpumanager] AddContainer error: %v", err)
|
||||
return err
|
||||
if !cpus.IsEmpty() {
|
||||
err = m.updateContainerCPUSet(containerID, cpus)
|
||||
if err != nil {
|
||||
glog.Errorf("[cpumanager] AddContainer error: %v", err)
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
glog.V(5).Infof("[cpumanager] update container resources is skipped due to cpu set is empty")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -180,7 +180,7 @@ func TestCPUManagerAdd(t *testing.T) {
|
|||
description: "cpu manager add - container update error",
|
||||
regErr: nil,
|
||||
updateErr: fmt.Errorf("fake update error"),
|
||||
expErr: fmt.Errorf("fake update error"),
|
||||
expErr: nil,
|
||||
},
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue