Skip to content

Commit bac4acd

Browse files
authored
[TWTR][EWT-472] Add lifecycle support while launching worker pods (twitter-forks#59)
1 parent 0cd5928 commit bac4acd

File tree

4 files changed

+11
-2
lines changed

4 files changed

+11
-2
lines changed

airflow/contrib/kubernetes/kubernetes_request_factory/kubernetes_request_factory.py

+5
Original file line numberDiff line numberDiff line change
@@ -262,3 +262,8 @@ def _apply_env_from(pod, req):
262262
def extract_priority_class(pod, req):
263263
if pod.priority_class:
264264
req['spec']['priorityClassName'] = pod.priority_class
265+
266+
@staticmethod
267+
def extract_lifecycle(pod, req):
268+
if pod.lifecycle:
269+
req['spec']['containers'][0]['lifecycle'] = pod.lifecycle

airflow/contrib/kubernetes/kubernetes_request_factory/pod_request_factory.py

+2
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ def create(self, pod):
6666
self.extract_security_context(pod, req)
6767
self.extract_dnspolicy(pod, req)
6868
self.extract_priority_class(pod, req)
69+
self.extract_lifecycle(pod, req)
6970
return req
7071

7172

@@ -137,4 +138,5 @@ def create(self, pod):
137138
self.extract_security_context(pod, req)
138139
self.extract_dnspolicy(pod, req)
139140
self.extract_priority_class(pod, req)
141+
self.extract_lifecycle(pod, req)
140142
return req

airflow/contrib/kubernetes/pod.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,8 @@ def __init__(
114114
configmaps=None,
115115
pod_runtime_info_envs=None,
116116
dnspolicy=None,
117-
priority_class=None
117+
priority_class=None,
118+
lifecycle=None
118119
):
119120
self.image = image
120121
self.envs = envs or {}
@@ -143,3 +144,4 @@ def __init__(
143144
self.pod_runtime_info_envs = pod_runtime_info_envs or []
144145
self.dnspolicy = dnspolicy
145146
self.priority_class = priority_class
147+
self.lifecycle = lifecycle or {}

airflow/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@
1818
# under the License.
1919
#
2020

21-
version = '1.10.4+twtr18'
21+
version = '1.10.4+twtr19'
2222

0 commit comments

Comments
 (0)