feat(gpu): document a pgpu card's device profile - #113
Merged
github-actions[bot] merged 1 commit intoSep 14, 2026
Merged
Conversation
GET /nodes/{nodeName}/gpuCards now reports deviceProfile on each card: the
Cyborg device profile a flavor's accel:device_profile has to name in order
to be scheduled onto that card.
Only a pgpu card has one -- sriovVgpu and migBackedVgpu are scheduled
through the PCI alias already reported per profile -- so the field is null
on every other resource type, and null on a pgpu card whose profile has not
been created yet. It is never an empty string.
Refs bigstack-oss/cubecos#818
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Seki Xu <seki.xu@bigstack.co>
This was referenced Sep 14, 2026
raven-pan
added a commit
to bigstack-oss/cube-cos-ui
that referenced
this pull request
Sep 16, 2026
Points packages/cube-frontend-api/cube-cos-openapi at bigstack-oss/cube-cos-openapi#113, now on develop, which adds deviceProfile to the GPU card schema. The regenerated SDK types the field as `string | null` and keeps it required, so every card carries the key. Refs bigstack-oss/cubecos#876 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: raven-pan-bigstack <raven.pan@bigstack.co>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What type of PR is this?
Feature (docs).
Which issue(s) this PR fixes?
Refs bigstack-oss/cubecos#818
Deliberately
Refs, notFixes: #818 is a User Story whose UI (#876) and API(#886) halves are still open, so merging this must not close it.
What this PR does?
Adds
deviceProfileto every card inGET /nodes/{nodeName}/gpuCards.A pgpu card is unusable without its Cyborg device profile name — that is what a
flavor's
accel:device_profilehas to be set to — and until now the only way toobtain it was
openstack accelerator device profile listor the interactivehex_cli gpumenu, i.e. a root shell. That is exactly what the parent epic's"no root shell access needed" goal rules out.
Contract, as documented:
string | null, and inrequired, so the key is always present.pgpucard.sriovVgpuandmigBackedVgpuare scheduledthrough the PCI alias already reported on each of their profiles.
null— never""— on a pgpu card whose profile has not been created yet,or could not be looked up.
Test results
docs.yamlparses; the field lands in both therequiredlist and thepropertiesblock of the card schema (lines 15728 / 15876).This is the first of three PRs and has no dependency of its own. The other two
depend on it:
cube-cos-api: re-point theapi/cube-cos-openapisubmodule at the mergedSHA, then the handler PR
cubecos: the hex side that produces the value