This is an automated email from the ASF dual-hosted git repository.
shahar1 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 9b2bce6ddb2 Pass `schedule_timeout_seconds` through to
`GKEStartPodTrigger` from `GKEStartPodOperator` (#66355)
9b2bce6ddb2 is described below
commit 9b2bce6ddb2b7a58b39dd5d2ca4cf4312e07af30
Author: Jake McGrath <[email protected]>
AuthorDate: Tue May 5 12:16:04 2026 -0400
Pass `schedule_timeout_seconds` through to `GKEStartPodTrigger` from
`GKEStartPodOperator` (#66355)
---
.../airflow/providers/google/cloud/operators/kubernetes_engine.py | 1 +
.../src/airflow/providers/google/cloud/triggers/kubernetes_engine.py | 1 +
.../tests/unit/google/cloud/operators/test_kubernetes_engine.py | 2 ++
.../tests/unit/google/cloud/triggers/test_kubernetes_engine.py | 5 ++++-
4 files changed, 8 insertions(+), 1 deletion(-)
diff --git
a/providers/google/src/airflow/providers/google/cloud/operators/kubernetes_engine.py
b/providers/google/src/airflow/providers/google/cloud/operators/kubernetes_engine.py
index eba63a7ae60..1538885e4e0 100644
---
a/providers/google/src/airflow/providers/google/cloud/operators/kubernetes_engine.py
+++
b/providers/google/src/airflow/providers/google/cloud/operators/kubernetes_engine.py
@@ -774,6 +774,7 @@ class GKEStartPodOperator(GKEOperatorMixin,
KubernetesPodOperator):
ssl_ca_cert=self.ssl_ca_cert,
get_logs=self.get_logs,
startup_timeout=self.startup_timeout_seconds,
+ schedule_timeout=self.schedule_timeout_seconds,
cluster_context=self.cluster_context,
poll_interval=self.poll_interval,
in_cluster=self.in_cluster,
diff --git
a/providers/google/src/airflow/providers/google/cloud/triggers/kubernetes_engine.py
b/providers/google/src/airflow/providers/google/cloud/triggers/kubernetes_engine.py
index 01bb74883fb..27d5e6f6823 100644
---
a/providers/google/src/airflow/providers/google/cloud/triggers/kubernetes_engine.py
+++
b/providers/google/src/airflow/providers/google/cloud/triggers/kubernetes_engine.py
@@ -148,6 +148,7 @@ class GKEStartPodTrigger(KubernetesPodTrigger):
"use_dns_endpoint": self.use_dns_endpoint,
"get_logs": self.get_logs,
"startup_timeout": self.startup_timeout,
+ "schedule_timeout": self.schedule_timeout,
"trigger_start_time": self.trigger_start_time,
"base_container_name": self.base_container_name,
"should_delete_pod": self.should_delete_pod,
diff --git
a/providers/google/tests/unit/google/cloud/operators/test_kubernetes_engine.py
b/providers/google/tests/unit/google/cloud/operators/test_kubernetes_engine.py
index 24e08af68de..6453e13376e 100644
---
a/providers/google/tests/unit/google/cloud/operators/test_kubernetes_engine.py
+++
b/providers/google/tests/unit/google/cloud/operators/test_kubernetes_engine.py
@@ -803,6 +803,7 @@ class TestGKEStartPodOperator:
on_finish_action=OnFinishAction.KEEP_POD,
gcp_conn_id=TEST_CONN_ID,
impersonation_chain=TEST_IMPERSONATION_CHAIN,
+ schedule_timeout_seconds=60,
)
def test_template_fields(self):
@@ -893,6 +894,7 @@ class TestGKEStartPodOperator:
ssl_ca_cert=GKE_SSL_CA_CERT,
get_logs=mock_get_logs,
startup_timeout=120,
+ schedule_timeout=60, # issue-66352: schedule_timeout should now
be passed into the trigger
cluster_context=None,
poll_interval=2,
in_cluster=None,
diff --git
a/providers/google/tests/unit/google/cloud/triggers/test_kubernetes_engine.py
b/providers/google/tests/unit/google/cloud/triggers/test_kubernetes_engine.py
index e423561bfe6..2d96ab43eac 100644
---
a/providers/google/tests/unit/google/cloud/triggers/test_kubernetes_engine.py
+++
b/providers/google/tests/unit/google/cloud/triggers/test_kubernetes_engine.py
@@ -55,6 +55,7 @@ IN_CLUSTER = False
SHOULD_DELETE_POD = True
GET_LOGS = True
STARTUP_TIMEOUT_SECS = 120
+SCHEDULE_TIMEOUT_SECS = 60
TRIGGER_START_TIME = datetime.datetime.now(tz=datetime.timezone.utc)
CLUSTER_URL = "https://test-host"
SSL_CA_CERT = "TEST_SSL_CA_CERT_CONTENT"
@@ -82,6 +83,7 @@ def trigger():
in_cluster=IN_CLUSTER,
get_logs=GET_LOGS,
startup_timeout=STARTUP_TIMEOUT_SECS,
+ schedule_timeout=SCHEDULE_TIMEOUT_SECS,
trigger_start_time=TRIGGER_START_TIME,
cluster_url=CLUSTER_URL,
ssl_ca_cert=SSL_CA_CERT,
@@ -131,6 +133,7 @@ class TestGKEStartPodTrigger:
"in_cluster": IN_CLUSTER,
"get_logs": GET_LOGS,
"startup_timeout": STARTUP_TIMEOUT_SECS,
+ "schedule_timeout": SCHEDULE_TIMEOUT_SECS, # issue-66352:
schedule_timeout properly serialized
"trigger_start_time": TRIGGER_START_TIME,
"cluster_url": CLUSTER_URL,
"ssl_ca_cert": SSL_CA_CERT,
@@ -267,7 +270,7 @@ class TestGKEStartPodTrigger:
generator = trigger.run()
await generator.asend(None)
- assert "Waiting until 120s to get the POD scheduled..." in caplog.text
+ assert "Waiting until 60s to get the POD scheduled..." in caplog.text
@pytest.mark.parametrize(
("container_state", "expected_state"),