Skip to content

fix(install): drop Ollama bootstrap, let onboard own install and pulls - #2952

Merged
ericksoa merged 3 commits into
mainfrom
fix/install-drop-ollama-bootstrap
May 4, 2026
Merged

fix(install): drop Ollama bootstrap, let onboard own install and pulls#2952
ericksoa merged 3 commits into
mainfrom
fix/install-drop-ollama-bootstrap

Conversation

@zyang-dev

@zyang-dev zyang-dev commented May 4, 2026

Copy link
Copy Markdown
Contributor

Summary

scripts/install.sh was bootstrapping Ollama (binary install/upgrade plus a hardcoded VRAM-keyed pull of nemotron-3-super:120b or nemotron-3-nano:30b) whenever NEMOCLAW_PROVIDER=ollama was set. That duplicated nemoclaw onboard's own install-ollama branch and ignored NEMOCLAW_MODEL, so users who set NEMOCLAW_MODEL=qwen3.5:4b still saw nemotron get pulled before onboard pulled their requested model. This PR removes the bootstrap entirely and lets onboard own all Ollama install + pull policy.

Changes

  • Deleted install_or_upgrade_ollama function and its caller gate.
  • Deleted now-orphaned helpers: get_ollama_version, get_vram_mb, and the constants OLLAMA_MIN_VERSION / OLLAMA_INSTALL_SHA256.
  • Replaced the section header with a comment documenting the layering: install.sh handles dependencies, nemoclaw onboard handles inference policy.

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: zyang-dev 267119621+zyang-dev@users.noreply.github.com

Summary by CodeRabbit

  • Chores

    • Delegated Ollama installation/setup to the onboard flow; simplified installer and clearer error messaging when provider init fails.
    • vLLM path now fails fast with an explicit error if startup/install doesn't succeed.
  • Onboarding

    • Non-interactive onboarding now falls back to an "install Ollama" option when Ollama is requested but not present.
  • Tests

    • Added an integration test covering the non-interactive Ollama install/selection path.

Signed-off-by: zyang-dev <267119621+zyang-dev@users.noreply.github.com>
@zyang-dev zyang-dev self-assigned this May 4, 2026
@coderabbitai

coderabbitai Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 2d88edcd-677e-468f-bf0b-45af9ec5ca50

📥 Commits

Reviewing files that changed from the base of the PR and between e6353d1 and b82ed4f.

📒 Files selected for processing (2)
  • src/lib/onboard.ts
  • test/onboard-selection.test.ts

📝 Walkthrough

Walkthrough

Removed Ollama bootstrap logic from scripts/install.sh (version/hash constants, VRAM checks, and installer function). install.sh now delegates Ollama installation/model setup to nemoclaw onboard, simplifies GPU detection, preserves vLLM handling with fail-fast behavior, and setupNim now selects install-ollama in non-interactive fallback. A new integration test covers the non-interactive Ollama install path.

Changes

Ollama bootstrap removal + onboard hookup

Layer / File(s) Summary
Installer scripts (removals)
scripts/install.sh
Deleted OLLAMA_MIN_VERSION, OLLAMA_INSTALL_SHA256, get_ollama_version(), get_vram_mb(), and install_or_upgrade_ollama(); removed Ollama bootstrap/model-pull logic.
GPU detection simplification
scripts/install.sh
Replaced prior VRAM/OLLAMA-aware detection with a simplified detect_gpu() that checks nvidia-smi only.
Main flow / provider handling
scripts/install.sh
Removed branch that invoked install_or_upgrade_ollama for NEMOCLAW_PROVIDER=ollama; added comment that Ollama setup is owned by nemoclaw onboard. vLLM path retained but now aborts on install_or_start_vllm failure.
Onboard selection fallback
src/lib/onboard.ts
In non-interactive provider selection, when requested providerKey === "ollama" but no ollama option exists, selected is now set to the install-ollama option.
Integration test
test/onboard-selection.test.ts
Added test: non-interactive Linux env with NEMOCLAW_PROVIDER=ollama stubs subprocesses to force installer path; asserts zero prompts, chosen provider becomes ollama-local, and ollama.com/install.sh was invoked.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

Poem

🐰 I hopped through scripts and pruned a chain,
Removed old hashes, trimmed VRAM's reign,
Onboard now handles the Ollama chore,
vLLM stands ready — no extra lore.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely summarizes the main change: removing Ollama bootstrap logic from install.sh and delegating it to the onboard command.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/install-drop-ollama-bootstrap

Review rate limit: 9/10 reviews remaining, refill in 6 minutes.

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

@ericksoa
ericksoa self-requested a review May 4, 2026 16:46
@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 25332012366
Branch: fix/install-drop-ollama-bootstrap
Requested jobs: gpu-e2e,gpu-double-onboard-e2e
Summary: 0 passed, 0 failed, 22 skipped

