|  | --[[ | 
|  |  | 
|  | Example lua script demonstrating the Slurm job_submit/lua interface. | 
|  | This is only an example, not meant for use in its current form. | 
|  |  | 
|  | For use, this script should be copied into a file name "job_submit.lua" | 
|  | in the same directory as the Slurm configuration file, slurm.conf. | 
|  |  | 
|  | --]] | 
|  |  | 
|  | function slurm_job_submit(job_desc, part_list, submit_uid) | 
|  | if job_desc.account == nil then | 
|  | local account = "***TEST_ACCOUNT***" | 
|  | slurm.log_info("slurm_job_submit: job from uid %u, setting default account value: %s", | 
|  | submit_uid, account) | 
|  | job_desc.account = account | 
|  | end | 
|  | --	If no default partition, set the partition to the highest | 
|  | --	priority partition this user has access to | 
|  | if job_desc.partition == nil then | 
|  | local new_partition = nil | 
|  | local top_priority  = -1 | 
|  | local last_priority = -1 | 
|  | local inx = 0 | 
|  | for name, part in pairs(part_list) do | 
|  | slurm.log_info("part name[%d]:%s", inx, part.name) | 
|  | inx = inx + 1 | 
|  | if part.flag_default ~= 0 then | 
|  | top_priority = -1 | 
|  | break | 
|  | end | 
|  | last_priority = part.priority | 
|  | if last_priority > top_priority then | 
|  | top_priority = last_priority | 
|  | new_partition = part.name | 
|  | end | 
|  | end | 
|  | if top_priority >= 0 then | 
|  | slurm.log_info("slurm_job_submit: job from uid %u, setting default partition value: %s", | 
|  | job_desc.user_id, new_partition) | 
|  | job_desc.partition = new_partition | 
|  | end | 
|  | end | 
|  |  | 
|  | return slurm.SUCCESS | 
|  | end | 
|  |  | 
|  | function slurm_job_modify(job_desc, job_rec, part_list, modify_uid) | 
|  | if job_desc.comment == nil then | 
|  | local comment = "***TEST_COMMENT***" | 
|  | slurm.log_info("slurm_job_modify: for job %u from uid %u, setting default comment value: %s", | 
|  | job_rec.job_id, modify_uid, comment) | 
|  | job_desc.comment = comment | 
|  | end | 
|  |  | 
|  | return slurm.SUCCESS | 
|  | end | 
|  |  | 
|  | slurm.log_info("initialized") | 
|  | return slurm.SUCCESS |