Slurm OpenAPI Release Notes

These Release Notes are maintained to provide OpenAPI client programmers a guide to where changes have taken place in the OpenAPI specifications.

All paths given are formatted for use with jq. Make sure to always place the paths in a single quote string to avoid shell replacements.

Slurm 21.08.8

openapi/dbv0.0.37 (src/plugins/openapi/dbv0.0.37/openapi.json)

Move response fields in dbv0.0.37_diag under "statistics"

new parent field
  • .components.schemas."dbv0.0.37_diag".properties.statistics
subordinated fields
  • .components.schemas."dbv0.0.37_diag".properties.time_start
  • .components.schemas."dbv0.0.37_diag".properties.rollups
  • .components.schemas."dbv0.0.37_diag".properties.RPCs
  • .components.schemas."dbv0.0.37_diag".properties.users

Slurm 21.08.7

openapi/v0.0.37 (src/plugins/openapi/v0.0.37/openapi.json)

Fix misspelling: change account_gather_freqency to account_gather_frequency (only the spec was wrong; the underlying code already worked with the correct spelling).

previous path .components.schemas."v0.0.37_job_properties".properties.account_gather_freqency
new path .components.schemas."v0.0.37_job_properties".properties.account_gather_frequency

Fix misspelling: change cluster_constraints to cluster_constraint (only the spec was wrong; the underlying code already worked with the correct spelling).

previous path .components.schemas."v0.0.37_job_properties".properties.cluster_constraints
new path .components.schemas."v0.0.37_job_properties".properties.cluster_constraint

Slurm 21.08.6

openapi/dbv0.0.37 (src/plugins/openapi/dbv0.0.37/openapi.json)

Add association fields

new fields
  • .components.schemas."dbv0.0.37_association".properties.is_default
  • .components.schemas."dbv0.0.37_association".properties.max.tres.group.minutes
  • .components.schemas."dbv0.0.37_association".properties.max.tres.group.active
  • .components.schemas."dbv0.0.37_association".properties.max.jobs.active
  • .components.schemas."dbv0.0.37_association".properties.max.jobs.accruing
  • .components.schemas."dbv0.0.37_association".properties.max.jobs.total
  • .components.schemas."dbv0.0.37_association".properties.max.tres.minutes.per.job

Move incorrectly named field

old path .components.schemas."dbv0.0.37_qos".properties.limits.max.jobs.per.account
new path .components.schemas."dbv0.0.37_qos".properties.limits.max.jobs.active_jobs.per.account

Move incorrectly named field

old path .components.schemas."dbv0.0.37_qos".properties.limits.properties.max.properties.jobs.properties.per.properties.user
new path .components.schemas."dbv0.0.37_qos".properties.limits.properties.max.properties.jobs.properties.active_jobs.properties.per.properties.user

Add QOS fields

new fields
  • .components.schemas."dbv0.0.37_qos".properties.limits.properties.factor
  • .components.schemas."dbv0.0.37_qos".properties.limits.properties.max.properties.accruing.properties.per.properties.account
  • .components.schemas."dbv0.0.37_qos".properties.limits.properties.max.properties.accruing.properties.per.properties.user

Slurm 21.08.3

openapi/v0.0.37 (src/plugins/openapi/v0.0.37/openapi.json)

Allow strings for JobIds instead of only numerical JobIds.

Change job_id parameter to string
  • .paths."/job/{job_id}".get.parameters[].schema
  • .paths."/job/{job_id}".post.parameters[].schema
  • .paths."/job/{job_id}".delete.parameters[].schema

openapi/dbv0.0.37 (src/plugins/openapi/dbv0.0.37/openapi.json)

Correct placement of step TRES

previous path .components.schemas."dbv0.0.37_job_step".properties.step.properties.tres
new path .components.schemas."dbv0.0.37_job_step".properties.tres

openapi/dbv0.0.36 (src/plugins/openapi/dbv0.0.36/openapi.json)

Correct placement of step TRES

previous path .components.schemas."dbv0.0.36_job_step".properties.step.properties.tres
new path .components.schemas."dbv0.0.36_job_step".properties.tres

Slurm 21.08.0

All of the OpenAPI plugins have moved from "src/slurmrestd/plugins/openapi/" to "src/plugins/openapi/".

openapi/v0.0.35 (src/plugins/openapi/v0.0.35/openapi.json)

Deprecation notice

The v0.0.35 plugin has now been deprecated.

openapi/dbv0.0.37 (src/plugins/openapi/dbv0.0.37/openapi.json)

add plugin

new dbv0.0.37 openapi plugin
  • clone of existing dbv0.0.36 openapi plugin
  • all paths renamed from v0.0.36 to v0.0.37

rename previous -> reason

previous path .components.schemas."dbv0.0.37_job".properties.state.previous
new path .components.schemas."dbv0.0.37_job".properties.state.reason

openapi/v0.0.37 (src/plugins/openapi/v0.0.37/openapi.json)

add plugin

new v0.0.37 openapi plugin
  • clone of existing v0.0.36 openapi plugin
  • all paths renamed from v0.0.36 to v0.0.37

rename standard_in -> standard_input

previous path .components.schemas."v0.0.37_job_response_properties".properties.standard_in
new path .components.schemas."v0.0.37_job_response_properties".properties.standard_input

rename standard_out -> standard_output

previous path .components.schemas."v0.0.37_job_response_properties".properties.standard_out
new path .components.schemas."v0.0.37_job_response_properties".properties.standard_output

Add update_time field to Jobs query to allow clients to only get jobs list based on change timestamp.

new path .paths."/jobs/".get.parameters[0]

add api to fetch reservation(s) info

