Merge pull request #117529 from sourcelliu/podstatus

Improve the performance of isPodStatusCacheTerminal
This commit is contained in:
Kubernetes Prow Robot 2023-10-26 06:25:16 +02:00 committed by GitHub
commit 266b3929e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -716,19 +716,17 @@ func (p *podWorkers) IsPodForMirrorPodTerminatingByFullName(podFullName string)
} }
func isPodStatusCacheTerminal(status *kubecontainer.PodStatus) bool { func isPodStatusCacheTerminal(status *kubecontainer.PodStatus) bool {
runningContainers := 0
runningSandboxes := 0
for _, container := range status.ContainerStatuses { for _, container := range status.ContainerStatuses {
if container.State == kubecontainer.ContainerStateRunning { if container.State == kubecontainer.ContainerStateRunning {
runningContainers++ return false
} }
} }
for _, sb := range status.SandboxStatuses { for _, sb := range status.SandboxStatuses {
if sb.State == runtimeapi.PodSandboxState_SANDBOX_READY { if sb.State == runtimeapi.PodSandboxState_SANDBOX_READY {
runningSandboxes++ return false
} }
} }
return runningContainers == 0 && runningSandboxes == 0 return true
} }
// UpdatePod carries a configuration change or termination state to a pod. A pod is either runnable, // UpdatePod carries a configuration change or termination state to a pod. A pod is either runnable,