3535from slurmrestd_client .models .slurm_v0041_post_job_submit_request_jobs_inner_time_limit import (
3636 SlurmV0041PostJobSubmitRequestJobsInnerTimeLimit ,
3737)
38- from slurmrestd_client .models .slurm_v0041_post_job_submit_request_jobs_inner_memory_per_cpu import (
39- SlurmV0041PostJobSubmitRequestJobsInnerMemoryPerCpu ,
40- )
4138from fastapi import HTTPException , Response
4239from pydantic import ConfigDict , ValidationError
4340
@@ -260,23 +257,14 @@ async def submit_job(
260257
261258 # --- resource fields with safe defaults ---
262259 node_count = 1
263- tasks = None
264- tasks_per_node = None
265- cpus_per_task = None
266- tres_per_task = None
267- exclusive = ["true" ]
268- memory_per_node = None
269260 duration_mins = 60
270261 partition = None
271262 account = None
272- reservation = None
273263 environment = ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ]
274264
275265 name = job_spec .name
276266 executable = job_spec .executable
277- argv = job_spec .arguments or None
278267 cwd = str (job_spec .directory ) if job_spec .directory else None
279- stdin = job_spec .stdin_path
280268 stdout = job_spec .stdout_path
281269 stderr = job_spec .stderr_path
282270
@@ -285,23 +273,12 @@ async def submit_job(
285273
286274 if job_spec .resources :
287275 node_count = job_spec .resources .node_count or 1
288- tasks = job_spec .resources .process_count
289- tasks_per_node = job_spec .resources .processes_per_node
290- cpus_per_task = job_spec .resources .cpu_cores_per_process
291- if job_spec .resources .gpu_cores_per_process :
292- tres_per_task = f"gres/gpu:{ job_spec .resources .gpu_cores_per_process } "
293- if not job_spec .resources .exclusive_node_use :
294- exclusive = ["false" ]
295- if job_spec .resources .memory :
296- memory_mb = max (1 , job_spec .resources .memory // (1024 * 1024 ))
297- memory_per_node = SlurmV0041PostJobSubmitRequestJobsInnerMemoryPerCpu (set = True , number = memory_mb )
298276
299277 if job_spec .attributes :
300278 if job_spec .attributes .duration is not None :
301279 duration_mins = max (1 , int (job_spec .attributes .duration // 60 ))
302280 partition = job_spec .attributes .queue_name
303281 account = job_spec .attributes .account
304- reservation = job_spec .attributes .reservation_id
305282
306283 partition = partition or os .environ .get ("SLURM_DEFAULT_PARTITION" )
307284 account = account or os .environ .get ("SLURM_DEFAULT_ACCOUNT" )
@@ -311,22 +288,13 @@ async def submit_job(
311288 try :
312289 slurm_job = SlurmV0041PostJobSubmitRequestJobStrict (
313290 nodes = str (node_count ),
314- tasks = tasks ,
315- tasks_per_node = tasks_per_node ,
316- cpus_per_task = cpus_per_task ,
317- tres_per_task = tres_per_task ,
318- exclusive = exclusive ,
319- memory_per_node = memory_per_node ,
320291 time_limit = SlurmV0041PostJobSubmitRequestJobsInnerTimeLimit (set = True , number = duration_mins ),
321292 name = name ,
322293 script = executable ,
323- argv = argv ,
324294 partition = partition ,
325295 account = account ,
326- reservation = reservation ,
327296 environment = environment ,
328297 current_working_directory = cwd ,
329- standard_input = stdin ,
330298 standard_output = stdout ,
331299 standard_error = stderr ,
332300 ** custom_attributes
0 commit comments