This is an automated email from the ASF dual-hosted git repository.

asdf2014 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/master by this push:
     new eed5f4f291 Add labels to k8s jobs for the PodTemplateTaskAdapter 
(#14205)
eed5f4f291 is described below

commit eed5f4f2916a0b7458b3c2b819afb370d72f610e
Author: George Shiqi Wu <[email protected]>
AuthorDate: Sun May 7 22:56:52 2023 -0400

    Add labels to k8s jobs for the PodTemplateTaskAdapter (#14205)
    
    * Add labels
    
    * Add prefix
    
    * remove newline
    
    * fix syntax
    
    * Update prefix
---
 .../druid/k8s/overlord/common/DruidK8sConstants.java  |  1 +
 .../k8s/overlord/common/PodTemplateTaskAdapter.java   | 19 ++++++++++++++-----
 .../src/test/resources/expectedNoopJob.yaml           |  8 ++++++++
 .../src/test/resources/expectedNoopJobTlsEnabled.yaml |  8 ++++++++
 4 files changed, 31 insertions(+), 5 deletions(-)

diff --git 
a/extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/common/DruidK8sConstants.java
 
b/extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/common/DruidK8sConstants.java
index 5a7ead08aa..0a0beba7da 100644
--- 
a/extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/common/DruidK8sConstants.java
+++ 
b/extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/common/DruidK8sConstants.java
@@ -37,6 +37,7 @@ public class DruidK8sConstants
   public static final String JAVA_OPTS = "JAVA_OPTS";
   public static final String DRUID_HOST_ENV = "druid_host";
   public static final String DRUID_HOSTNAME_ENV = "HOSTNAME";
+  public static final String DRUID_LABEL_PREFIX = "druid.";
   static final String LABEL_KEY = "druid.k8s.peons";
   static final Predicate<Throwable> IS_TRANSIENT = e -> e instanceof 
KubernetesResourceNotFoundException;
 }
diff --git 
a/extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/common/PodTemplateTaskAdapter.java
 
b/extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/common/PodTemplateTaskAdapter.java
index 8aae3b39dd..ed671106c3 100644
--- 
a/extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/common/PodTemplateTaskAdapter.java
+++ 
b/extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/common/PodTemplateTaskAdapter.java
@@ -121,7 +121,7 @@ public class PodTemplateTaskAdapter implements TaskAdapter
     return new JobBuilder()
         .withNewMetadata()
         .withName(new K8sTaskId(task).getK8sTaskId())
-        .addToLabels(getJobLabels(taskRunnerConfig))
+        .addToLabels(getJobLabels(taskRunnerConfig, task))
         .addToAnnotations(getJobAnnotations(taskRunnerConfig, task))
         .endMetadata()
         .withNewSpec()
@@ -129,7 +129,7 @@ public class PodTemplateTaskAdapter implements TaskAdapter
         .editTemplate()
         .editOrNewMetadata()
         .addToAnnotations(getPodTemplateAnnotations(task))
-        .addToLabels(getPodLabels(taskRunnerConfig))
+        .addToLabels(getPodLabels(taskRunnerConfig, task))
         .endMetadata()
         .editSpec()
         .editFirstContainer()
@@ -224,9 +224,9 @@ public class PodTemplateTaskAdapter implements TaskAdapter
     );
   }
 
-  private Map<String, String> getPodLabels(KubernetesTaskRunnerConfig config)
+  private Map<String, String> getPodLabels(KubernetesTaskRunnerConfig config, 
Task task)
   {
-    return getJobLabels(config);
+    return getJobLabels(config, task);
   }
 
   private Map<String, String> getPodTemplateAnnotations(Task task) throws 
IOException
@@ -241,11 +241,15 @@ public class PodTemplateTaskAdapter implements TaskAdapter
         .build();
   }
 
-  private Map<String, String> getJobLabels(KubernetesTaskRunnerConfig config)
+  private Map<String, String> getJobLabels(KubernetesTaskRunnerConfig config, 
Task task)
   {
     return ImmutableMap.<String, String>builder()
         .putAll(config.labels)
         .put(DruidK8sConstants.LABEL_KEY, "true")
+        .put(getDruidLabel(DruidK8sConstants.TASK_ID), task.getId())
+        .put(getDruidLabel(DruidK8sConstants.TASK_TYPE), task.getType())
+        .put(getDruidLabel(DruidK8sConstants.TASK_GROUP_ID), task.getGroupId())
+        .put(getDruidLabel(DruidK8sConstants.TASK_DATASOURCE), 
task.getDataSource())
         .build();
   }
 
