This is an automated email from the ASF dual-hosted git repository.
jscheffl 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 f0677f3df6d Handle backwards-compatibility for older Google provider
(#60730)
f0677f3df6d is described below
commit f0677f3df6db91541d3fac85bd3b90804c811804
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sat Jan 17 21:45:46 2026 +0100
Handle backwards-compatibility for older Google provider (#60730)
Google provider depends on cncf.kubernetes for GKE and since we
are changing how we are calling the invoke_defer_method in GKE,
older Google providers have invoke_defer_method that does not
accept context parameter and it will fail.
We need to make sure that invoke_defer_method actually can
accept the context parameter before passing it.
---
.../src/airflow/providers/cncf/kubernetes/operators/pod.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git
a/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/operators/pod.py
b/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/operators/pod.py
index 865f8a13f15..668c15e9043 100644
---
a/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/operators/pod.py
+++
b/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/operators/pod.py
@@ -20,6 +20,7 @@ from __future__ import annotations
import asyncio
import datetime
+import inspect
import json
import logging
import math
@@ -852,7 +853,14 @@ class KubernetesPodOperator(BaseOperator):
ti.xcom_push(key="pod_name", value=self.pod.metadata.name)
ti.xcom_push(key="pod_namespace", value=self.pod.metadata.namespace)
- self.invoke_defer_method(context=context)
+ # Check if invoke_defer_method accepts context parameter
+ # This might happen if the KPO is extended by for example old Google
+ # provider where invoke_defer_method does not accept context parameter
+ sig = inspect.signature(self.invoke_defer_method)
+ if "context" in sig.parameters:
+ self.invoke_defer_method(context=context)
+ else:
+ self.invoke_defer_method()
def convert_config_file_to_dict(self):
"""Convert passed config_file to dict representation."""