Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/customizer/grpo-training.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ GRPO fails at submit, before any GPU is claimed, unless the platform operator ha

If a submit fails on either of the first two, that is a platform configuration gap, not a problem with your package. Neither is settable per job.

Installing OpenSandbox is a separate operator task: [OpenSandbox](/documentation/kubernetes-deployment/setup/helm/opensandbox), or [OpenSandbox with Kata](/documentation/kubernetes-deployment/setup/helm/opensandbox-kata) for the Kata runtime.
Installing OpenSandbox is a separate operator task: [OpenSandbox](/documentation/kubernetes-deployment/setup/helm/open-sandbox), or [OpenSandbox with Kata](/documentation/kubernetes-deployment/setup/helm/opensandbox-kata) for the Kata runtime.

## Next Steps

Expand Down
4 changes: 2 additions & 2 deletions docs/customizer/tutorials/grpo-environment-packages.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Do not put `.jsonl` in the environment package. If a Gym config lists `datasets[
Before packaging an environment, ensure you have:

1. **A NeMo Platform configured with `platform.runtime: kubernetes`** — GRPO provisions a Ray cluster and has no local Docker fallback
2. **Sandboxed Gym enabled on the cluster** by your platform operator (`sandbox_cluster_capable` and a job-storage PVC claim). Refer to [Cluster prerequisites](/documentation/customizer-reference/grpo-and-reward-environments#cluster-prerequisites); installing OpenSandbox is covered in [OpenSandbox](/documentation/kubernetes-deployment/setup/helm/opensandbox)
2. **Sandboxed Gym enabled on the cluster** by your platform operator (`sandbox_cluster_capable` and a job-storage PVC claim). Refer to [Cluster prerequisites](/documentation/customizer-reference/grpo-and-reward-environments#cluster-prerequisites); installing OpenSandbox is covered in [OpenSandbox](/documentation/kubernetes-deployment/setup/helm/open-sandbox)
3. **The `nemo` CLI on your `PATH`**, or a source checkout where `uv run --package nmp-rl` resolves
4. **The training image tag** your cluster runs — vendoring a wheel closure requires the `nemo-gym`, `ray`, and `openai` versions it reports
5. **A machine with internet access** for the packaging step. Training clusters consume uploaded FileSets only. For details on which environment type require internet access too, see details below.
Expand Down Expand Up @@ -430,7 +430,7 @@ nemo files upload ./weather-env/ weather-env --workspace default
nemo files list weather-env --workspace default
```