added path .paths."/reservations/"
added path .paths."/reservation/{reservation_name}"
added path .components.schemas."v0.0.37_reservation"

Mark job environment as required

new path .components.schemas."v0.0.37_job_properties".required

Correct preemption_mode type to list of strings

modify path .components.schemas."v0.0.37_partition".properties.preemption_mode

Set UNIX timestamps to int64 instead of string

modify path .components.schemas."v0.0.37_job_response_properties".properties.accrue_time
modify path .components.schemas."v0.0.37_job_response_properties".properties.eligible_time
modify path .components.schemas."v0.0.37_job_response_properties".properties.end_time
modify path .components.schemas."v0.0.37_job_response_properties".properties.preempt_time
modify path .components.schemas."v0.0.37_job_response_properties".properties.pre_sus_time
modify path .components.schemas."v0.0.37_job_response_properties".properties.resize_time

Add new fields to node properties

add path .components.schemas."v0.0.37_node".properties.tres_used
add path .components.schemas."v0.0.37_node".properties.tres_weighted
add path .components.schemas."v0.0.37_node".properties.alloc_cpus
add path .components.schemas."v0.0.37_node".properties.idle_cpus
add path .components.schemas."v0.0.37_node".properties.alloc_memory
add path .components.schemas."v0.0.37_node".properties.partitions

replace nodes_online with state in /partitions endpoint

removed path .components.schemas."v0.0.37_partitions_response".nodes_online
added path .components.schemas."v0.0.37_partitions_response".state

Add POST method for /associations

new path .paths."/associations/".post
new path .components.schemas."dbv0.0.37_response_associations"

Slurm 20.11.5

openapi/dbv0.0.36 (src/slurmrestd/plugins/openapi/dbv0.0.36/openapi.json)

Mark job environment as required

new path .components.schemas."v0.0.36_job_properties".required

Add state flags

new path .components.schemas."v0.0.37_node".properties.state_flags
new path .components.schemas."v0.0.37_node".properties.next_state_after_reboot_flags

Correct description for previous state

path .components.schemas."dbv0.0.36_job".properties.state.properties.previous

Slurm 20.11.3

openapi/dbv0.0.36 (src/slurmrestd/plugins/openapi/dbv0.0.36/openapi.json)

Correct structure of dbv0.0.36_tres_list

path .components.schemas."dbv0.0.36_tres_list"

Accept Job Query CSV parameters as a list (JSON array)

path .paths."/jobs/".get.parameters

Slurm 20.11.1

openapi/v0.0.36 (src/slurmrestd/plugins/openapi/v0.0.36/openapi.json)

Correct name for partition field

previous path .components.schemas."v0.0.36_partition".properties."min nodes per job"
new path .components.schemas."v0.0.36_partition".properties."min_nodes_per_job"

Add node comment field

new path .components.schemas."v0.0.36_node".properties.comment

Slurm 20.11.0

openapi/dbv0.0.36 (src/slurmrestd/plugins/openapi/dbv0.0.36/openapi.json)

Inital Implementation of database queries.

openapi/v0.0.36 (src/slurmrestd/plugins/openapi/v0.0.36/openapi.json)

add plugin

new v0.0.36 openapi plugin
  • clone of existing v0.0.35 openapi plugin.
  • all paths renamed from v0.0.35 to v0.0.36.

Add error schema

path .components.schemas."v0.0.36_error"

return array of nodes instead of dictionary

path .components.schemas."v0.0.36_nodes_response"

return array of partitions instead of dictionary

path .components.schemas."v0.0.36_partitions_response"

return array of pings instead of dictionary

path .components.schemas."v0.0.36_ping"

Simplify possible signals for canceling jobs

path .paths."/job/{job_id}".delete.parameters[1]

Simplify exclusive for jobs submissions

path .components.schemas."v0.0.36_job_properties".properties.exclusive

Simplify nodes for jobs submissions

path .components.schemas."v0.0.36_job_properties".properties.nodes

Change server URL

previous .servers[0].url=/
new .servers[0].url=/slurm/v0.0.36/

Add operationId tag

parent path .paths

prepend every schema with v0.0.36_

parent path .components.schemas

add tags openapi and slurm

new path .tags

add support contact

new path .info.contact

populate response from partitions query

new path .components.schemas.partitions_response

rename "node_info" to "nodes_response"

removed path .components.schemas.node_info
new path .components.schemas.nodes_response

add jobs query response properties

new path .components.schemas.diag

define response to diag

new path .components.schemas.diag

add job query response properties

new path .components.schemas.job_response_properties

remove "requested_node_by_index"

removed path .components.schemas.job_response_properties.properties.requested_node_by_index

rename "pn_min_tmp_disk" to "minimum_tmp_disk_per_node"

removed path .components.schemas.job_response_properties.properties.pn_min_tmp_disk
new path .components.schemas.job_response_properties.properties.minimum_tmp_disk_per_node

renamed "nodes" to "node_count"

removed path .components.schemas.job_response_properties.properties.nodes
new path .components.schemas.job_response_properties.properties.node_count

add get job responses schema

new path .components.schemas.job_submission_response

use job_submission for job_submit instead of job_properties

changed field .paths."/job/submit".requestBody.content."application/json"
changed field .paths."/job/submit".requestBody.content."application/x-yaml"
new path .components.schemas.job_submission

Set type for "job_properties" schema

new path .components.schemas.v0.0.36_job_properties.properties.type

add security bearer

new path .security

Slurm 20.02

v0.0.35 (src/slurmrestd/ops/openapi.json)

Inital Implementation of Slurm REST API.


Last modified 18 March 2022