|
@@ -1,5 +1,5 @@
|
|
|
import json
|
|
|
-from typing import Optional
|
|
|
+from typing import Optional, Dict
|
|
|
from app.core.airflow.af_util import spark_result_tb_name
|
|
|
from app.schemas import AirflowTask
|
|
|
from jinja2 import Environment, PackageLoader, select_autoescape
|
|
@@ -58,6 +58,10 @@ class PythonTaskCompiler(TaskCompiler):
|
|
|
self.default_image = config.get('TASK_IMAGES', 'python') # 'SXKJ:32775/pod_python:1.1'
|
|
|
self.default_cmd = "python main.py"
|
|
|
self.task.cmd = "echo \"$SCRIPT\" > main.py && " + (self.task.cmd or self.default_cmd)
|
|
|
+ if config.get('HOST_ALIAS', 'enable', fallback=None) in ['true', "True", True]:
|
|
|
+ host_alias: Dict = json.loads(config.get('HOST_ALIAS', 'host_alias'))
|
|
|
+ for k, v in host_alias.items():
|
|
|
+ self.task.cmd = f"echo '{k} {v}' >> /etc/hosts && {self.task.cmd}"
|
|
|
|
|
|
|
|
|
class DataXTaskCompiler(TaskCompiler):
|
|
@@ -125,9 +129,16 @@ class SparksTaskCompiler(TaskCompiler):
|
|
|
|
|
|
basic_cmds = "cd /workspace && echo \"$SCRIPT\" > run.py && ${SPARK_HOME}/bin/spark-submit"
|
|
|
|
|
|
+ if config.get('HOST_ALIAS', 'enable', fallback=None) in ['true', "True", True]:
|
|
|
+ host_alias: Dict = json.loads(config.get('HOST_ALIAS', 'host_alias'))
|
|
|
+ for k, v in host_alias.items():
|
|
|
+ basic_cmds = f"echo '{k} {v}' >> /etc/hosts && {basic_cmds}"
|
|
|
+
|
|
|
+
|
|
|
if config.get('K8S', 'enable_kerberos', fallback=None) in ['true', "True", True]:
|
|
|
basic_cmds = f"kinit -kt /workspace/conf/user.keytab ailab && {basic_cmds}"
|
|
|
|
|
|
+
|
|
|
self.cmd_str = lambda name: f"{basic_cmds} --name {name} {param_str} run.py"
|
|
|
|
|
|
def translate(self, job_id, task_mode=1):
|