diff --git a/plugin/pkg/scheduler/schedulercache/cache_test.go b/plugin/pkg/scheduler/schedulercache/cache_test.go index 45d44a09be..78204c0485 100644 --- a/plugin/pkg/scheduler/schedulercache/cache_test.go +++ b/plugin/pkg/scheduler/schedulercache/cache_test.go @@ -228,7 +228,7 @@ func TestExpirePod(t *testing.T) { }, allocatableResource: &Resource{}, pods: []*v1.Pod{testPods[1]}, - usedPorts: map[int]bool{80: false, 8080: true}, + usedPorts: map[int]bool{8080: true}, }, }} @@ -277,7 +277,7 @@ func TestAddPodWillConfirm(t *testing.T) { }, allocatableResource: &Resource{}, pods: []*v1.Pod{testPods[0]}, - usedPorts: map[int]bool{80: true, 8080: false}, + usedPorts: map[int]bool{80: true}, }, }} diff --git a/plugin/pkg/scheduler/schedulercache/node_info.go b/plugin/pkg/scheduler/schedulercache/node_info.go index 7cbc456806..62060996d9 100644 --- a/plugin/pkg/scheduler/schedulercache/node_info.go +++ b/plugin/pkg/scheduler/schedulercache/node_info.go @@ -403,7 +403,11 @@ func (n *NodeInfo) updateUsedPorts(pod *v1.Pod, used bool) { // "0" is explicitly ignored in PodFitsHostPorts, // which is the only function that uses this value. if podPort.HostPort != 0 { - n.usedPorts[int(podPort.HostPort)] = used + if used { + n.usedPorts[int(podPort.HostPort)] = used + } else { + delete(n.usedPorts, int(podPort.HostPort)) + } } } }