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]