Sort pods from each deployment to get first and ready pod

Signed-off-by: Somtochi Onyekwere <somtochionyekwere@gmail.com>
pull/1886/head
Somtochi Onyekwere 3 years ago
parent fb85cafcc5
commit 50a1e32da3

@ -24,6 +24,7 @@ import (
"html/template" "html/template"
"io" "io"
"os" "os"
"sort"
"strings" "strings"
"sync" "sync"
"time" "time"
@ -34,6 +35,7 @@ import (
"k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest" "k8s.io/client-go/rest"
"k8s.io/kubectl/pkg/util" "k8s.io/kubectl/pkg/util"
"k8s.io/kubectl/pkg/util/podutils"
"github.com/fluxcd/flux2/internal/flags" "github.com/fluxcd/flux2/internal/flags"
"github.com/fluxcd/flux2/internal/utils" "github.com/fluxcd/flux2/internal/utils"
@ -174,7 +176,17 @@ func getPods(ctx context.Context, c *kubernetes.Clientset, label string) ([]core
if err != nil { if err != nil {
return ret, err return ret, err
} }
ret = append(ret, podList.Items...) pods := []*corev1.Pod{}
for i := range podList.Items {
pod := podList.Items[i]
pods = append(pods, &pod)
}
if len(pods) > 0 {
// sort pods to prioritize running pods over others
sort.Sort(podutils.ByLogging(pods))
ret = append(ret, *pods[0])
}
} }
return ret, nil return ret, nil

Loading…
Cancel
Save