kubelet: return mirror pod in GetActivePods()

pull/564/head
Wei Huang 2019-02-18 12:01:51 -08:00
parent fcaa726e60
commit c0c93f4a52
No known key found for this signature in database
GPG Key ID: BE5E9752F8B6E005
1 changed files with 13 additions and 1 deletions

View File

@ -88,7 +88,19 @@ func (kl *Kubelet) listPodsFromDisk() ([]types.UID, error) {
// GetActivePods returns non-terminal pods
func (kl *Kubelet) GetActivePods() []*v1.Pod {
allPods := kl.podManager.GetPods()
allPods, mirrorPods := kl.podManager.GetPodsAndMirrorPods()
mirrorPodSet := make(map[string]*v1.Pod)
for _, p := range mirrorPods {
mirrorPodSet[kubecontainer.GetPodFullName(p)] = p
}
for i := range allPods {
podFullName := kubecontainer.GetPodFullName(allPods[i])
// replace static pod with mirror pod as some info (e.g. spec.Priority)
// is needed to make further decisions (e.g. eviction)
if mirrorPod, ok := mirrorPodSet[podFullName]; ok {
allPods[i] = mirrorPod
}
}
activePods := kl.filterOutTerminatedPods(allPods)
return activePods
}