<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>This is fixed. I was a little overzealous in my IPtables rules on
      the login host and was restricting traffic from the compute node
      back to the login node. <br>
    </p>
    <p>Thanks to Ryan and Brian for the quick replies offering
      suggestions. <br>
    </p>
    <pre class="moz-signature" cols="72">Prentice </pre>
    <div class="moz-cite-prefix">On 5/19/23 1:11 PM, Prentice Bisbal
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:298091ee-6034-7061-2aed-776330f332ca@pppl.gov">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>Brian, <br>
      </p>
      <p>Thanks for the reply, and I was hoping that would be the fix,
        but that doesn't seem to be the case. I'm using 22.05.8, which
        isn't that old. I double-checked the documentation archives for
        version 22.05.08's documetation, and setting <br>
      </p>
      <pre><font size="4">LaunchParameters=use_interactive_step 

</font></pre>
      <p>should be valid here. From  <a class="moz-txt-link-freetext"
          href="https://slurm.schedmd.com/archive/slurm-22.05.8/slurm.conf.html"
          moz-do-not-send="true">https://slurm.schedmd.com/archive/slurm-22.05.8/slurm.conf.html</a>:</p>
      <p> </p>
      <blockquote type="cite">
        <dl compact="compact">
          <dt><b>use_interactive_step</b></dt>
          <dd>Have salloc use the Interactive Step to launch a shell on
            an allocated compute node rather than locally to wherever
            salloc was invoked. This is accomplished by launching the
            srun command with InteractiveStepOptions as options.
            <p> This does not affect salloc called with a command as an
              argument. These jobs will continue to be executed as the
              calling user on the calling host. </p>
          </dd>
        </dl>
      </blockquote>
      <p>and <br>
      </p>
      <p> </p>
      <blockquote type="cite">
        <dl compact="compact">
          <dt><b>InteractiveStepOptions</b></dt>
          <dd>When LaunchParameters=use_interactive_step is enabled,
            launching salloc will automatically start an srun process
            with InteractiveStepOptions to launch a terminal on a node
            in the job allocation. The default value is "--interactive
            --preserve-env --pty $SHELL". The "--interactive" option is
            intentionally not documented in the srun man page. It is
            meant only to be used in <b>InteractiveStepOptions</b> in
            order to create an "interactive step" that will not consume
            resources so that other steps may run in parallel with the
            interactive step. </dd>
        </dl>
      </blockquote>
      <p>According to that, setting
        LaunchParameters=use_interactive_step should be enough, since
        "--interactive --preserve-env --pty $SHELL" is the default. <br>
      </p>
      <p>A colleague pointed out that my slurm.conf was setting
        LaunchParameters to "user_interactive_step" when it should be
        "use_interactive_step", but changing that didn't fix my problem,
        just changed it. Now when I try to start an interactive shell,
        it just hangs and eventually returns an error: <br>
      </p>
      <p>[pbisbal@ranger ~]$ salloc -n 1 -t 00:10:00 --mem=1G<br>
        salloc: Granted job allocation 29<br>
        salloc: Waiting for resource configuration<br>
        salloc: Nodes ranger-s22-07 are ready for job<br>
        srun: error: timeout waiting for task launch, started 0 of 1
        tasks<br>
        srun: launch/slurm: launch_p_step_launch: StepId=29.interactive
        aborted before step completely launched.<br>
        srun: Job step aborted: Waiting up to 32 seconds for job step to
        finish.<br>
        srun: error: Timed out waiting for job step to complete<br>
        salloc: Relinquishing job allocation 29<br>
        [pbisbal@ranger ~]$ <br>
        <br>
      </p>
      <p><br>
      </p>
      <p><br>
      </p>
      <div class="moz-cite-prefix">On 5/19/23 11:28 AM, Brian Andrus
        wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:dc9c3457-560b-a801-3ca8-e9889bd96eac@gmail.com">
        <meta http-equiv="Content-Type" content="text/html;
          charset=UTF-8">
        <p>Defaulting to a shell for salloc is a newer feature.</p>
        <p>For your version, you should:</p>
        <p>    srun -n 1 -t 00:10:00 --mem=1G --pty bash</p>
        <p>Brian Andrus<br>
        </p>
        <div class="moz-cite-prefix">On 5/19/2023 8:24 AM, Ryan
          Novosielski wrote:<br>
        </div>
        <blockquote type="cite"
          cite="mid:F5B30A35-AB12-41A8-A4C8-9D3DE17C9547@rutgers.edu">
          <meta http-equiv="Content-Type" content="text/html;
            charset=UTF-8">
          I’m not at a computer, and we run an older version of Slurm
          yet so I can’t say with 100% confidence that his this has
          changed and I can’t be too specific, but I know that this is
          the behavior you should expect from that command. I believe
          that there are configuration options to make it behave
          differently.
          <div><br>
          </div>
          <div>Otherwise, you can use srun to run commands on the
            assigned node.</div>
          <div><br>
          </div>
          <div>I think if you search this list for “interactive,” or
            search the Slurm bugs database, you will see some other
            conversations about this.<br>
            <br>
            <div dir="ltr">Sent from my iPhone</div>
            <div dir="ltr"><br>
              <blockquote type="cite">On May 19, 2023, at 10:35,
                Prentice Bisbal <a class="moz-txt-link-rfc2396E"
                  href="mailto:pbisbal@pppl.gov" moz-do-not-send="true"><pbisbal@pppl.gov></a>
                wrote:<br>
                <br>
              </blockquote>
            </div>
            <blockquote type="cite">
              <div dir="ltr">
                <p>I'm setting up Slurm from scratch for the first time
                  ever. Using 22.05.8 since I haven't had a changed to
                  upgrade our DB server to 23.02 yet. When I try to use
                  salloc to get a shell on a compute node
                  (ranger-s22-07), I end up with a shell on the login
                  node (ranger): <br>
                </p>
                <pre><font size="4">[pbisbal@ranger ~]$ salloc -n 1 -t 00:10:00  --mem=1G
