In the ECCE file apps/siteconfig/QueueManagers, add
# QueueManagers: LoadLeveler \ Maui \ EASY \ PBS \ LSF \ Moab \ SGE \ Shell\ Slurm #
and add this to the end of the file:
############################################################################### # SLURM # Simple Linux Utility for Resource Management # # Slurm|submitCommand: sbatch ##script## Slurm|cancelCommand: scancel ##id## Slurm|queryJobCommand: squeue Slurm|queryMachineCommand: sinfo -p ##queue## Slurm|queryQueueCommand: squeue -a Slurm|queryDiskUsageCommand: df -k Slurm|jobIdParseExpression: .* Slurm|jobIdParseLeadingText: job
Also, edit apps/scripts/eccejobmonitor and add (without line numers):
2124 LogMsg "Globus status from eccejobstore: $state"; 2125 } 2126 elsif ($q eq 'slurm') 2127 { 2128 $cmd = "squeue 2>&1"; 2129 if (open(QUERY, "$cmd |")) 2130 { 2131 $gotState = 0; 2132 while () 2133 { 2134 LogMsg "JobCheck: Slurm qstat line: $_"; 2135 if (/^\s*$id/) 2136 { 2137 my $state = (split)[5]; 2138 2139 &MsgSendUp("Slurm job id '$id' in state '$state'"); 2140 2141 if (grep {$state eq $_} qw{R 2142 t}) 2143 { 2144 $status = $JOB_STATE_RUNNING; 2145 } 2146 elsif (grep {$state eq $_} qw{PD}) 2147 { 2148 $status = $JOB_STATE_PENDING; 2149 } 2150 $gotState = 1; 2151 last; 2152 } 2153 } 2154 if ($gotState == 0) 2155 { 2156 if ($gJobCheckState != $JOB_STATE_NONE) 2157 { 2158 $status = $JOB_STATE_DONE; 2159 } 2160 } 2161 close QUERY;
Now when you’re adding or modifying a machine with ecce -admin you can select Slurm. You’ll still need to edit your CONFIG.xxxx file after the machine creation and add account information etc.