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.0pre1

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

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 2 March 2021