Skip to content

Commit 7d5a61e

Browse files
committed
chore(pod): add CONTAINER_IP env
1 parent f4a6117 commit 7d5a61e

1 file changed

Lines changed: 26 additions & 16 deletions

File tree

  • rootfs/scheduler/resources

rootfs/scheduler/resources/pod.py

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -221,34 +221,44 @@ def _set_container(self, namespace, container_name, data, **kwargs):
221221
for key in env.keys():
222222
item = {
223223
"name": key,
224-
"valueFrom": {
225-
"secretKeyRef": {
226-
"name": secret_name,
227-
# k8s doesn't allow _ so translate to -, see above
228-
"key": key.lower().replace('_', '-')
229-
}
230-
}
224+
"valueFrom": {"secretKeyRef": {
225+
"name": secret_name,
226+
# k8s doesn't allow _ so translate to -, see above
227+
"key": key.lower().replace('_', '-')
228+
}}
231229
}
232-
233230
# add value to env hash. Overwrite hardcoded values if need be
234231
match = next((k for k, e in enumerate(data["env"]) if e['name'] == key), None)
235232
if match is not None:
236233
data["env"][match] = item
237234
else:
238235
data["env"].append(item)
239-
240-
# Inject debugging if workflow is in debug mode
241-
if os.environ.get("DRYCC_DEBUG", False):
242-
data["env"].append({
243-
"name": "DRYCC_DEBUG",
244-
"value": "1"
245-
})
246-
236+
# set container default env
237+
self._set_container_default_env(data)
247238
# list sorted by dict key name
248239
data['env'].sort(key=operator.itemgetter('name'))
249240
self._set_health_checks(data, env, **kwargs)
250241
self._set_lifecycle_hooks(data, env, **kwargs)
251242

243+
def _set_container_default_env(self, data):
244+
# set fields env
245+
fields = {"CONTAINER_IP": "status.podIP"}
246+
for key, value in fields.items():
247+
item = {
248+
"name": key,
249+
"valueFrom": {"fieldRef": {"fieldPath": value}}
250+
}
251+
# add value to env hash. Overwrite hardcoded values if need be
252+
match = next((k for k, e in enumerate(data["env"]) if e['name'] == key), None)
253+
if match is not None:
254+
data["env"][match] = item
255+
else:
256+
data["env"].append(item)
257+
# Inject debugging if workflow is in debug mode
258+
if os.environ.get("DRYCC_DEBUG", False):
259+
data["env"].append({"name": "DRYCC_DEBUG", "value": "1"})
260+
return data
261+
252262
@staticmethod
253263
def _get_termination_grace_period(kwargs):
254264
""" return termination grace period """

0 commit comments

Comments
 (0)