in src/hpcadvisor/batch_handler.py [0:0]
def create_setup_task(jobid, appsetupurl):
log.info(f"Creating setup task for jobid={jobid}")
if not batch_client:
log.critical("batch_client is None")
return
app_setup_url = appsetupurl
log.debug(f"application setup url: {app_setup_url}")
random_code = utils.get_random_code()
task_id = f"task-app-setup-{random_code}"
if not jobid:
log.critical(f"jobid is None and cannot create setup task {task_id}")
return
script_name = os.path.basename(app_setup_url)
log.debug(f"script for application: {script_name}")
anfmountdir = env["ANFMOUNTDIR"]
if anfenabled:
task_commands = [
f"/bin/bash -c 'set ; cd {anfmountdir} ; curl -sLO {app_setup_url} ; source {script_name} ; {HPCADVISOR_FUNCTION_SETUP}'"
]
else:
task_commands = [
f"/bin/bash -c 'set ; cd $AZ_BATCH_NODE_MOUNTS_DIR/data ; curl -sLO {app_setup_url} ; source {script_name} ; {HPCADVISOR_FUNCTION_SETUP}'"
]
log.debug(f"task command: {task_commands}")
user = batchmodels.UserIdentity(
auto_user=batchmodels.AutoUserSpecification(
scope=batchmodels.AutoUserScope.pool,
elevation_level=batchmodels.ElevationLevel.admin,
)
)
task = batchmodels.TaskAddParameter(
id=task_id,
user_identity=user,
command_line=task_commands[0],
)
batch_client.task.add(job_id=jobid, task=task)
log.info(f"Task [{task_id}] created!")