salloc: Granted job allocation 23
salloc: Waiting for resource configuration
salloc: Nodes ranger-s22-07 are ready for job
[pbisbal@ranger ~]$ </font>

</pre>
                <p>Any ideas what's going wrong here? I have the
                  following line in my slurm.conf: <br>
                </p>
                <pre><font size="4">LaunchParameters=user_interactive_step
</font></pre>
                <p>When I run salloc with -vvvvv, here's what I see: <br>
                </p>
                <pre>[pbisbal@ranger ~]$ salloc -vvvvv -n 1 -t 00:10:00  --mem=1G
salloc: defined options
salloc: -------------------- --------------------
salloc: mem                 : 1G
salloc: ntasks              : 1
salloc: time                : 00:10:00
salloc: verbose             : 5
salloc: -------------------- --------------------
salloc: end of defined options
salloc: debug3: Trying to load plugin /usr/lib64/slurm/select_cons_res.so
salloc: debug3: plugin_load_from_file->_verify_syms: found Slurm plugin name:Consumable Resources (CR) Node Selection plugin type:select/cons_res version:0x160508
salloc: select/cons_res: common_init: select/cons_res loaded
salloc: debug3: Success.
salloc: debug3: Trying to load plugin /usr/lib64/slurm/select_cons_tres.so
salloc: debug3: plugin_load_from_file->_verify_syms: found Slurm plugin name:Trackable RESources (TRES) Selection plugin type:select/cons_tres version:0x160508
salloc: select/cons_tres: common_init: select/cons_tres loaded
salloc: debug3: Success.
salloc: debug3: Trying to load plugin /usr/lib64/slurm/select_cray_aries.so
salloc: debug3: plugin_load_from_file->_verify_syms: found Slurm plugin name:Cray/Aries node selection plugin type:select/cray_aries version:0x160508
salloc: select/cray_aries: init: Cray/Aries node selection plugin loaded
salloc: debug3: Success.
salloc: debug3: Trying to load plugin /usr/lib64/slurm/select_linear.so
salloc: debug3: plugin_load_from_file->_verify_syms: found Slurm plugin name:Linear node selection plugin type:select/linear version:0x160508
salloc: select/linear: init: Linear node selection plugin loaded with argument 20
salloc: debug3: Success.
salloc: debug:  Entering slurm_allocation_msg_thr_create()
salloc: debug:  port from net_stream_listen is 43881
salloc: debug:  Entering _msg_thr_internal
salloc: debug4: eio: handling events for 1 objects
salloc: debug3: eio_message_socket_readable: shutdown 0 fd 6
salloc: debug3: Trying to load plugin /usr/lib64/slurm/auth_munge.so
salloc: debug3: plugin_load_from_file->_verify_syms: found Slurm plugin name:Munge authentication plugin type:auth/munge version:0x160508
salloc: debug:  auth/munge: init: Munge authentication plugin loaded
salloc: debug3: Success.
salloc: debug3: Trying to load plugin /usr/lib64/slurm/hash_k12.so
salloc: debug3: plugin_load_from_file->_verify_syms: found Slurm plugin name:KangarooTwelve hash plugin type:hash/k12 version:0x160508
salloc: debug:  hash/k12: init: init: KangarooTwelve hash plugin loaded
salloc: debug3: Success.
salloc: Granted job allocation 24
salloc: Waiting for resource configuration
salloc: Nodes ranger-s22-07 are ready for job
salloc: debug:  laying out the 1 tasks on 1 hosts ranger-s22-07 dist 8192
[pbisbal@ranger ~]$ </pre>
                <p>This is all I see in /var/log/slurm/slurmd.log on the
                  compute node: <br>
                </p>
                <pre>[2023-05-19T10:21:36.898] [24.extern] task/cgroup: _memcg_initialize: job: alloc=1024MB mem.limit=1024MB memsw.limit=unlimited
