Skip to content

fix(onboard): suppress docker manifest/build noise during gateway setup#3311

Merged
ericksoa merged 2 commits into
mainfrom
fix/3248-suppress-docker-output
May 13, 2026
Merged

fix(onboard): suppress docker manifest/build noise during gateway setup#3311
ericksoa merged 2 commits into
mainfrom
fix/3248-suppress-docker-output

Conversation

@laitingsheng

@laitingsheng laitingsheng commented May 9, 2026

Copy link
Copy Markdown
Contributor

Summary

During nemoclaw onboard step [2/8], the docker manifest inspect JSON output and the BuildKit build log (apt-get output, layer hashes, debconf warnings) are forwarded to the user's terminal alongside the curated progress lines we already log ("Pulling upstream cluster image…", "Building patched cluster image…"). This PR keeps the curated lines as the user-facing signal and routes the raw command output to internal-only handling.

Related Issue

Closes #3248

Changes

  • Add suppressOutput?: boolean to the RunOpts interface in src/lib/cluster-image-patch.ts and plumb it through defaultRun so callers can opt into dropping captured stdio instead of forwarding it to the user.
  • Pass suppressOutput: true on the docker manifest inspect reachability probe.
  • Pass --quiet and suppressOutput: true on the docker build invocation so BuildKit no longer streams its full log to the user.
  • Add a unit test in src/lib/cluster-image-patch.test.ts asserting both call sites carry suppressOutput: true and that build now includes --quiet.

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with doc updates
  • Doc only (prose changes, no code sample modifications)
  • Doc only (includes code sample changes)

Verification

  • npx prek run --all-files passes
  • npm test passes
  • Tests added or updated for new or changed behavior
  • No secrets, API keys, or credentials committed
  • Docs updated for user-facing behavior changes
  • make docs builds without warnings (doc changes only)
  • Doc pages follow the style guide (doc changes only)
  • New doc pages include SPDX header and frontmatter (new pages only)

Signed-off-by: Tinson Lai tinsonl@nvidia.com

Summary by CodeRabbit

  • Improvements

    • Reduced output verbosity from Docker operations by suppressing output during manifest inspection and build steps.
  • Tests

    • Added test coverage for output suppression behavior in Docker operations.

Review Change Stack

Closes #3248

Signed-off-by: Tinson Lai <tinsonl@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented May 9, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented May 9, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 695af804-f537-418c-b7c3-2b4794712653

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • ✅ Review completed - (🔄 Check again to review again)
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/3248-suppress-docker-output

Comment @coderabbitai help to get the list of available commands and usage tips.

@laitingsheng laitingsheng marked this pull request as ready for review May 9, 2026 08:20

@ericksoa ericksoa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed live at 8684710: narrow Docker output-suppression fix, tests/checks green, low regression risk.

@ericksoa ericksoa merged commit 86fe71b into main May 13, 2026
23 checks passed
@ericksoa ericksoa deleted the fix/3248-suppress-docker-output branch May 13, 2026 04:07
cv pushed a commit that referenced this pull request May 15, 2026
## Summary
At step [6/8], when the published sandbox-base image is incompatible
(glibc < 2.39) and NemoClaw rebuilds locally, the full Docker build log
(~200 lines: apt-get output, debconf warnings, dpkg messages, layer
hashes) is forwarded to the user terminal. #3311 already fixed the [2/8]
gateway setup leak the same way; the [6/8] sandbox-base rebuild path was
not covered.

## Related Issue
Fixes #3584

## Changes
- Add a `quiet?: boolean` option to `dockerBuild` that prepends
`--quiet` to the build argv.
- Switch the sandbox-base local rebuild to `quiet: true` +
`suppressOutput: true` + `ignoreError: true`, and surface the captured
stderr (plus a one-line failure summary) when the build does not
succeed.
- Add a "This is a one-time step and can take several minutes" notice so
users do not mistake the silent build window for a hang.
- Add docker-helper tests covering `--quiet` argv injection on
`dockerBuild` and the default-omit behaviour.

## Type of Change

- [x] Code change (feature, bug fix, or refactor)
- [ ] Code change with doc updates
- [ ] Doc only (prose changes, no code sample modifications)
- [ ] Doc only (includes code sample changes)

## Verification

- [x] \`npx prek run --all-files\` passes
- [x] \`npm test\` passes
- [x] Tests added or updated for new or changed behavior
- [x] No secrets, API keys, or credentials committed
- [ ] Docs updated for user-facing behavior changes
- [ ] \`make docs\` builds without warnings (doc changes only)
- [ ] Doc pages follow the [style
guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md)
(doc changes only)
- [ ] New doc pages include SPDX header and frontmatter (new pages only)

---
Signed-off-by: Tinson Lai <tinsonl@nvidia.com>

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Docker build accepts an optional quiet flag to suppress build output.

* **Bug Fixes**
* Improved handling of build failures: capture and present combined
diagnostics, suppress streaming output on failure, and return a clear
failure result.
  * Diagnostics now redact sensitive information before display.

* **Tests**
* Added tests for quiet-flag behavior and comprehensive build-failure
diagnostics (including binary stream handling).

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/NVIDIA/NemoClaw/pull/3586)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Tinson Lai <tinsonl@nvidia.com>
@wscurran wscurran added area: cli Command line interface, flags, terminal UX, or output area: packaging Packages, images, registries, installers, or distribution bug-fix PR fixes a bug or regression platform: container Affects Docker, containerd, Podman, or images and removed area: packaging Packages, images, registries, installers, or distribution NemoClaw CLI labels Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: cli Command line interface, flags, terminal UX, or output bug-fix PR fixes a bug or regression platform: container Affects Docker, containerd, Podman, or images

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[DGX Spark][CLI&UX] Onboard leaks raw Docker manifest JSON and full build log to user terminal during gateway setup

5 participants