diff --git a/chart/README.md b/chart/README.md index efce5eb9b72849..13d8f89dce7274 100644 --- a/chart/README.md +++ b/chart/README.md @@ -37,6 +37,9 @@ cluster using the [Helm](https://helm.sh) package manager. ## Features * Supported executors: ``LocalExecutor``, ``CeleryExecutor``, ``KubernetesExecutor``, ``LocalKubernetesExecutor``, ``CeleryKubernetesExecutor`` +* Supported AWS executors with AWS provider version ``8.21.0+``: + * ``airflow.providers.amazon.aws.executors.batch.AwsBatchExecutor`` + * ``airflow.providers.amazon.aws.executors.ecs.AwsEcsExecutor`` * Supported Airflow version: ``1.10+``, ``2.0+`` * Supported database backend: ``PostgreSQL``, ``MySQL`` * Autoscaling for ``CeleryExecutor`` provided by KEDA diff --git a/chart/values.schema.json b/chart/values.schema.json index a743210255dbbe..9e7a819aef1a02 100644 --- a/chart/values.schema.json +++ b/chart/values.schema.json @@ -521,7 +521,9 @@ "LocalKubernetesExecutor", "CeleryExecutor", "KubernetesExecutor", - "CeleryKubernetesExecutor" + "CeleryKubernetesExecutor", + "airflow.providers.amazon.aws.executors.batch.AwsBatchExecutor", + "airflow.providers.amazon.aws.executors.ecs.AwsEcsExecutor" ] }, "allowPodLaunching": { diff --git a/helm_tests/airflow_aux/test_basic_helm_chart.py b/helm_tests/airflow_aux/test_basic_helm_chart.py index 0db59363119164..c45326bce46563 100644 --- a/helm_tests/airflow_aux/test_basic_helm_chart.py +++ b/helm_tests/airflow_aux/test_basic_helm_chart.py @@ -513,6 +513,26 @@ def get_k8s_objs_with_image(obj: list[Any] | dict[str, Any]) -> list[dict[str, A # Make sure that a command is not specified assert "command" not in obj + @pytest.mark.parametrize( + "executor", + [ + "LocalExecutor", + "LocalKubernetesExecutor", + "CeleryExecutor", + "KubernetesExecutor", + "CeleryKubernetesExecutor", + "airflow.providers.amazon.aws.executors.batch.AwsBatchExecutor", + "airflow.providers.amazon.aws.executors.ecs.AwsEcsExecutor", + ], + ) + def test_supported_executor(self, executor): + render_chart( + "test-basic", + { + "executor": executor, + }, + ) + def test_unsupported_executor(self): with pytest.raises(CalledProcessError) as ex_ctx: render_chart( @@ -524,7 +544,9 @@ def test_unsupported_executor(self): assert ( 'executor must be one of the following: "LocalExecutor", ' '"LocalKubernetesExecutor", "CeleryExecutor", ' - '"KubernetesExecutor", "CeleryKubernetesExecutor"' in ex_ctx.value.stderr.decode() + '"KubernetesExecutor", "CeleryKubernetesExecutor", ' + '"airflow.providers.amazon.aws.executors.batch.AwsBatchExecutor", ' + '"airflow.providers.amazon.aws.executors.ecs.AwsEcsExecutor"' in ex_ctx.value.stderr.decode() ) @pytest.mark.parametrize(