From b0ea743603b48b0aed1375a581d06dc73fd23d9c Mon Sep 17 00:00:00 2001 From: Mark Scannell Date: Mon, 23 Oct 2023 15:07:50 +0100 Subject: [PATCH 1/2] Added to the rendering of KubernetesOperator V1VolumeMount, sub_path --- airflow/providers/cncf/kubernetes/operators/pod.py | 2 +- tests/providers/cncf/kubernetes/operators/test_pod.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/airflow/providers/cncf/kubernetes/operators/pod.py b/airflow/providers/cncf/kubernetes/operators/pod.py index d8b01b155b84b..3137457c24671 100644 --- a/airflow/providers/cncf/kubernetes/operators/pod.py +++ b/airflow/providers/cncf/kubernetes/operators/pod.py @@ -456,7 +456,7 @@ def _render_nested_template_fields( elif isinstance(content, k8s.V1Volume): template_fields = ("name", "persistent_volume_claim") elif isinstance(content, k8s.V1VolumeMount): - template_fields = ("name",) + template_fields = ("name","sub_path",) elif isinstance(content, k8s.V1PersistentVolumeClaimVolumeSource): template_fields = ("claim_name",) else: diff --git a/tests/providers/cncf/kubernetes/operators/test_pod.py b/tests/providers/cncf/kubernetes/operators/test_pod.py index 42fd7ecfe4b9c..d084ccea77b80 100644 --- a/tests/providers/cncf/kubernetes/operators/test_pod.py +++ b/tests/providers/cncf/kubernetes/operators/test_pod.py @@ -132,6 +132,11 @@ def test_templates(self, create_task_instance_of_operator): requests={"memory": "{{ dag.dag_id }}", "cpu": "{{ dag.dag_id }}"}, limits={"memory": "{{ dag.dag_id }}", "cpu": "{{ dag.dag_id }}"}, ), + volume_mounts=[k8s.V1VolumeMount( + name="{{ dag.dag_id }}", + mount_path="mount_path", + sub_path="{{ dag.dag_id }}", + )], pod_template_file="{{ dag.dag_id }}", config_file="{{ dag.dag_id }}", labels="{{ dag.dag_id }}", @@ -147,6 +152,8 @@ def test_templates(self, create_task_instance_of_operator): assert dag_id == rendered.container_resources.limits["cpu"] assert dag_id == rendered.container_resources.requests["memory"] assert dag_id == rendered.container_resources.requests["cpu"] + assert dag_id == rendered.volume_mounts[0].name + assert dag_id == rendered.volume_mounts[0].sub_path assert dag_id == ti.task.image assert dag_id == ti.task.cmds assert dag_id == ti.task.namespace From 19889be10939e687526aaccb1acc4d603f6d20b3 Mon Sep 17 00:00:00 2001 From: Mark Scannell Date: Wed, 25 Oct 2023 09:34:33 +0100 Subject: [PATCH 2/2] Cleaned up Python syntax --- airflow/providers/cncf/kubernetes/operators/pod.py | 2 +- .../providers/cncf/kubernetes/operators/test_pod.py | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/airflow/providers/cncf/kubernetes/operators/pod.py b/airflow/providers/cncf/kubernetes/operators/pod.py index 3137457c24671..32ab22ecf9a86 100644 --- a/airflow/providers/cncf/kubernetes/operators/pod.py +++ b/airflow/providers/cncf/kubernetes/operators/pod.py @@ -456,7 +456,7 @@ def _render_nested_template_fields( elif isinstance(content, k8s.V1Volume): template_fields = ("name", "persistent_volume_claim") elif isinstance(content, k8s.V1VolumeMount): - template_fields = ("name","sub_path",) + template_fields = ("name", "sub_path") elif isinstance(content, k8s.V1PersistentVolumeClaimVolumeSource): template_fields = ("claim_name",) else: diff --git a/tests/providers/cncf/kubernetes/operators/test_pod.py b/tests/providers/cncf/kubernetes/operators/test_pod.py index d084ccea77b80..faf686664bcbb 100644 --- a/tests/providers/cncf/kubernetes/operators/test_pod.py +++ b/tests/providers/cncf/kubernetes/operators/test_pod.py @@ -132,11 +132,13 @@ def test_templates(self, create_task_instance_of_operator): requests={"memory": "{{ dag.dag_id }}", "cpu": "{{ dag.dag_id }}"}, limits={"memory": "{{ dag.dag_id }}", "cpu": "{{ dag.dag_id }}"}, ), - volume_mounts=[k8s.V1VolumeMount( - name="{{ dag.dag_id }}", - mount_path="mount_path", - sub_path="{{ dag.dag_id }}", - )], + volume_mounts=[ + k8s.V1VolumeMount( + name="{{ dag.dag_id }}", + mount_path="mount_path", + sub_path="{{ dag.dag_id }}", + ) + ], pod_template_file="{{ dag.dag_id }}", config_file="{{ dag.dag_id }}", labels="{{ dag.dag_id }}",