This is an automated email from the ASF dual-hosted git repository. jedcunningham pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push: new 8f933c99c1 Add worker service account for LocalKubernetesExecutor (#28813) 8f933c99c1 is described below commit 8f933c99c18bea9ce5651802fdc7d65060e372b6 Author: Oliver Chen <oliverchen...@gmail.com> AuthorDate: Tue Jan 10 15:52:40 2023 -0800 Add worker service account for LocalKubernetesExecutor (#28813) --- chart/templates/workers/worker-serviceaccount.yaml | 2 +- tests/charts/test_worker.py | 30 ++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/chart/templates/workers/worker-serviceaccount.yaml b/chart/templates/workers/worker-serviceaccount.yaml index bebddb96be..e55d5d511a 100644 --- a/chart/templates/workers/worker-serviceaccount.yaml +++ b/chart/templates/workers/worker-serviceaccount.yaml @@ -18,7 +18,7 @@ ################################ ## Airflow Worker ServiceAccount ################################# -{{- if and .Values.workers.serviceAccount.create (or (eq .Values.executor "CeleryExecutor") (eq .Values.executor "CeleryKubernetesExecutor") (eq .Values.executor "KubernetesExecutor")) }} +{{- if and .Values.workers.serviceAccount.create (or (eq .Values.executor "CeleryExecutor") (eq .Values.executor "CeleryKubernetesExecutor") (eq .Values.executor "KubernetesExecutor") (eq .Values.executor "LocalKubernetesExecutor")) }} kind: ServiceAccount apiVersion: v1 metadata: diff --git a/tests/charts/test_worker.py b/tests/charts/test_worker.py index 39c65cf87a..76a511a389 100644 --- a/tests/charts/test_worker.py +++ b/tests/charts/test_worker.py @@ -758,3 +758,33 @@ class TestWorkerServiceAccount: assert "test_label" in jmespath.search("metadata.labels", docs[0]) assert jmespath.search("metadata.labels", docs[0])["test_label"] == "test_label_value" + + @pytest.mark.parametrize( + "executor, creates_service_account", + [ + ("LocalExecutor", False), + ("CeleryExecutor", True), + ("CeleryKubernetesExecutor", True), + ("KubernetesExecutor", True), + ("LocalKubernetesExecutor", True), + ], + ) + def test_should_create_worker_service_account_for_specific_executors( + self, executor, creates_service_account + ): + docs = render_chart( + values={ + "executor": executor, + "workers": { + "serviceAccount": {"create": True}, + "labels": {"test_label": "test_label_value"}, + }, + }, + show_only=["templates/workers/worker-serviceaccount.yaml"], + ) + if creates_service_account: + assert jmespath.search("kind", docs[0]) == "ServiceAccount" + assert "test_label" in jmespath.search("metadata.labels", docs[0]) + assert jmespath.search("metadata.labels", docs[0])["test_label"] == "test_label_value" + else: + assert docs == []