From fa717b6798079917224f8af794413c35431d97c5 Mon Sep 17 00:00:00 2001 From: Jeff Fletcher Date: Tue, 1 Nov 2022 09:34:46 +0100 Subject: [PATCH 1/7] _KubernetesDecoratedOperator env_vars fix --- airflow/providers/cncf/kubernetes/decorators/kubernetes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow/providers/cncf/kubernetes/decorators/kubernetes.py b/airflow/providers/cncf/kubernetes/decorators/kubernetes.py index 49dd5803eff28..58c961b8da30a 100644 --- a/airflow/providers/cncf/kubernetes/decorators/kubernetes.py +++ b/airflow/providers/cncf/kubernetes/decorators/kubernetes.py @@ -57,7 +57,7 @@ def _read_file_contents(filename): class _KubernetesDecoratedOperator(DecoratedOperator, KubernetesPodOperator): custom_operator_name = "@task.kubernetes" - template_fields: Sequence[str] = ("op_args", "op_kwargs") + template_fields: Sequence[str] = ("op_args", "op_kwargs", "env_vars") # since we won't mutate the arguments, we should just do the shallow copy # there are some cases we can't deepcopy the objects (e.g protobuf). From 75f82d3e9de544736e39ede6053457542b108047 Mon Sep 17 00:00:00 2001 From: Jeff Fletcher Date: Tue, 1 Nov 2022 10:58:23 +0100 Subject: [PATCH 2/7] template_fields Update --- .../cncf/kubernetes/decorators/kubernetes.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/airflow/providers/cncf/kubernetes/decorators/kubernetes.py b/airflow/providers/cncf/kubernetes/decorators/kubernetes.py index 58c961b8da30a..02a3357c4a9e9 100644 --- a/airflow/providers/cncf/kubernetes/decorators/kubernetes.py +++ b/airflow/providers/cncf/kubernetes/decorators/kubernetes.py @@ -57,7 +57,16 @@ def _read_file_contents(filename): class _KubernetesDecoratedOperator(DecoratedOperator, KubernetesPodOperator): custom_operator_name = "@task.kubernetes" - template_fields: Sequence[str] = ("op_args", "op_kwargs", "env_vars") + + # This allows for jinja template rendering of the template_fields passed + # to the KubernetesPodOperator. + # cmds and arguments are specifically excluded as these are explicitly + # used when running the python file generated from the code + # below the decorator. + + template_fields: Sequence[str] = tuple( + {"op_args", "op_kwargs"} | set(KubernetesPodOperator.template_fields) - {"cmds", "arguments"} + ) # since we won't mutate the arguments, we should just do the shallow copy # there are some cases we can't deepcopy the objects (e.g protobuf). From ab24a24a9834e9f353f347058be971e45d4d7385 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Mon, 7 Nov 2022 14:27:21 +0100 Subject: [PATCH 3/7] Update kubernetes.py --- airflow/providers/cncf/kubernetes/decorators/kubernetes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/airflow/providers/cncf/kubernetes/decorators/kubernetes.py b/airflow/providers/cncf/kubernetes/decorators/kubernetes.py index 02a3357c4a9e9..23494fe824be0 100644 --- a/airflow/providers/cncf/kubernetes/decorators/kubernetes.py +++ b/airflow/providers/cncf/kubernetes/decorators/kubernetes.py @@ -59,8 +59,8 @@ class _KubernetesDecoratedOperator(DecoratedOperator, KubernetesPodOperator): # This allows for jinja template rendering of the template_fields passed - # to the KubernetesPodOperator. - # cmds and arguments are specifically excluded as these are explicitly + # to the KubernetesPodOperator. + # cmds and arguments are specifically excluded as these are explicitly # used when running the python file generated from the code # below the decorator. From 63e68824dfcc45cdcb998432d7fe8f049a633781 Mon Sep 17 00:00:00 2001 From: Tzu-ping Chung Date: Tue, 8 Nov 2022 07:39:21 +0800 Subject: [PATCH 4/7] Remove redundant empty lines --- airflow/providers/cncf/kubernetes/decorators/kubernetes.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/airflow/providers/cncf/kubernetes/decorators/kubernetes.py b/airflow/providers/cncf/kubernetes/decorators/kubernetes.py index 23494fe824be0..44534d281ee41 100644 --- a/airflow/providers/cncf/kubernetes/decorators/kubernetes.py +++ b/airflow/providers/cncf/kubernetes/decorators/kubernetes.py @@ -57,13 +57,11 @@ def _read_file_contents(filename): class _KubernetesDecoratedOperator(DecoratedOperator, KubernetesPodOperator): custom_operator_name = "@task.kubernetes" - # This allows for jinja template rendering of the template_fields passed # to the KubernetesPodOperator. # cmds and arguments are specifically excluded as these are explicitly # used when running the python file generated from the code # below the decorator. - template_fields: Sequence[str] = tuple( {"op_args", "op_kwargs"} | set(KubernetesPodOperator.template_fields) - {"cmds", "arguments"} ) From 62f5bc931bb1a9a6421a18c2eb6f430cc10d1a23 Mon Sep 17 00:00:00 2001 From: Daniel Standish <15932138+dstandish@users.noreply.github.com> Date: Mon, 7 Nov 2022 20:14:03 -0800 Subject: [PATCH 5/7] Update airflow/providers/cncf/kubernetes/decorators/kubernetes.py --- airflow/providers/cncf/kubernetes/decorators/kubernetes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airflow/providers/cncf/kubernetes/decorators/kubernetes.py b/airflow/providers/cncf/kubernetes/decorators/kubernetes.py index 44534d281ee41..c013587df18c5 100644 --- a/airflow/providers/cncf/kubernetes/decorators/kubernetes.py +++ b/airflow/providers/cncf/kubernetes/decorators/kubernetes.py @@ -63,7 +63,7 @@ class _KubernetesDecoratedOperator(DecoratedOperator, KubernetesPodOperator): # used when running the python file generated from the code # below the decorator. template_fields: Sequence[str] = tuple( - {"op_args", "op_kwargs"} | set(KubernetesPodOperator.template_fields) - {"cmds", "arguments"} + {"op_args", "op_kwargs", *KubernetesPodOperator.template_fields} - {"cmds", "arguments"} ) # since we won't mutate the arguments, we should just do the shallow copy From ce706ad06577903c8e8fdd9ebba89670b5cb4566 Mon Sep 17 00:00:00 2001 From: Daniel Standish <15932138+dstandish@users.noreply.github.com> Date: Mon, 7 Nov 2022 20:14:13 -0800 Subject: [PATCH 6/7] Update airflow/providers/cncf/kubernetes/decorators/kubernetes.py --- airflow/providers/cncf/kubernetes/decorators/kubernetes.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/airflow/providers/cncf/kubernetes/decorators/kubernetes.py b/airflow/providers/cncf/kubernetes/decorators/kubernetes.py index c013587df18c5..2e538f7b8a34f 100644 --- a/airflow/providers/cncf/kubernetes/decorators/kubernetes.py +++ b/airflow/providers/cncf/kubernetes/decorators/kubernetes.py @@ -59,9 +59,7 @@ class _KubernetesDecoratedOperator(DecoratedOperator, KubernetesPodOperator): # This allows for jinja template rendering of the template_fields passed # to the KubernetesPodOperator. - # cmds and arguments are specifically excluded as these are explicitly - # used when running the python file generated from the code - # below the decorator. + # `cmds` and `arguments` are used internally by the operator template_fields: Sequence[str] = tuple( {"op_args", "op_kwargs", *KubernetesPodOperator.template_fields} - {"cmds", "arguments"} ) From b2ccb00d6233e65eb6641a09128bc41c78b50e64 Mon Sep 17 00:00:00 2001 From: Daniel Standish <15932138+dstandish@users.noreply.github.com> Date: Mon, 7 Nov 2022 20:14:57 -0800 Subject: [PATCH 7/7] Update airflow/providers/cncf/kubernetes/decorators/kubernetes.py --- airflow/providers/cncf/kubernetes/decorators/kubernetes.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/airflow/providers/cncf/kubernetes/decorators/kubernetes.py b/airflow/providers/cncf/kubernetes/decorators/kubernetes.py index 2e538f7b8a34f..f68927c676433 100644 --- a/airflow/providers/cncf/kubernetes/decorators/kubernetes.py +++ b/airflow/providers/cncf/kubernetes/decorators/kubernetes.py @@ -57,8 +57,6 @@ def _read_file_contents(filename): class _KubernetesDecoratedOperator(DecoratedOperator, KubernetesPodOperator): custom_operator_name = "@task.kubernetes" - # This allows for jinja template rendering of the template_fields passed - # to the KubernetesPodOperator. # `cmds` and `arguments` are used internally by the operator template_fields: Sequence[str] = tuple( {"op_args", "op_kwargs", *KubernetesPodOperator.template_fields} - {"cmds", "arguments"}