Skip to content

feat(dashboard): read pods, nodes, Workloads and DRA GPUs from Kubernetes - #389

Merged
ShubyM merged 1 commit into
openrl-dev:mainfrom
ShubyM:inspect/kubernetes-source
Oct 29, 2026
Merged

ShubyM merged 1 commit into
openrl-dev:mainfrom
ShubyM:inspect/kubernetes-source

Conversation

@ShubyM

@ShubyM ShubyM commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Why

The inventory needs to show where each run's workers are and what is wrong with them. This PR adds the module that reads that from Kubernetes. It does not depend on #388. A small follow-up wires it into /inventory.

What changed

  • server.dashboard.kubernetes lists pods, Workloads, nodes, and NVIDIA ResourceSlices. It names each pod's problem, such as CrashLoopBackOff or Unschedulable.
  • A node's GPU count includes its ResourceSlice devices. Without this, DRA nodes show 0 GPUs.

Scope

No new RBAC. The API server's open-rl-sa account can already list all four resources through the base roles (open-rl-fleet-reader, open-rl-worker-launcher).

Verification

Comment thread k8s/deploy/dashboard/rbac.yaml Outdated
name: open-rl-dashboard
subjects:
- kind: ServiceAccount
name: open-rl-dashboard

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am still thinking if this should be a separate component. I am able to argue both ways ....

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My reasoning was that I wanted to isolate any like tinker specific server stuff from dashboard stuff. I agree it should be core to our service though I am also able to argue both ways

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thought more about it, since the inspect route is different from the post training api, there will be clear branching in the http router layer. I am leaning towards keeping them all in single api-server to simplify the deployment.

Not in this PR (or may be), we can have separate kubernetes SA for just the api-server with restricted permissions. WDYT ?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed standalone deployment and included the routes in the main api_server

…etes

server.dashboard.kubernetes lists pods, Workloads, nodes and NVIDIA
ResourceSlices, and turns a cluster that cannot be read into an error. A
node's GPU count includes the devices in its newest ResourceSlice generation.
The API server's open-rl-sa account can already list all four through the
base RBAC. Nothing calls this module yet.
@ShubyM
ShubyM force-pushed the inspect/kubernetes-source branch from 696fbf4 to 1b407c8 Compare October 29, 2026 17:59
@ShubyM
ShubyM merged commit 932baf4 into openrl-dev:main Oct 29, 2026
16 checks passed
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