From 44d59f8f2ea60c9e4467c12bb028a2e06a743d59 Mon Sep 17 00:00:00 2001 From: Lan Liang Date: Fri, 20 Oct 2023 18:00:25 +0800 Subject: [PATCH] Prune job label for kubernetes 1.27,prefix with `batch.kubernetes.io/` Signed-off-by: Lan Liang Co-authored-by: Hongcai Ren --- .../defaultinterpreter/prune/prune.go | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/pkg/resourceinterpreter/defaultinterpreter/prune/prune.go b/pkg/resourceinterpreter/defaultinterpreter/prune/prune.go index 52e0895fddf3..965f97e44764 100644 --- a/pkg/resourceinterpreter/defaultinterpreter/prune/prune.go +++ b/pkg/resourceinterpreter/defaultinterpreter/prune/prune.go @@ -98,9 +98,12 @@ func removeGenerateSelectorOfJob(workload *unstructured.Unstructured) error { return err } if exist { - if util.GetLabelValue(matchLabels, "controller-uid") != "" { - delete(matchLabels, "controller-uid") - } + delete(matchLabels, "controller-uid") + // The label 'batch.kubernetes.io/controller-uid' was introduced at Kubernetes v1.27, which intend to replace + // the previous label "controller-uid"(without batch.kubernetes.io prefix). + // See https://github.com/kubernetes/kubernetes/pull/114930 for more details. + delete(matchLabels, "batch.kubernetes.io/controller-uid") + err = unstructured.SetNestedStringMap(workload.Object, matchLabels, "spec", "selector", "matchLabels") if err != nil { return err @@ -112,13 +115,13 @@ func removeGenerateSelectorOfJob(workload *unstructured.Unstructured) error { return err } if exist { - if util.GetLabelValue(templateLabels, "controller-uid") != "" { - delete(templateLabels, "controller-uid") - } - - if util.GetLabelValue(templateLabels, "job-name") != "" { - delete(templateLabels, "job-name") - } + delete(templateLabels, "controller-uid") + delete(templateLabels, "job-name") + // The label 'batch.kubernetes.io/controller-uid' and 'batch.kubernetes.io/job-name' were introduced at + // Kubernetes v1.27, which intend to replace the previous labels 'controller-uid' and 'job-name' respectively. + // See https://github.com/kubernetes/kubernetes/pull/114930 for more details. + delete(templateLabels, "batch.kubernetes.io/controller-uid") + delete(templateLabels, "batch.kubernetes.io/job-name") err = unstructured.SetNestedStringMap(workload.Object, templateLabels, "spec", "template", "metadata", "labels") if err != nil {