Merge pull request #22570 from janetkuo/inactive-pods-not-available

Auto commit by PR queue bot
This commit is contained in:
k8s-merge-robot 2016-03-04 18:11:20 -08:00
commit d9d0fdecd3
2 changed files with 11 additions and 3 deletions

View File

@ -490,9 +490,7 @@ func FilterActivePods(pods []api.Pod) []*api.Pod {
var result []*api.Pod var result []*api.Pod
for i := range pods { for i := range pods {
p := pods[i] p := pods[i]
if api.PodSucceeded != p.Status.Phase && if IsPodActive(p) {
api.PodFailed != p.Status.Phase &&
p.DeletionTimestamp == nil {
result = append(result, &p) result = append(result, &p)
} else { } else {
glog.V(4).Infof("Ignoring inactive pod %v/%v in state %v, deletion time %v", glog.V(4).Infof("Ignoring inactive pod %v/%v in state %v, deletion time %v",
@ -502,6 +500,12 @@ func FilterActivePods(pods []api.Pod) []*api.Pod {
return result return result
} }
func IsPodActive(p api.Pod) bool {
return api.PodSucceeded != p.Status.Phase &&
api.PodFailed != p.Status.Phase &&
p.DeletionTimestamp == nil
}
// FilterActiveReplicaSets returns replica sets that have (or at least ought to have) pods. // FilterActiveReplicaSets returns replica sets that have (or at least ought to have) pods.
func FilterActiveReplicaSets(replicaSets []*extensions.ReplicaSet) []*extensions.ReplicaSet { func FilterActiveReplicaSets(replicaSets []*extensions.ReplicaSet) []*extensions.ReplicaSet {
active := []*extensions.ReplicaSet{} active := []*extensions.ReplicaSet{}

View File

@ -27,6 +27,7 @@ import (
"k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
"k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/util/integer" "k8s.io/kubernetes/pkg/util/integer"
intstrutil "k8s.io/kubernetes/pkg/util/intstr" intstrutil "k8s.io/kubernetes/pkg/util/intstr"
@ -346,6 +347,9 @@ func getReadyPodsCount(pods []api.Pod, minReadySeconds int) int {
} }
func IsPodAvailable(pod *api.Pod, minReadySeconds int) bool { func IsPodAvailable(pod *api.Pod, minReadySeconds int) bool {
if !controller.IsPodActive(*pod) {
return false
}
// Check if we've passed minReadySeconds since LastTransitionTime // Check if we've passed minReadySeconds since LastTransitionTime
// If so, this pod is ready // If so, this pod is ready
for _, c := range pod.Status.Conditions { for _, c := range pod.Status.Conditions {