Skip to content

Commit edcac7a

Browse files
authored
Merge pull request #62 from barloc/add_configmap
Add name change for task ID and add support for name_postfix for task id
2 parents 84b2336 + 4606bbc commit edcac7a

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,9 @@ command | None | A list of commands to be sent. i.e. ["echo","ok"]
185185
arguments | None | A list of arguments to be sent to the docker image.
186186
image | None | An image to use. (Overrides the main pod image)
187187
namespace | None | A namespace to use (Overrides/adds a namespace to main resource)
188+
name_prefix | task_id | The kubernetes resource(s) name prefix
189+
name_postfix | None | The kuberntes resource(s) name postfix
190+
random_name_postfix_length | 8 | Add a random string to all kuberntes resource(s) names if > 0
188191
envs | None | A dictionary of envs to add to the main job pod.
189192
body | None | The body of the job to use. Can be string, dictionary.
190193
body_filepath | None | A filepath to the yaml config file. Can use a relative filepath.

airflow_kubernetes_job_operator/kubernetes_job_operator.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ def __init__(
6262
arguments: List[str] = None,
6363
image: str = None,
6464
name_prefix: str = None,
65+
name_postfix: str = None,
66+
random_name_postfix_length: int = 8,
6567
namespace: str = None,
6668
envs: dict = None,
6769
body: Union[str, dict, List[dict]] = None,
@@ -90,6 +92,8 @@ def __init__(
9092
arguments (List[str], optional): The kubernetes pod arguments. Defaults to None.
9193
image (str, optional): The kubernetes container image to use. Defaults to None.
9294
name_prefix (str, optional): The kubernetes resource(s) name prefix. Defaults to (corrected) task_id.
95+
name_postfix (str, optional): The kuberntes resource(s) name postfix. Defaults to None.
96+
random_name_postfix_length (int, optional): Add a random string to all kuberntes resource(s) names if > 0. Defaults to 8.
9397
namespace (str, optional): The kubernetes namespace to run in. Defaults to current namespace.
9498
envs (dict, optional): A dictionary of key value pairs that is loaded into the environment variables.
9599
Defaults to None.
@@ -163,6 +167,8 @@ def __init__(
163167
self.image_pull_policy = image_pull_policy
164168
self.body = body
165169
self.name_prefix = name_prefix
170+
self.name_postfix = name_postfix
171+
self.random_name_postfix_length = random_name_postfix_length
166172
self.namespace = namespace
167173
self.get_logs = get_logs
168174
self.on_kube_api_event = on_kube_api_event
@@ -285,7 +291,9 @@ def create_job_runner(self) -> JobRunner:
285291
delete_policy=self.delete_policy,
286292
logger=self.logger if hasattr(self, "logger") else None,
287293
auto_load_kube_config=True,
288-
name_prefix=self._create_kubernetes_job_name_prefix(self.name_prefix or self.task_id),
294+
name_prefix=self._create_kubernetes_job_name_prefix(self.name_prefix if self.name_prefix is not None else self.task_id),
295+
name_postfix=self.name_postfix,
296+
random_name_postfix_length=self.random_name_postfix_length,
289297
)
290298

291299
def get_template_env(self) -> jinja2.Environment:

0 commit comments

Comments
 (0)