Job Result
cloud-e2e ⏭️ skipped
cloud-inference-e2e ⏭️ skipped
cloud-onboard-e2e ⏭️ skipped
deployment-services-e2e ⏭️ skipped
diagnostics-e2e ⏭️ skipped
docs-validation-e2e ⏭️ skipped
gpu-e2e ⏭️ skipped
hermes-e2e ⏭️ skipped
inference-routing-e2e ⏭️ skipped
messaging-compatible-endpoint-e2e ⏭️ skipped
messaging-providers-e2e ⏭️ skipped
network-policy-e2e ⏭️ skipped
overlayfs-autofix-e2e ⏭️ skipped
rebuild-hermes-e2e ⏭️ skipped
rebuild-openclaw-e2e ⏭️ skipped
sandbox-operations-e2e ⏭️ skipped
sandbox-survival-e2e ⏭️ skipped
shields-config-e2e ⏭️ skipped
skill-agent-e2e ⏭️ skipped
snapshot-commands-e2e ⏭️ skipped
token-rotation-e2e ⏭️ skipped
upgrade-stale-sandbox-e2e ⏭️ skipped

@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

Brev E2E (full): FAILED on branch fix/install-drop-ollama-bootstrapSee logs

@github-actions

github-actions Bot commented May 4, 2026

Copy link
Copy Markdown
Contributor

Selective E2E Results — ❌ Some jobs failed

Run: 25332611182
Branch: fix/install-drop-ollama-bootstrap
Requested jobs: all (no filter)
Summary: 19 passed, 1 failed, 1 skipped

Job Result
cloud-e2e ✅ success
cloud-inference-e2e ✅ success
cloud-onboard-e2e ⚠️ cancelled
deployment-services-e2e ✅ success
diagnostics-e2e ✅ success
docs-validation-e2e ✅ success
gpu-e2e ⏭️ skipped
hermes-e2e ✅ success
inference-routing-e2e ✅ success
messaging-compatible-endpoint-e2e ✅ success
messaging-providers-e2e ✅ success
network-policy-e2e ✅ success
overlayfs-autofix-e2e ❌ failure
rebuild-hermes-e2e ✅ success
rebuild-openclaw-e2e ✅ success
sandbox-operations-e2e ✅ success
sandbox-survival-e2e ✅ success
shields-config-e2e ✅ success
skill-agent-e2e ✅ success
snapshot-commands-e2e ✅ success
token-rotation-e2e ✅ success
upgrade-stale-sandbox-e2e ✅ success

Failed jobs: overlayfs-autofix-e2e. Check run artifacts for logs.

@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 the installer/onboard handoff and the follow-up fix for fresh non-interactive Ollama installs. The PR now keeps Ollama setup owned by onboard while preserving NEMOCLAW_PROVIDER=ollama on a fresh host via the install-ollama path, with focused regression coverage. Standard PR checks and nightly coverage are green for the relevant paths; the Brev E2E failure is an unrelated Brev auth/setup issue.

@ericksoa
ericksoa merged commit 077636a into main May 4, 2026
117 of 122 checks passed
@ericksoa
ericksoa deleted the fix/install-drop-ollama-bootstrap branch May 4, 2026 18:13
miyoungc added a commit that referenced this pull request May 5, 2026
## Summary
Catch up the docs for user-facing changes that landed over the weekend
and today, so the published guidance matches current installer,
onboarding, status, logs, local inference, rebuild backup behavior, the
next docs version selector, and refreshed generated user skills.

## Related Issue
None.

## Changes
- Document WSL Windows-host Ollama onboarding actions, including use,
start, restart, install, and `host.docker.internal` model pulls from
#2800; clarify that onboard owns Ollama install and model pulls from
#2952.
- Document installer fail-fast behavior for non-TTY third-party software
acceptance from #2706.
- Update sandbox-name guidance and Brev deploy validation behavior from
#2948.
- Add `nemoclaw <name> logs --tail/--since` coverage from #2825.
- Add global `nemoclaw status --json` coverage from #2822.
- Document verified-gateway status behavior and non-zero degraded exits
from #2884.
- Clarify that rebuild stops before deleting the original sandbox when
backup fails, including unreadable or root-owned state paths.
- Bump docs switcher metadata from 0.0.33 to 0.0.34 without changing
package versions or creating release tags.
- Regenerate `.agents/skills/nemoclaw-user-*` from docs, including the
new `nemoclaw-user-manage-sandboxes` generated skill and removal of the
stale `nemoclaw-user-workspace` output.

## Type of Change
- [ ] Code change (feature, bug fix, or refactor)
- [ ] Code change with doc updates
- [ ] Doc only (prose changes, no code sample modifications)
- [x] 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
- [x] No secrets, API keys, or credentials committed
- [x] Docs updated for user-facing behavior changes
- [x] `make docs` builds without warnings (doc changes only)
- [x] 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)

---
<!-- DCO sign-off required by CI. Run: git config user.name && git
config user.email -->
Signed-off-by: Miyoung Choi <miyoungc@nvidia.com>

Made with [Cursor](https://cursor.com)

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

* **Documentation**
* Expanded Ollama/local inference guidance with detailed WSL and
Windows-host workflows, proxy/token behavior, and onboarding options
* Standardized sandbox name validation and updated troubleshooting, CLI,
and deploy docs to surface the rules and validation timing
* Added/rewrote Manage Sandboxes, policy management, backup/restore,
messaging channels, workspace persistence, and CLI selection guides
* Refreshed quickstart/Hermes guidance, skill mappings, and bumped docs
version to 0.0.34
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
@wscurran wscurran added the bug-fix PR fixes a bug or regression label Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug-fix PR fixes a bug or regression

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants