Merge pull request #39606 from NickrenREN/kubelet-pod

Automatic merge from submit-queue (batch tested with PRs 38101, 41431, 39606, 41569, 41509)

optimize killPod() and syncPod() functions

make sure that one of the two arguments must be non-nil: runningPod, status ,just like the function note says
and judge the return value in syncPod() function before setting podKilled
This commit is contained in:
Kubernetes Submit Queue 2017-02-16 15:49:17 -08:00 committed by GitHub
commit 6376ad134d
2 changed files with 5 additions and 2 deletions

View File

@ -1464,8 +1464,9 @@ func (kl *Kubelet) syncPod(o syncPodOptions) error {
// exists or the pod is running for the first time // exists or the pod is running for the first time
podKilled := false podKilled := false
if !pcm.Exists(pod) && !firstSync { if !pcm.Exists(pod) && !firstSync {
kl.killPod(pod, nil, podStatus, nil) if err := kl.killPod(pod, nil, podStatus, nil); err == nil {
podKilled = true podKilled = true
}
} }
// Create and Update pod's Cgroups // Create and Update pod's Cgroups
// Don't create cgroups for run once pod if it was killed above // Don't create cgroups for run once pod if it was killed above

View File

@ -645,6 +645,8 @@ func (kl *Kubelet) killPod(pod *v1.Pod, runningPod *kubecontainer.Pod, status *k
p = *runningPod p = *runningPod
} else if status != nil { } else if status != nil {
p = kubecontainer.ConvertPodStatusToRunningPod(kl.GetRuntime().Type(), status) p = kubecontainer.ConvertPodStatusToRunningPod(kl.GetRuntime().Type(), status)
} else {
return fmt.Errorf("one of the two arguments must be non-nil: runningPod, status")
} }
// cache the pod cgroup Name for reducing the cpu resource limits of the pod cgroup once the pod is killed // cache the pod cgroup Name for reducing the cpu resource limits of the pod cgroup once the pod is killed