commit | 0fcf83cc8378acafd664a52a12b7fe34e7e14286 | [log] [tgz] |
---|---|---|
author | Megan Dahl <megan@schedmd.com> | Fri Aug 08 14:41:34 2025 -0600 |
committer | Megan Dahl <megan@schedmd.com> | Tue Sep 02 16:46:36 2025 -0600 |
tree | 5d0eb9e22d5f332631e8ad1f50ee613f999d4aec | |
parent | 440742a2c5a0e6188f0b8959d6aeeab7438764e5 [diff] |
slurmrestd - Prevent fatal_abort when parsing a non-empty group id PARSE_FUNC(GROUP_ID) used the return value of data_convert_type(src, DATA_TYPE_NONE) expecting it to return all possible data types. However, this function never returns DATA_TYPE_STRING because it doesn't attempt to convert the data_t to that type. This lead to PARSE_FUNC(GROUP_ID) believing the data type was DATA_TYPE_NONE causing a fatal_abort(). This patch makes it so data_convert_type always returns the current type of the data_t. Ticket: 23400 Changelog: slurmrestd - Prevent triggering a fatal abort when parsing a non-empty group id string. This affects all endpoints with request bodies containing openapi_meta_client group field. It also affects the following endpoints: 'GET /slurmdb/v0.0.4*/jobs' 'POST /slurm/v0.0.4*/job/submit' 'POST /slurm/v0.0.4*/job/{job_id}' 'POST /slurm/v0.0.4*/job/allocate'
This is the Slurm Workload Manager. Slurm is an open-source cluster resource management and job scheduling system that strives to be simple, scalable, portable, fault-tolerant, and interconnect agnostic. Slurm currently has been tested only under Linux.
As a cluster resource manager, Slurm provides three key functions. First, it allocates exclusive and/or non-exclusive access to resources (compute nodes) to users for some duration of time so they can perform work. Second, it provides a framework for starting, executing, and monitoring work (normally a parallel job) on the set of allocated nodes. Finally, it arbitrates conflicting requests for resources by managing a queue of pending work.
The official issue tracker for Slurm is at
: https://support.schedmd.com/
We welcome code contributions and patches, but we do not accept Pull Requests through Github at this time. Please submit patches as attachments to new issues under the "C - Contributions" severity level.
The top-level distribution directory contains this README as well as other high-level documentation files, and the scripts used to configure and build Slurm (see INSTALL). Subdirectories contain the source-code for Slurm as well as a test suite and further documentation. A quick description of the subdirectories of the Slurm distribution follows:
src/ [ Slurm source ]
: Slurm source code is further organized into self explanatory subdirectories such as src/api, src/slurmctld, etc.
doc/ [ Slurm documentation ]
: The documentation directory contains some latex, html, and ascii text papers, READMEs, and guides. Manual pages for the Slurm commands and configuration files are also under the doc/ directory.
etc/ [ Slurm configuration ]
: The etc/ directory contains a sample config file, as well as some scripts useful for running Slurm.
slurm/ [ Slurm include files ]
: This directory contains installed include files, such as slurm.h and slurm_errno.h, needed for compiling against the Slurm API.
testsuite/ [ Slurm test suite ]
: The testsuite directory contains an extensive collection of tests written for Check, Expect and Pytest.
auxdir/ [ autotools directory ]
: Directory for autotools scripts and files used to configure and build Slurm
contribs/ [ helpful tools outside of Slurm proper ]
: Directory for anything that is outside of slurm proper such as a different api or such. To have this build you need to do a make contrib/install-contrib.
Please see the instructions at
: https://slurm.schedmd.com/quickstart_admin.html
Extensive documentation is available from our home page at
: https://slurm.schedmd.com/slurm.html
Slurm is provided "as is" and with no warranty. This software is distributed under the GNU General Public License, please see the files COPYING, DISCLAIMER, and LICENSE.OpenSSL for details.