Commit 35cbbe6b authored by Prashanth B's avatar Prashanth B

Merge pull request #7198 from yujuhong/fix_filter

Fix pod filtering in replication controller
parents 3ed2dcae 10ecbb8a
......@@ -190,10 +190,10 @@ func (rm *ReplicationManager) watchControllers(resourceVersion *string) {
// filterActivePods returns pods that have not terminated.
func filterActivePods(pods []api.Pod) []*api.Pod {
var result []*api.Pod
for _, value := range pods {
if api.PodSucceeded != value.Status.Phase &&
api.PodFailed != value.Status.Phase {
result = append(result, &value)
for i := range pods {
if api.PodSucceeded != pods[i].Status.Phase &&
api.PodFailed != pods[i].Status.Phase {
result = append(result, &pods[i])
}
}
return result
......
......@@ -379,6 +379,25 @@ func TestWatchControllers(t *testing.T) {
}
}
func TestActivePodFiltering(t *testing.T) {
podList := newPodList(5)
podList.Items[0].Status.Phase = api.PodSucceeded
podList.Items[1].Status.Phase = api.PodFailed
expectedNames := util.NewStringSet()
for _, pod := range podList.Items[2:] {
expectedNames.Insert(pod.Name)
}
got := filterActivePods(podList.Items)
gotNames := util.NewStringSet()
for _, pod := range got {
gotNames.Insert(pod.Name)
}
if expectedNames.Difference(gotNames).Len() != 0 || gotNames.Difference(expectedNames).Len() != 0 {
t.Errorf("expected %v, got %v", expectedNames.List(), gotNames.List())
}
}
func TestSortingActivePods(t *testing.T) {
numPods := 5
podList := newPodList(numPods)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment