forked from SchedMD/slurm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRELEASE_NOTES
130 lines (120 loc) · 7.17 KB
/
RELEASE_NOTES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
RELEASE NOTES FOR SLURM VERSION 23.11
IMPORTANT NOTES:
If using the slurmdbd (Slurm DataBase Daemon) you must update this first.
NOTE: If using a backup DBD you must start the primary first to do any
database conversion, the backup will not start until this has happened.
The 23.11 slurmdbd will work with Slurm daemons of version 21.08 and above.
You will not need to update all clusters at the same time, but it is very
important to update slurmdbd first and having it running before updating
any other clusters making use of it.
Slurm can be upgraded from version 22.05 or 23.02 to version 23.11 without loss
of jobs or other state information. Upgrading directly from an earlier version
of Slurm will result in loss of state information.
All SPANK plugins must be recompiled when upgrading from any Slurm version
prior to 23.11.
HIGHLIGHTS
==========
-- Remove 'none' plugins for all but auth and cred. scontrol show config
will report (null) now.
-- Removed select/cons_res. Please update your configuration to
select/cons_tres.
-- Change TreeWidth default from 50 to 16.
-- job_submit/throttle - improve reset of submitted job counts per user in
order to better honor SchedulerParameters=jobs_per_user_per_hour=#.
-- Allow SlurmUser/root to use reservations without specific permissions.
-- Add route/partition plugin to route communications based on partition node
lists.
-- Added ability for configless to push Prolog and Epilog scripts to slurmds.
-- Added --external-launcher option to srun to allow different MPI
implementations to run their launcher (orte, hydra, etc.) inside a special
step with access to all the allocated resources in the node, and without
consuming any of them, allowing for other steps to run concurrently now.
-- Replace SRUN_CPUS_PER_TASK with SLURM_CPUS_PER_TASK and get back to the
behavior before Slurm 22.05. Starting in Slurm 22.05, --cpus-per-task
implies --exact which is why we needed to make srun not read
SLURM_CPUS_PER_TASK. Since now we have the new external launcher step,
(srun --external-launcher), srun can read this env variable from within
an allocation again, so even if -c1 is set, mpirun will run and won't be
bound to a single cpu.
-- Enable streaming replication for Galera 4 during upgrades.
CONFIGURATION FILE CHANGES (see appropriate man page for details)
=====================================================================
-- Removed JobCredentialPrivateKey and JobCredentialPublicCertificate
parameters.
-- Added max_submit_line_size to SchedulerParameters.
-- cgroup.conf - Removed deprecated parameters AllowedKmemSpace,
ConstrainKmemSpace, MaxKmemPercent, and MinKmemSpace.
-- proctrack/cgroup - Add "SignalChildrenProcesses=<yes|no>" option to
cgroup.conf. This allows signals for cancelling, suspending, resuming, etc.
to be sent to children processes in a step/job rather than just the parent.
-- Add PreemptParameters=suspend_grace_time parameter to control amount of
time between SIGTSTP and SIGSTOP signals when suspending jobs.
-- Add SlurmctldParameters=no_quick_restart to avoid a new slurmctld taking
over the old slurmctld on accident.
-- Changed the default SelectType to select/cons_tres (from select/linear).
-- Remove CgroupAutomount= option from cgroup.conf. Modern kernels mount the
cgroup file system automatically. CgroupAutomount could cause a cgroup v2
system to be configured in a hybrid v1 and v2 system. The cgroup/v1 plugin
will now fail if the cgroup filesystem is not mounted.
-- Prolog and Epilog do not have to be fully qualified pathnames.
-- Changed default value of PriorityType from priority/basic to
priority/multifactor.
-- Allow for a shared suffix to be used with the hostlist format. E.g.,
"node[0001-0010]-int".
COMMAND CHANGES (see man pages for details)
===========================================
-- scontrol show assoc_mgr will display Lineage instead of Lft for
associations.
-- sacctmgr list associations 'lft' column is removed.
-- sacctmgr list associations 'lineage' has been added.
-- Fix --cpus-per-gpu for step allocations, which was previously ignored for
job steps. --cpus-per-gpu implies --exact.
-- Fix mutual exclusivity of --cpus-per-gpu and --cpus-per-task: fatal if both
options are requested in the commandline or both are requested in the
environment. If one option is requested in the command line, it will
override the other option in the environment.
-- slurmrestd - new argument '-s' has been added to allow explicit loading of
data_parser plugins or '-s list' to list possible plugins.
-- All commands supporting '--yaml' and '--json' arguments will now use the
data_parser/v0.0.40 plugin for formatting the output by default.
-- torque/mpiexec - Propagate exit code from launched process.
-- sbatch - removed --export-file option (used with defunct Moab integration).
-- Define SPANK options environment variables when --export=[NIL|NONE] is
specified.
-- Reject reservation update if it will result in previously submitted
jobs losing access to the reservation.
API CHANGES
===========
-- cli_filter/lua - return nil for unset time options rather than the string
"2982616-04:14:00" (which is the internal macro "NO_VAL" represented as
time string).
-- "flags" argument was added to slurm_kill_job_step().
-- Fixed typo on "initialized" for the description of ESLURM_PLUGIN_NOT_LOADED.
-- SPANK - added new spank_prepend_task_argv() function.
SLURMRESTD CHANGES
==================
-- openapi/dbv0.0.37 and openapi/v0.0.37 plugins have been removed.
-- openapi/dbv0.0.38 and openapi/v0.0.38 plugins have been tagged as
deprecated to warn of their removal in the next release.
-- New openapi plugins will no longer be versioned. Existing versioned openapi
plugins will follow normal deprecation and removal schedule. Data format
versioning will now be handled by the data_parser plugins which will now be
used by the openapi plugins.
-- data_parser plugins will now generate all schemas related to object
formatting and structure. The openapi.json files in the openapi/slurmctld
and openapi/slurmdbd directories should be considered templates only. All
openapi specifications should be queried from slurmsrestd directly as they
change depending on the loaded plugins and settings.
-- The version field in the info object of the OpenAPI specfication will now
list the Slurm version running and list out the loaded openapi plugins at
time of generation using '&' as a delimiter in loading order.
-- OpenAPI specfication from openapi/slurmctld and openapi/slurmdbd plugins is
known to be incompatible with OpenAPI Generator version 5 and below. Sites
are advised to port to OpenAPI Generator version 6 or greater for generated
clients.
-- Path parameters fields in OpenAPI specifications will now only give type as
strings for openapi/slurmctld and openapi/slurmdbd end points. The 'enum'
will now be auto-populated when parameter has list of known valid values.
Prior more detailed formatting information was found to conflict with
generated OpenAPI clients forcing limitations on the possible values not
present in Slurm's parsing capabilities.