Slurm OpenAPI Plugin Release Notes
These release notes are maintained to provide OpenAPI client programmers a guide to where changes have taken place in the OpenAPI specifications from the OpenAPI plugins which are mainly used by slurmrestd but are also used to generate JSON or YAML output for multiple CLI commands.
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 22.05.0
openapi/dbv0.0.38 (src/plugins/openapi/dbv0.0.38/openapi.json)
add plugin
new dbv0.0.38 openapi plugin |
|
Add POST method for /associations
new path | .paths."/associations/".post |
new path | .components.schemas."dbv0.0.38_response_associations" |
Correct placement of step TRES
previous path | .components.schemas."dbv0.0.38_job_step".properties.step.properties.tres |
new path | .components.schemas."dbv0.0.38_job_step".properties.tres |
Add association fields
new fields |
|
Add error response contents
new fields |
|
Move incorrectly named field
old path | .components.schemas."dbv0.0.38_qos".properties.limits.max.jobs.per.account |
new path | .components.schemas."dbv0.0.38_qos".properties.limits.max.jobs.active_jobs.per.account |
Move incorrectly named field
old path | .components.schemas."dbv0.0.38_qos".properties.limits.properties.max.properties.jobs.properties.per.properties.user |
new path | .components.schemas."dbv0.0.38_qos".properties.limits.properties.max.properties.jobs.properties.active_jobs.properties.per.properties.user |
Add QOS fields
new fields |
|
Add diag fields
new fields |
|
Split up token and user
change array values |
|
Add meta entry
field added |
|
Add missing response field
new fields |
|
Switch field from object to array
modified field |
|
Add missing field
new field |
|
Correct field type to reference
modified field |
|
Add requestBody field and associated schema
new fields |
|
Correct parameter styles to "form"
modified fields |
|
Change operationId naming schema to include url path
modified fields |
|
Fix issue where association's QOS list consisted of IDs instead of names
modified fields |
|
Add POST method for /qos
new method | .paths."/qos/".post |
new path | .components.schemas."dbv0.0.38_response_qos" |
new path | .components.schemas."dbv0.0.38_update_qos" |
Move response fields in dbv0.0.37_diag under "statistics"
new parent field |
|
subordinated fields |
|
Allow strings for JobIds instead of only numerical JobIds.
Change job_id parameter to string |
|
Add with_deleted input parameter to GET /user, /users
New parameter |
|
Add deleted flag to /user, /users output
New property |
|
Add with_deleted input parameter to GET /qos
New parameter |
|
Add with_deleted input parameter to GET /account, /accounts
New parameter |
|
Add container field to job description
new fields |
|
Enforce limit to only DELETE or GET a single association instead of using required parameters.
changed value |
|
Add filter parameters to GET /associations
new method |
|
openapi/dbv0.0.36 (src/plugins/openapi/dbv0.0.36/openapi.json)
Deprecation notice
The dbv0.0.36 plugin has now been marked as deprecated.openapi/v0.0.38 (src/plugins/openapi/v0.0.38/openapi.json)
add plugin
new v0.0.38 openapi plugin |
|
Allow strings for JobIds instead of only numerical JobIds.
Change job_id parameter to string |
|
Correct multiple type mistakes
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.array_job_id |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.array_task_id |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.array_max_tasks |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.association_id |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.billable_tres |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.deadline |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.delay_boot |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.derived_exit_code |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.group_id |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.job_id |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.last_sched_evaluation |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.max_cpus |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.max_nodes |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.nice |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.tasks_per_core |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.tasks_per_socket |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.tasks_per_board |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.cpus |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.node_count |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.tasks |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.het_job_id |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.het_job_offset |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.memory_per_node |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.memory_per_cpu |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.minimum_cpus_per_node |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.minimum_tmp_disk_per_node |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.priority |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.restart_cnt |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.sockets_per_board |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.sockets_per_node |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.time_limit |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.time_minimum |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.threads_per_core |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.user_id |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.allocated_nodes |
modified entry | .components.schemas."v0.0.38_job_response_properties".properties.cpus |
Fix errant space after JOB_CPUS_SET flag.
Fix response. |
|
Add new /licenses endpoint
add |
|
Add meta entry
field added |
|
Add error response contents
new fields |
|
Rename errno to error_number
rename |
|
Correct parameter styles to "form"
modified fields |
|
Change operationId naming schema to include url path
modified fields |
|
Response changed to move "cores" into "sockets" to differentiate which cores and sockets are allocated. Changed from named dictionary of node names to array containing objects with nodename set.
Updated response. |
|
New fields add to diag endpoint
new fields |
|
Add container field to job description
new fields |
|
Add method to delete associations using filters
new method |
|
Rename response schema entry
previous path | .components.schemas."dbv0.0.38_response_association_delete" |
new path | .components.schemas."dbv0.0.38_response_associations_delete" |
openapi/v0.0.36 (src/plugins/openapi/v0.0.36/openapi.json)
Deprecation notice
The v0.0.36 plugin has now been marked as deprecated.openapi/v0.0.35 (src/plugins/openapi/v0.0.35/openapi.json)
Removal notice
The v0.0.35 plugin has now been removed.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 |
|
subordinated fields |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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
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
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
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 |
|
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 25 November 2021