I managed to figure out why this conditional wasn't working: shortly before this conditional,  I had another conditional that checked for my user_id. If I was submitting a job, it would skip the rest of the job_submit.lua file. I had added this so I could test some new features out that would have been prevented by the rest of my job_submit script. I was so focused on this conditional, I wasn't looking only  a few lines above it...

Thanks to all of you who provided debugging suggestions. They helps. Once I was printing out and seeing the correct values for partition and user_id, I knew my problem had to be elsewhere.

Prentice

On 2/4/19 5:27 PM, Prentice Bisbal wrote:
Can anyone see an error in this conditional in my job_submit.lua?

    if ( job_desc.user_id == 28922 or job_desc.user_id == 41266 ) and ( job_desc.partition == 'general' or job_desc.partition == 'interruptible' ) then
        job_desc.qos = job_desc.partition
        return slurm.SUCCESS
    end

I am one if those user id's but if I submit a job to partition 'interruptible', without specifying a QOS, it still gets assigned to the default QOS, which is 'general':

 cat mpihello.sbatch
#!/bin/bash

#SBATCH -n 32
#SBATCH -p interruptible
#SBATCH -t 00:01:00
#SBATCH -J mpihello
#SBATCH -o mpihello-%j.out
#SBATCH -e mpihello-%j.err
#SBATCH --mail-type=ALL

module load gcc/7.3.0
module load openmpi/3.0.0
srun --mpi=pmi2 ./mpihello

$ scontrol show job 433953 | grep QOS
   Priority=2512 Nice=0 Account=unix QOS=general

The logic of that conditional seems pretty simple, and I'm using similar compound conditionals throughout my job_submit.lua script. Can't figure out where the mistake is in this one.


Reply via email to