Skip to content

fix(orchestration): forward explicit runtime variables to remote Slurm - #4760

Merged
prokotg merged 1 commit into
mainfrom
codex/slurm-runtime-env
Oct 20, 2026
Merged

prokotg merged 1 commit into
mainfrom
codex/slurm-runtime-env

Conversation

@Kipok

@Kipok Kipok commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Remote Slurm submissions do not inherit the submitting machine's environment. A driver configured with runtime:INFERENCE_API_KEY can therefore start successfully but fail judge calls because its credential is missing.

Add opt-in compute.<cluster>.forward_env names. The executor validates names, fails before staging if a listed variable is unset, and exports shell-quoted values before remote sbatch through SSH stdin. Values are not written into resolved configuration or job artifacts. No separate issue is needed for this focused bug fix.

Validation

  • Executor/API unit tests: 101 passed, including shell quoting round-trip, artifact inspection, unset-variable failure, and explicit opt-in behavior.
  • pre-commit run --all-files: passed.
  • Fern documentation validation: zero errors, one warning.
  • Commit includes DCO sign-off.

Rollouts

A real remote Slurm HLE judge canary completed with 1/1 rollout scored, no failure rows, and a parsed judge response. This validates credential delivery through SSH, submission, and the driver to the judge endpoint; it is not a benchmark score measurement.

Compatibility and benchmark impact

The default empty list preserves existing behavior. Remote jobs needing local credentials opt in by name and continue to use runtime: references in driver environment configuration. Scheduler-provided variables such as CUDA_VISIBLE_DEVICES are not implicitly forwarded. Slurm must export the submission environment; --export=NONE prevents inheritance. Dry runs and resolution do not require these credentials.

No benchmark definitions or grading rules change.

Checklist

  • I have read the contributing guidelines.
  • The change is focused.
  • Tests added and passed locally.
  • Documentation updated.
  • Pre-commit checks passed locally.
  • No new source files require SPDX headers.
  • All commits have DCO sign-off.

Signed-off-by: Igor Gitman <igitman@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Oct 19, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@yaoyu-33 yaoyu-33 added area:orchestration Job submission, deployment, services, and lifecycle management bug Something isn't working complexity:low Localized change in one scope with a small, straightforward review surface needs-review PR is ready for code review and waiting on a reviewer labels Oct 19, 2026
@prokotg

prokotg commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

/ok to test 84fa363

@github-actions

Copy link
Copy Markdown
Contributor

@prokotg
prokotg added this pull request to the merge queue Oct 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔄 Merge queue validation started! You can track the progress here: https://github.com/NVIDIA-NeMo/Gym/actions/runs/39382615061

Merged via the queue into main with commit 4e4bcce Oct 20, 2026
52 of 57 checks passed
@prokotg
prokotg deleted the codex/slurm-runtime-env branch October 20, 2026 07:10
qiaochuz-nv added a commit that referenced this pull request Oct 22, 2026
The slug-label guard added in this PR flags `[how-to](...)` in
orchestration/configuration.mdx, a page that landed after this branch's
base (#4760). Use the target page's title as the label.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: qiaochuz <qiaochuz@nvidia.com>
khazic pushed a commit to khazic/Gym-lao that referenced this pull request Oct 23, 2026
…xamples to v0.7.0 (NVIDIA-NeMo#4579)

* docs: make r0.7.0 training commands copy-pasteable and bump version examples to v0.7.0

Training blocks export credentials first and reference $WANDB_API_KEY,
$HF_TOKEN, $SLURM_* and $USER instead of space-containing placeholders that
Bash splits into commands. Install, container, version-output and telemetry
examples move from v0.5.1 to v0.7.0 (published on PyPI and NGC; v0.6.0 has no
NGC image). Also fixes the FAQ dataset-name en dash and revision wording, slug
link labels, grammar, and British spellings. Adds regression tests.

Fixes NVBug 6875737 / NVIDIA-NeMo#4499

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: qiaochuz <qiaochuz@nvidia.com>

* docs: address review on r0.7.0 docs fix

- Pin the version test to v0.7.0 (snapshots land before PyPI/NGC) and check
  backticked `vX.Y.Z` examples too.
- setup.mdx step 2: `ACCOUNT=<ACCOUNT_NAME>` is a Bash syntax error; use
  sample values like the multi-node page. The placeholder test now flags
  `VAR=<...>` assignments.
- FAQ dataset commands: multineedle was renamed to example_multi_step (NVIDIA-NeMo#291);
  point at the existing config and example data, and define
  resource_config_path in the create-pr block. New test: dataset commands use
  a defined, existing resource config.
- vllm.mdx: the command sets --model-url, not policy_base_url=.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: qiaochuz <qiaochuz@nvidia.com>

* docs(tests): name the two placeholder shapes the bash-block test covers

Review note on NVIDIA-NeMo#4579: the test catches `{your ...}` placeholders and
`VAR=<...>` assignments, not every angle-bracket argument. Say so in the
docstring instead of claiming all placeholders bash splits.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: qiaochuz <qiaochuz@nvidia.com>

* docs(orchestration): label the prefill/decode link with its page title

The slug-label guard added in this PR flags `[how-to](...)` in
orchestration/configuration.mdx, a page that landed after this branch's
base (NVIDIA-NeMo#4760). Use the target page's title as the label.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: qiaochuz <qiaochuz@nvidia.com>

---------

Signed-off-by: qiaochuz <qiaochuz@nvidia.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

This branch was previously deployed

1 inactive deployment
public — 84fa3638 Deployed Oct 20, 2026 by copy-pr-bot[bot] via release / finalize / notify #5921
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:orchestration Job submission, deployment, services, and lifecycle management bug Something isn't working complexity:low Localized change in one scope with a small, straightforward review surface needs-review PR is ready for code review and waiting on a reviewer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants