From 2990fd50f248211f90713e4e0cb9cf96052fc1f7 Mon Sep 17 00:00:00 2001 From: Juan Jose Jaramillo Date: Thu, 13 Apr 2023 14:04:22 -0700 Subject: [PATCH 1/2] Ignore casing while scraping failure reason for `kube_job_status_failed` --- internal/store/job.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/store/job.go b/internal/store/job.go index 19f59cc179..4d4191eef4 100644 --- a/internal/store/job.go +++ b/internal/store/job.go @@ -19,6 +19,7 @@ package store import ( "context" "strconv" + "strings" basemetrics "k8s.io/component-base/metrics" @@ -39,7 +40,7 @@ var ( descJobLabelsName = "kube_job_labels" descJobLabelsHelp = "Kubernetes labels converted to Prometheus labels." descJobLabelsDefaultLabels = []string{"namespace", "job_name"} - jobFailureReasons = []string{"BackoffLimitExceeded", "DeadLineExceeded", "Evicted"} + jobFailureReasons = []string{"BackoffLimitExceeded", "DeadlineExceeded", "Evicted"} ) func jobMetricFamilies(allowAnnotationsList, allowLabelsList []string) []generator.FamilyGenerator { @@ -429,5 +430,5 @@ func failureReason(jc *v1batch.JobCondition, reason string) bool { if jc == nil { return false } - return jc.Reason == reason + return strings.EqualFold(jc.Reason, reason) } From d9572ac392a735af94ca975f27df700564eb4757 Mon Sep 17 00:00:00 2001 From: Juan Jose Jaramillo Date: Fri, 14 Apr 2023 09:47:58 -0700 Subject: [PATCH 2/2] Map exact value provided but update value to match the correct casing --- internal/store/job.go | 3 +-- internal/store/job_test.go | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/internal/store/job.go b/internal/store/job.go index 4d4191eef4..1c0e04c987 100644 --- a/internal/store/job.go +++ b/internal/store/job.go @@ -19,7 +19,6 @@ package store import ( "context" "strconv" - "strings" basemetrics "k8s.io/component-base/metrics" @@ -430,5 +429,5 @@ func failureReason(jc *v1batch.JobCondition, reason string) bool { if jc == nil { return false } - return strings.EqualFold(jc.Reason, reason) + return jc.Reason == reason } diff --git a/internal/store/job_test.go b/internal/store/job_test.go index 2394c09091..223f4c54b5 100644 --- a/internal/store/job_test.go +++ b/internal/store/job_test.go @@ -210,7 +210,7 @@ func TestJobStore(t *testing.T) { kube_job_status_active{job_name="FailedJob1",namespace="ns1"} 0 kube_job_status_completion_time{job_name="FailedJob1",namespace="ns1"} 1.495810807e+09 kube_job_status_failed{job_name="FailedJob1",namespace="ns1",reason="BackoffLimitExceeded"} 1 - kube_job_status_failed{job_name="FailedJob1",namespace="ns1",reason="DeadLineExceeded"} 0 + kube_job_status_failed{job_name="FailedJob1",namespace="ns1",reason="DeadlineExceeded"} 0 kube_job_status_failed{job_name="FailedJob1",namespace="ns1",reason="Evicted"} 0 kube_job_status_start_time{job_name="FailedJob1",namespace="ns1"} 1.495807207e+09 kube_job_status_succeeded{job_name="FailedJob1",namespace="ns1"} 0