@@ -259,4 +263,9 @@ public class PodTemplateTaskAdapter implements TaskAdapter
         .put(DruidK8sConstants.TASK_DATASOURCE, task.getDataSource())
         .build();
   }
+
+  private String getDruidLabel(String baseLabel)
+  {
+    return DruidK8sConstants.DRUID_LABEL_PREFIX + baseLabel;
+  }
 }
diff --git 
a/extensions-contrib/kubernetes-overlord-extensions/src/test/resources/expectedNoopJob.yaml
 
b/extensions-contrib/kubernetes-overlord-extensions/src/test/resources/expectedNoopJob.yaml
index f72dbd4665..b131b28652 100644
--- 
a/extensions-contrib/kubernetes-overlord-extensions/src/test/resources/expectedNoopJob.yaml
+++ 
b/extensions-contrib/kubernetes-overlord-extensions/src/test/resources/expectedNoopJob.yaml
@@ -4,6 +4,10 @@ metadata:
   name: "id"
   labels:
     druid.k8s.peons: "true"
+    druid.task.id: "id"
+    druid.task.type: "noop"
+    druid.task.group.id: "id"
+    druid.task.datasource: "datasource"
   annotations:
     task.id: "id"
     task.type: "noop"
@@ -17,6 +21,10 @@ spec:
     metadata:
       labels:
         druid.k8s.peons: "true"
+        druid.task.id: "id"
+        druid.task.type: "noop"
+        druid.task.group.id: "id"
+        druid.task.datasource: "datasource"
       annotations:
         task: 
"H4sIAAAAAAAAAEVOuQ4CIRD9l6kpVhObbY0xtrs2liOMSoKAHEZC+HeHrEczmXfmVUjFE4xgnfMgQCv++Qi4Bpf94QcVJpxdDrKbO4gLEBCyPeo70+vNMHBDnAhVWag/nihmkzh72s0cuuhANxfZYrMxAqSziV6s18aN9CkfK+ATtcGzNjqVfZ/0HRTokblEbdGjZBHGVWtvT9WXlc8AAAA="
         tls.enabled: "false"
diff --git 
a/extensions-contrib/kubernetes-overlord-extensions/src/test/resources/expectedNoopJobTlsEnabled.yaml
 
b/extensions-contrib/kubernetes-overlord-extensions/src/test/resources/expectedNoopJobTlsEnabled.yaml
index 167022b7d0..da7691870c 100644
--- 
a/extensions-contrib/kubernetes-overlord-extensions/src/test/resources/expectedNoopJobTlsEnabled.yaml
+++ 
b/extensions-contrib/kubernetes-overlord-extensions/src/test/resources/expectedNoopJobTlsEnabled.yaml
@@ -4,6 +4,10 @@ metadata:
   name: "id"
   labels:
     druid.k8s.peons: "true"
+    druid.task.id: "id"
+    druid.task.type: "noop"
+    druid.task.group.id: "id"
+    druid.task.datasource: "datasource"
   annotations:
     task.id: "id"
     task.type: "noop"
@@ -17,6 +21,10 @@ spec:
     metadata:
       labels:
         druid.k8s.peons: "true"
+        druid.task.id: "id"
+        druid.task.type: "noop"
+        druid.task.group.id: "id"
+        druid.task.datasource: "datasource"
       annotations:
         task: 
"H4sIAAAAAAAAAEVOuQ4CIRD9l6kpVhObbY0xtrs2liOMSoKAHEZC+HeHrEczmXfmVUjFE4xgnfMgQCv++Qi4Bpf94QcVJpxdDrKbO4gLEBCyPeo70+vNMHBDnAhVWag/nihmkzh72s0cuuhANxfZYrMxAqSziV6s18aN9CkfK+ATtcGzNjqVfZ/0HRTokblEbdGjZBHGVWtvT9WXlc8AAAA="
         tls.enabled: "true"


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to