This is an automated email from the ASF dual-hosted git repository.
potiuk 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 79f6383c38 filename template arg in providers file task handlers
backward compitability support (#41633)
79f6383c38 is described below
commit 79f6383c38d1ed7409684b9475a903bcc77b2e4b
Author: Gopal Dirisala <[email protected]>
AuthorDate: Wed Aug 21 15:07:12 2024 +0530
filename template arg in providers file task handlers backward
compitability support (#41633)
---
airflow/providers/amazon/aws/log/cloudwatch_task_handler.py | 2 +-
airflow/providers/elasticsearch/log/es_task_handler.py | 1 +
tests/providers/alibaba/cloud/log/test_oss_task_handler.py | 4 ++++
.../providers/amazon/aws/log/test_cloudwatch_task_handler.py | 8 ++++++++
tests/providers/amazon/aws/log/test_s3_task_handler.py | 4 ++++
tests/providers/elasticsearch/log/test_es_task_handler.py | 11 +++++++++++
tests/providers/google/cloud/log/test_gcs_task_handler.py | 9 +++++++++
tests/providers/microsoft/azure/log/test_wasb_task_handler.py | 10 ++++++++++
8 files changed, 48 insertions(+), 1 deletion(-)
diff --git a/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py
b/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py
index 69efacfad3..b7383c8f46 100644
--- a/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py
+++ b/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py
@@ -75,7 +75,7 @@ class CloudwatchTaskHandler(FileTaskHandler, LoggingMixin):
trigger_should_wrap = True
- def __init__(self, base_log_folder: str, log_group_arn: str):
+ def __init__(self, base_log_folder: str, log_group_arn: str, **kwargs):
super().__init__(base_log_folder)
split_arn = log_group_arn.split(":")
diff --git a/airflow/providers/elasticsearch/log/es_task_handler.py
b/airflow/providers/elasticsearch/log/es_task_handler.py
index 6473b8ddd7..7eda572c54 100644
--- a/airflow/providers/elasticsearch/log/es_task_handler.py
+++ b/airflow/providers/elasticsearch/log/es_task_handler.py
@@ -159,6 +159,7 @@ class ElasticsearchTaskHandler(FileTaskHandler,
ExternalLoggingMixin, LoggingMix
es_kwargs: dict | None | Literal["default_es_kwargs"] =
"default_es_kwargs",
*,
log_id_template: str | None = None,
+ **kwargs,
):
es_kwargs = es_kwargs or {}
if es_kwargs == "default_es_kwargs":
diff --git a/tests/providers/alibaba/cloud/log/test_oss_task_handler.py
b/tests/providers/alibaba/cloud/log/test_oss_task_handler.py
index 2c00c4d022..b17d953410 100644
--- a/tests/providers/alibaba/cloud/log/test_oss_task_handler.py
+++ b/tests/providers/alibaba/cloud/log/test_oss_task_handler.py
@@ -178,3 +178,7 @@ class TestOSSTaskHandler:
handler.close()
assert os.path.exists(handler.handler.baseFilename) ==
expected_existence_of_local_copy
+
+ def test_filename_template_for_backward_compatibility(self):
+ # filename_template arg support for running the latest provider on
airflow 2
+ OSSTaskHandler(self.base_log_folder, self.oss_log_folder,
filename_template=None)
diff --git a/tests/providers/amazon/aws/log/test_cloudwatch_task_handler.py
b/tests/providers/amazon/aws/log/test_cloudwatch_task_handler.py
index f1870c4d76..801935a549 100644
--- a/tests/providers/amazon/aws/log/test_cloudwatch_task_handler.py
+++ b/tests/providers/amazon/aws/log/test_cloudwatch_task_handler.py
@@ -228,6 +228,14 @@ class TestCloudwatchTaskHandler:
mock_log_handler_close.assert_called_once()
+ def test_filename_template_for_backward_compatibility(self):
+ # filename_template arg support for running the latest provider on
airflow 2
+ CloudwatchTaskHandler(
+ self.local_log_location,
+
f"arn:aws:logs:{self.region_name}:11111111:log-group:{self.remote_log_group}",
+ filename_template=None,
+ )
+
def generate_log_events(conn, log_group_name, log_stream_name, log_events):
conn.create_log_group(logGroupName=log_group_name)
diff --git a/tests/providers/amazon/aws/log/test_s3_task_handler.py
b/tests/providers/amazon/aws/log/test_s3_task_handler.py
index 3412011eb4..fcb5d3c783 100644
--- a/tests/providers/amazon/aws/log/test_s3_task_handler.py
+++ b/tests/providers/amazon/aws/log/test_s3_task_handler.py
@@ -221,3 +221,7 @@ class TestS3TaskHandler:
handler.close()
assert os.path.exists(handler.handler.baseFilename) ==
expected_existence_of_local_copy
+
+ def test_filename_template_for_backward_compatibility(self):
+ # filename_template arg support for running the latest provider on
airflow 2
+ S3TaskHandler(self.local_log_location, self.remote_log_base,
filename_template=None)
diff --git a/tests/providers/elasticsearch/log/test_es_task_handler.py
b/tests/providers/elasticsearch/log/test_es_task_handler.py
index 6469a636ff..9321f49d77 100644
--- a/tests/providers/elasticsearch/log/test_es_task_handler.py
+++ b/tests/providers/elasticsearch/log/test_es_task_handler.py
@@ -655,6 +655,17 @@ class TestElasticsearchTaskHandler:
mock_callable.assert_called_once_with({})
assert result == "callable_index_pattern"
+ def test_filename_template_for_backward_compatibility(self):
+ # filename_template arg support for running the latest provider on
airflow 2
+ ElasticsearchTaskHandler(
+ base_log_folder="local/log/location",
+ end_of_log_mark="end_of_log\n",
+ write_stdout=False,
+ json_format=False,
+ json_fields="asctime,filename,lineno,levelname,message,exc_text",
+ filename_template=None,
+ )
+
def test_safe_attrgetter():
class A: ...
diff --git a/tests/providers/google/cloud/log/test_gcs_task_handler.py
b/tests/providers/google/cloud/log/test_gcs_task_handler.py
index a860e52e15..7653c4d837 100644
--- a/tests/providers/google/cloud/log/test_gcs_task_handler.py
+++ b/tests/providers/google/cloud/log/test_gcs_task_handler.py
@@ -283,3 +283,12 @@ class TestGCSTaskHandler:
handler.close()
assert os.path.exists(handler.handler.baseFilename) ==
expected_existence_of_local_copy
+
+ @pytest.fixture(autouse=True)
+ def test_filename_template_for_backward_compatibility(self,
local_log_location):
+ # filename_template arg support for running the latest provider on
airflow 2
+ GCSTaskHandler(
+ base_log_folder=local_log_location,
+ gcs_log_folder="gs://bucket/remote/log/location",
+ filename_template=None,
+ )
diff --git a/tests/providers/microsoft/azure/log/test_wasb_task_handler.py
b/tests/providers/microsoft/azure/log/test_wasb_task_handler.py
index e74efe89e9..7de68ec63a 100644
--- a/tests/providers/microsoft/azure/log/test_wasb_task_handler.py
+++ b/tests/providers/microsoft/azure/log/test_wasb_task_handler.py
@@ -204,3 +204,13 @@ class TestWasbTaskHandler:
handler.close()
assert os.path.exists(handler.handler.baseFilename) ==
expected_existence_of_local_copy
+
+ def test_filename_template_for_backward_compatibility(self):
+ # filename_template arg support for running the latest provider on
airflow 2
+ WasbTaskHandler(
+ base_log_folder=self.local_log_location,
+ wasb_log_folder=self.wasb_log_folder,
+ wasb_container=self.container_name,
+ delete_local_copy=True,
+ filename_template=None,
+ )