Skip to content

Add QOS types and client interface for v0044#2

Open
faganihajizada wants to merge 1 commit intoSlinkyProject:mainfrom
faganihajizada:feat/qos
Open

Add QOS types and client interface for v0044#2
faganihajizada wants to merge 1 commit intoSlinkyProject:mainfrom
faganihajizada:feat/qos

Conversation

@faganihajizada
Copy link
Copy Markdown

@faganihajizada faganihajizada commented Mar 25, 2026

Summary

Add V0044 QOS wrapper types and client interface to support declarative QOS management in the slurm-operator. This enables CRUD operations against the slurmdb QOS REST API endpoints (/slurmdb/v0.0.44/qos).

New files:

  • pkg/types/V0044Qos.go: V0044Qos / V0044QosList wrapper types (same pattern as V0044ReservationInfo)
  • pkg/client/api/v0044/qos.go: QosInterface with Create, Update, Delete, Get, List
  • Tests for both

Modified:

  • pkg/client/api/v0044/v0044.go: add QosInterface to ClientInterface
  • pkg/client/client.go: wire V0044Qos / V0044QosList into all 5 CRUD type switches

Breaking Changes

N/A

Testing Notes

  • go test ./pkg/types/ -run V0044Qos
  • go test ./pkg/client/api/v0044/ -run Qos
  • go build ./... and go vet ./... pass clean

Additional Context

This is a prerequisite for the slurm-operator QOS feature (SlurmQos CRD + controller). The QOS client uses slurmdb endpoints (not slurmctld), and POST is idempotent (create-or-update), which the operator relies on for reconciliation.

PR: SlinkyProject/slurm-operator#158

@SkylerMalinowski
Copy link
Copy Markdown
Contributor

Lacks tests in client_v0044_test.go, and is missing fake client handling.

@SkylerMalinowski SkylerMalinowski self-assigned this Mar 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants