diff --git a/airflow/kubernetes/pod_generator.py b/airflow/kubernetes/pod_generator.py index 249a5adf0af8b2..16a311f1535a56 100644 --- a/airflow/kubernetes/pod_generator.py +++ b/airflow/kubernetes/pod_generator.py @@ -33,13 +33,7 @@ class PodDefaults: """ XCOM_MOUNT_PATH = '/airflow/xcom' SIDECAR_CONTAINER_NAME = 'airflow-xcom-sidecar' - XCOM_CMD = """import time -while True: - try: - time.sleep(3600) - except KeyboardInterrupt: - exit(0) - """ + XCOM_CMD = 'trap "exit 0" INT; while true; do sleep 30; done;' VOLUME_MOUNT = k8s.V1VolumeMount( name='xcom', mount_path=XCOM_MOUNT_PATH @@ -50,8 +44,8 @@ class PodDefaults: ) SIDECAR_CONTAINER = k8s.V1Container( name=SIDECAR_CONTAINER_NAME, - command=['python', '-c', XCOM_CMD], - image='python:3.5-alpine', + command=['sh', '-c', XCOM_CMD], + image='alpine', volume_mounts=[VOLUME_MOUNT] ) diff --git a/tests/kubernetes/test_pod_generator.py b/tests/kubernetes/test_pod_generator.py index 00ad2bda890e70..bc6de96e7e7873 100644 --- a/tests/kubernetes/test_pod_generator.py +++ b/tests/kubernetes/test_pod_generator.py @@ -178,8 +178,8 @@ def test_gen_pod_extract_xcom(self, mock_uuid): result_dict = self.k8s_client.sanitize_for_serialization(result) container_two = { 'name': 'airflow-xcom-sidecar', - 'image': 'python:3.5-alpine', - 'command': ['python', '-c', PodDefaults.XCOM_CMD], + 'image': "alpine", + 'command': ['sh', '-c', PodDefaults.XCOM_CMD], 'volumeMounts': [ { 'name': 'xcom',