Job JSON: [GRPO and Reward Environments](/documentation/customizer-reference/grpo-and-reward-environments#submit-the-job). Sandboxed Gym is configured on the platform (`NMP_RL_SANDBOXED_GYM_DEFAULT`), not in the job payload. Cluster setup: [OpenSandbox](/documentation/kubernetes-deployment/setup/helm/opensandbox).
Job JSON: [GRPO and Reward Environments](/documentation/customizer-reference/grpo-and-reward-environments#submit-the-job). Sandboxed Gym is configured on the platform (`NMP_RL_SANDBOXED_GYM_DEFAULT`), not in the job payload. Cluster setup: [OpenSandbox](/documentation/kubernetes-deployment/setup/helm/open-sandbox).

## Next Steps

Expand Down
9 changes: 9 additions & 0 deletions docs/fern/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,15 @@ redirects:
# Sphinx page URLs (foo.html); must follow all :path*/index.html rules above
- source: "/:path*.html"
destination: "/:path*"
# NV 6722631: OpenSandbox how-to live slug is open-sandbox.
- source: "/documentation/self-managed-deployment/setup/helm/opensandbox"
destination: "/documentation/kubernetes-deployment/setup/helm/open-sandbox"
- source: "/latest/documentation/self-managed-deployment/setup/helm/opensandbox"
destination: "/latest/documentation/kubernetes-deployment/setup/helm/open-sandbox"
- source: "/documentation/kubernetes-deployment/setup/helm/opensandbox"
destination: "/documentation/kubernetes-deployment/setup/helm/open-sandbox"
- source: "/latest/documentation/kubernetes-deployment/setup/helm/opensandbox"
destination: "/latest/documentation/kubernetes-deployment/setup/helm/open-sandbox"
# NV 6722623: published hrefs still use the old self-managed-deployment nav slug.
- source: "/documentation/self-managed-deployment/helm"
destination: "/documentation/kubernetes-deployment/setup/helm"
Expand Down
1 change: 1 addition & 0 deletions docs/fern/versions/latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,7 @@ navigation:
- page: Volcano
path: ../../set-up/helm/volcano.mdx
- page: OpenSandbox
slug: open-sandbox
path: ../../set-up/helm/opensandbox.mdx
- page: OpenSandbox with Kata
slug: opensandbox-kata
Expand Down
2 changes: 1 addition & 1 deletion docs/set-up/helm/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Install the Volcano scheduler for multi-node jobs. The chart does not install Vo
<small><span class="md-tag">cluster-admin</span></small>

</Card>
<Card title="OpenSandbox" href="/documentation/kubernetes-deployment/setup/helm/opensandbox">
<Card title="OpenSandbox" href="/documentation/kubernetes-deployment/setup/helm/open-sandbox">

Install OpenSandbox with the shared-kernel / default runtime path and point jobs at the in-cluster server.

Expand Down
2 changes: 1 addition & 1 deletion docs/set-up/helm/install.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ The chart does not install these. Install them before the workloads that need th

- [Volcano](/documentation/kubernetes-deployment/setup/helm/volcano), required for multi-node scheduling
- [Kyverno](/documentation/kubernetes-deployment/setup/helm/multinode-networking), required for multi-node NCCL device injection
- [OpenSandbox](/documentation/kubernetes-deployment/setup/helm/opensandbox) required for sandboxed GRPO; [Kata](/documentation/kubernetes-deployment/setup/helm/opensandbox-kata) for VM-isolated sandboxes
- [OpenSandbox](/documentation/kubernetes-deployment/setup/helm/open-sandbox) required for sandboxed GRPO; [Kata](/documentation/kubernetes-deployment/setup/helm/opensandbox-kata) for VM-isolated sandboxes

## Install the chart

Expand Down
2 changes: 1 addition & 1 deletion docs/set-up/helm/opensandbox-kata.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: "Install Kata Containers and an OpenSandbox server that pins sandbo
---
<a id="install-opensandbox-kata"></a>

Use this path when **sandboxed GRPO / NeMo Gym** sandbox pods must be isolated from the host kernel. We document **Kata QEMU** (`RuntimeClass/kata-qemu`) because it runs each sandbox in a QEMU VM with its own guest kernel. Other kernel-isolated runtimes (for example Kata Firecracker, or a different hardware-isolated RuntimeClass) may work the same way, but they have **not been tested** with NeMo Platform. **Kata is optional**; most installs only need the [shared-kernel OpenSandbox](/documentation/kubernetes-deployment/setup/helm/opensandbox) path. This does **not** sandbox the rest of the platform (API, DPO, SFT, inference).
Use this path when **sandboxed GRPO / NeMo Gym** sandbox pods must be isolated from the host kernel. We document **Kata QEMU** (`RuntimeClass/kata-qemu`) because it runs each sandbox in a QEMU VM with its own guest kernel. Other kernel-isolated runtimes (for example Kata Firecracker, or a different hardware-isolated RuntimeClass) may work the same way, but they have **not been tested** with NeMo Platform. **Kata is optional**; most installs only need the [shared-kernel OpenSandbox](/documentation/kubernetes-deployment/setup/helm/open-sandbox) path. This does **not** sandbox the rest of the platform (API, DPO, SFT, inference).

Complete the OpenSandbox namespace, Secret, and platform-values steps first; this page only adds virtualization prerequisites and the Kata server overlay.

Expand Down
Loading