<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"Times New Roman \(Body CS\)";
        panose-1:2 2 6 3 5 4 5 2 3 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:12.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Consolas;
        color:windowtext;
        font-weight:normal;
        font-style:normal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:12.0pt;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-family:Consolas">All,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">I work on a cluster that uses SLURM which has various types of nodes that are are controlled via --constraint flags in sbatch.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">Now, I started thinking "How can I figure out how many jobs are running/pending/etc on a certain type of node?". I first thought obviously "squeue --constraint=foo", but...nope. No --constraint flag with
 squeue. Okay. Constraints are just Features by another name, but...you can't seem to just squeue a feature either.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">I asked a SLURM guru here and they suggested using --nodelist/-w a la:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">  squeue -a -w nodea[001-100],nodeb[001-100],... -t r<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">where you pass in all the nodes of a certain type. And, yep, that works! But that also means I have to know what nodes are what type. I could obviously do a one-time parsing of "scontrol show nodes" and
 see what each chunk is and be done with it...but dangit I'm lazy and SLURM has so many programs and options there might just be something and I haven't read the right manpage! :)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">So I was wondering if anyone out there knows of a cool/elegant/efficient way of doing this?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">Matt<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">PS: I still might write a bash script where I've listed what the node names are of constraint and realize I might have to update it once every year or two. Now time to look at what parser SLURM uses for
 nodelist. Can you use regexes and use *, etc? Or just use nodea[001-100]? Time to find out!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:Consolas">-- <o:p></o:p></span></p>
<div>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:Consolas">Matt Thompson, SSAI, Ld Scientific Programmer/Analyst<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:Consolas">NASA GSFC,    Global Modeling and Assimilation Office<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:Consolas">Code 610.1,  8800 Greenbelt Rd,  Greenbelt,  MD 20771<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:Consolas">Phone: 301-614-6712                 Fax: 301-614-6246<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><u><span style="font-family:Consolas;color:#0000E9">http://science.gsfc.nasa.gov/sed/bio/matthew.thompson</span></u><o:p></o:p></p>
</div>
</body>
</html>