From d094e206111ee8619fd7cced76e0142924b86928 Mon Sep 17 00:00:00 2001 From: John Chadwick <86682572+johnwchadwick@users.noreply.github.com> Date: Mon, 22 Nov 2021 16:29:30 -0500 Subject: [PATCH] Only consider running pods when checking version Some clusters may have failed pods that are not garbage collected. These pods should not be considered when determining version numbers. Signed-off-by: John Chadwick <86682572+johnwchadwick@users.noreply.github.com> --- pkg/util/versionchecker/fromservice.go | 4 ++++ pkg/util/versionchecker/getpodfromtemplate_test.go | 3 +++ 2 files changed, 7 insertions(+) diff --git a/pkg/util/versionchecker/fromservice.go b/pkg/util/versionchecker/fromservice.go index 4be4d9109..a6401a71f 100644 --- a/pkg/util/versionchecker/fromservice.go +++ b/pkg/util/versionchecker/fromservice.go @@ -53,6 +53,10 @@ func (o *versionChecker) extractVersionFromService( } for _, pod := range pods.Items { + if pod.Status.Phase != corev1.PodRunning { + continue + } + if label := extractVersionFromLabels(pod.Labels); label != "" { o.versionSources["webhookPodLabelVersion"] = label } diff --git a/pkg/util/versionchecker/getpodfromtemplate_test.go b/pkg/util/versionchecker/getpodfromtemplate_test.go index 840bd78f6..ddf5a955f 100644 --- a/pkg/util/versionchecker/getpodfromtemplate_test.go +++ b/pkg/util/versionchecker/getpodfromtemplate_test.go @@ -51,6 +51,9 @@ func getPodFromTemplate(template *v1.PodTemplateSpec, parentObject runtime.Objec Name: prefix + cmutil.RandStringRunes(5), Finalizers: desiredFinalizers, }, + Status: v1.PodStatus{ + Phase: v1.PodRunning, + }, } if controllerRef != nil { pod.OwnerReferences = append(pod.OwnerReferences, *controllerRef)