[2023-05-19T10:21:36.899] [24.extern] task/cgroup: _memcg_initialize: step: alloc=1024MB mem.limit=1024MB memsw.limit=unlimited

</pre>
                And this is all I see in /var/log/slurm/slurmctld.log on
                the controller: <br>
                <br>
                <pre>[2023-05-19T10:18:16.815] sched: _slurm_rpc_allocate_resources JobId=23 NodeList=ranger-s22-07 usec=1136
[2023-05-19T10:18:22.423] Time limit exhausted for JobId=22
[2023-05-19T10:21:36.861] sched: _slurm_rpc_allocate_resources JobId=24 NodeList=ranger-s22-07 usec=1039</pre>
                Here's my slurm.conf file: <br>
                <br>
                <pre># grep -v ^# /etc/slurm/slurm.conf  | grep -v ^$ </pre>
                <pre>ClusterName=ranger
SlurmctldHost=ranger-master
EnforcePartLimits=ALL
JobSubmitPlugins=lua,require_timelimit
LaunchParameters=user_interactive_step
MaxStepCount=2500
MaxTasksPerNode=32
MpiDefault=none
ProctrackType=proctrack/cgroup
PrologFlags=contain
ReturnToService=0
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmctldPort=6817
SlurmdPidFile=/var/run/slurmd.pid
SlurmdPort=6818
SlurmdSpoolDir=/var/spool/slurmd
SlurmUser=slurm
StateSaveLocation=/var/spool/slurmctld
SwitchType=switch/none
TaskPlugin=task/affinity,task/cgroup
TopologyPlugin=topology/tree
CompleteWait=32
InactiveLimit=0
KillWait=30
MinJobAge=300
SlurmctldTimeout=120
SlurmdTimeout=300
Waittime=0|
DefMemPerCPU=5000
SchedulerType=sched/backfill
SelectType=select/cons_tres
SelectTypeParameters=CR_Core_Memory
PriorityType=priority/multifactor
PriorityDecayHalfLife=15-0
PriorityCalcPeriod=15
PriorityFavorSmall=NO
PriorityMaxAge=180-0
PriorityWeightAge=5000
PriorityWeightFairshare=5000
PriorityWeightJobSize=5000
AccountingStorageEnforce=all
AccountingStorageHost=slurm.pppl.gov
AccountingStorageType=accounting_storage/slurmdbd
AccountingStoreFlags=job_script
JobCompType=jobcomp/none
JobAcctGatherFrequency=30
JobAcctGatherParams=UsePss
JobAcctGatherType=jobacct_gather/cgroup
SlurmctldDebug=info
SlurmctldLogFile=/var/log/slurm/slurmctld.log
SlurmdDebug=info
SlurmdLogFile=/var/log/slurm/slurmd.log
NodeName=ranger-s22-07 CPUs=72 Boards=1 SocketsPerBoard=4 CoresPerSocket=18 ThreadsPerCore=1 RealMemory=384880 State=UNKNOWN
PartitionName=all Nodes=ALL Default=YES GraceTime=300 MaxTime=24:00:00 State=UP</pre>
                <pre class="moz-signature" cols="72">-- 
Prentice </pre>
              </div>
            </blockquote>
          </div>
        </blockquote>
      </blockquote>
    </blockquote>
  </body>
</html>