1. 13 Jun, 2018 1 commit
    • Tim Wickberg's avatar
      Remove AdminComment += syntax from 'scontrol update job'. · 1edd511f
      Tim Wickberg authored
      I do not see a use for this syntax, especially given that it appends
      an extra comma in between the two halves. Only allow the full string
      to change to put this in line with the Comment handling.
      
      Remove special handling of an identical AdminComment as well,
      since the end result is unchanged, and this avoids a potentially
      expensive xstrcmp call.
      
      Bug 5306.
      1edd511f
  2. 10 Jun, 2018 1 commit
  3. 08 Jun, 2018 1 commit
  4. 07 Jun, 2018 2 commits
  5. 06 Jun, 2018 3 commits
    • Morris Jette's avatar
      Add SetExecHost flag for cray burst buffers · f3ace3e5
      Morris Jette authored
      burst_buffer.conf - Add SetExecHost flag to enable burst buffer access
          from the login node for interactive jobs.
      f3ace3e5
    • Alejandro Sanchez's avatar
      Alter slurm_mktime() function to set tm_isdst to -1. · d6db076a
      Alejandro Sanchez authored
      And remove the initialization before all the calls to the function.
      
      It is non-functional and the motivation is more a preventive thing
      so that if we ever use slurm_mktime() we know tm_isdst is consistently
      set to -1.
      
      Bug 5230.
      d6db076a
    • Brian Christiansen's avatar
      Don't allocate downed cloud nodes · be449407
      Brian Christiansen authored
      which were marked down due to ResumeTimeout.
      
      If a cloud node was marked down due to not responding by ResumeTimeout,
      the code inadvertently added the node back to the avail_node_bitmap --
      after being cleared by set_node_down_ptr(). The scheduler would then
      attempt to allocate the node again, which would cause a loop of hitting
      ResumeTimeout and allocating the downed node again.
      
      Bug 5264
      be449407
  6. 05 Jun, 2018 1 commit
  7. 04 Jun, 2018 1 commit
  8. 02 Jun, 2018 1 commit
    • Brian Christiansen's avatar
      Fix srun to return highest signal of any task · 622f29f7
      Brian Christiansen authored
      srun would not return an exit code if a previous task exited before a
      latter task exited with a signal.
      
      If multiple tasks exit with a signal, srun returns the highest signal.
      
      Partially reverts commit 04b449e1 -- the setting of local_global_rc
      to NO_VAL as srun doesn't need to know whether it's been set or not
      anymore. srun always sets the signal if a task exited with a signal.
      
      Bug 5083
      622f29f7
  9. 31 May, 2018 1 commit
    • Alejandro Sanchez's avatar
      Fix incomplete RESPONSE_[RESOURCE|JOB_PACK]_ALLOCATION building path. · 17392e76
      Alejandro Sanchez authored
      There were two code paths building an allocation response by calling
      its own static _build_alloc_msg() function:
      
      1. src/slurmctld/proc_req.c
      2. src/slurmctld/srun_comm.c
      
      These two functions diverged and both had members that were not filled
      in but were filled in the other. This patch makes it so we change the
      signature of the one in proc_req.c to make it extern and then in
      srun_comm.c we call this newly common function.
      
      Also added cpu_freq_[min|max|gov] members in the common one since these
      were the only members missing in proc_req.c function (the one in
      srun_comm.c had more members missing, like all the ntasks_per*, account,
      qos or resv_name).
      
      Bug 4999.
      17392e76
  10. 30 May, 2018 7 commits
  11. 24 May, 2018 1 commit
    • Brian Christiansen's avatar
      Notify srun and ctld when unkillable stepd exits · 956a808d
      Brian Christiansen authored
      Commits f18390e8 and eed76f85 modified the stepd so that if the
      stepd encountered an unkillable step timeout that the stepd would just
      exit the stepd. If the stepd is a batch step then it would reply back
      to the controller with a non-zero exit code which will drain the node.
      But if an srun allocation/step were to get into the unkillable step
      code, the steps wouldn't let the waiting srun or controller know about
      the step going away -- leaving a hanging srun and job.
      
      This patch enables the stepd to notify the waiting sruns and the ctld of
      the stepd being done and drains the node for srun'ed alloction and/or
      steps.
      
      Bug 5164
      956a808d
  12. 21 May, 2018 1 commit
  13. 17 May, 2018 2 commits
  14. 16 May, 2018 2 commits
    • Morris Jette's avatar
      Add reboot node weight parameter · 5ca16284
      Morris Jette authored
      Add node_features plugin function "node_features_p_reboot_weight()" to
         return the node weight to be used for a compute node that requires reboot
         for use (e.g. to change the NUMA mode of a KNL node).
      Add NodeRebootWeight parameter to knl.conf configuration file.
      5ca16284
    • Alejandro Sanchez's avatar
      PMIx - override default paths at configure time if --with-pmix is used. · 0b7bbc73
      Alejandro Sanchez authored
      Previously the default paths continued to be tested even when new ones
      were requested. This had as a consequence that if any of the new paths
      was the same as any of the default ones (i.e. /usr or /usr/local), the
      configure script was incorrectly erroring out specifying that a version
      of PMIx was already found in a previous path.
      
      Bug 5168.
      0b7bbc73
  15. 15 May, 2018 2 commits
    • Morris Jette's avatar
      Add reboot node weight parameter · da8c8374
      Morris Jette authored
      Add node_features plugin function "node_features_p_reboot_weight()" to
         return the node weight to be used for a compute node that requires reboot
         for use (e.g. to change the NUMA mode of a KNL node).
      Add NodeRebootWeight parameter to knl.conf configuration file.
      da8c8374
    • Alejandro Sanchez's avatar
      PMIx - override default paths at configure time if --with-pmix is used. · 635c0232
      Alejandro Sanchez authored
      Previously the default paths continued to be tested even when new ones
      were requested. This had as a consequence that if any of the new paths
      was the same as any of the default ones (i.e. /usr or /usr/local), the
      configure script was incorrectly erroring out specifying that a version
      of PMIx was already found in a previous path.
      
      Bug 5168.
      635c0232
  16. 10 May, 2018 1 commit
    • Alejandro Sanchez's avatar
      Fix different issues when requesting memory per cpu/node. · bf4cb0b1
      Alejandro Sanchez authored
      
      
      First issue was identified on multi partition requests. job_limits_check()
      was overriding the original memory requests, so the next partition
      Slurm validating limits against was not using the original values. The
      solution consists in adding three members to job_details struct to
      preserve the original requests. This issue is reported in bug 4895.
      
      Second issue was memory enforcement behavior being different depending on
      job the request issued against a reservation or not.
      
      Third issue had to do with the automatic adjustments Slurm did underneath
      when the memory request exceeded the limit. These adjustments included
      increasing pn_min_cpus (even incorrectly beyond the number of cpus
      available on the nodes) or different tricks increasing cpus_per_task and
      decreasing mem_per_cpu.
      
      Fourth issue was identified when requesting the special case of 0 memory,
      which was handled inside the select plugin after the partition validations
      and thus that could be used to incorrectly bypass the limits.
      
      Issues 2-4 were identified in bug 4976.
      
      Patch also includes an entire refactor on how and when job memory is
      is both set to default values (if not requested initially) and how and
      when limits are validated.
      
      Co-authored-by: default avatarDominik Bartkiewicz <bart@schedmd.com>
      bf4cb0b1
  17. 09 May, 2018 9 commits
  18. 08 May, 2018 3 commits
    • Brian Christiansen's avatar
      Prevent slurmd from launching steps if prolog fail · 3b029021
      Brian Christiansen authored
      Bug 5146
      3b029021
    • Tim Wickberg's avatar
      Fix issue with invalid protocol_version when using srun on ppc64. · 77d65f4f
      Tim Wickberg authored
      Caused by a corrupted protocol_version field value being received
      by the slurmstepd, as we cannot safely write/read a uint16_t across
      the pipe as if it was an int.
      
      Regression caused by commit 90b116c2.
      
      Bug 5133.
      77d65f4f
    • Brian Christiansen's avatar
      Fix checkpointing requeued jobs in a bad state · f9f395af
      Brian Christiansen authored
      Requeued jobs are marked as PENDING|COMPLETING until the epilog checks
      in. The issue is that if job_set_alloc_tres gets called while in the
      PENDING|COMPLETING state, the job's alloc_tres_str will be free'd. If
      this job then gets checkpointed in this state (PENDING|COMPLETING + no
      tres_alloc_str) on startup the controller would crash because it
      expected the job to have a tres_alloc_str/cnt when in the COMPLETING
      state. This could be triggered if starting the controller without the
      dbd up. When the dbd comes up, the assoc_cache_mgr calls
      _update_job_tres() which calls job_set_alloc_tres. It could also be
      triggered by adding new tres.
      
      This most likely started happening in 17.11.5 because of commit
      865b672f which introduced calling _update_job_tres() on each job
      after the dbd comes up.
      
      Bugs 5137,4522
      f9f395af