Skip to content

Fix sandbox recovery and model configuration after PR #135 - #139

Open
LinoyBitan1 wants to merge 6 commits into
validatedpatterns-sandbox:mainfrom
LinoyBitan1:fix/pr135-follow-up
Open

LinoyBitan1 wants to merge 6 commits into
validatedpatterns-sandbox:mainfrom
LinoyBitan1:fix/pr135-follow-up

Conversation

@LinoyBitan1

@LinoyBitan1 LinoyBitan1 commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Follow-up to #135: sandbox recreation could fail during archive verification or lose workspace files when trusted mounts changed; OpenClaw onboarding could retain an agent model that overrode the configured model; and the portal could report a workspace ready before its UI was reachable.

JIRA: https://redhat.atlassian.net/browse/APPENG-6793

Changes

  • Preserve workspace files for environment and mount changes, normalize archive ownership to the sandbox user, retain permissions, and make completed restores safe to retry. Stop before changing a running sandbox when its labels cannot be read.
  • Apply the configured model to the OpenClaw main agent while preserving its selected credential binding.
  • Add optional inference.models inputs for attached native OpenAI and Anthropic providers. Keep credentials on providers and model selection on sandboxes; retain one startup default through inference.providerRef and inference.model. Optional providers remain disabled in the shipped profile.
  • Reject empty inference models and report malformed profile catalog fields.
  • Wait for the OpenShell UI before the portal reports readiness.
  • Preserve unspecified Secret fields during CLI inference updates, support individual model/URL/provider updates, warn about Vault reconciliation, and remove duplicate native model defaults from the Secret template.

The CLI and Secret-template changes also cover the remaining relevant gaps from #133, using the credential/model separation introduced by #135.

Validation

  • Prior focused suites passed: 181 installer/model/catalog tests and 155 CLI/template/portal tests.
  • A fresh expanded regression rerun is in progress; its final result will be added here.
  • Fresh shell syntax and git diff --check checks passed.

Live OpenShift testing used the pushed branch on k4vgv with optional providers enabled in the test profile:

  • NVIDIA, OpenAI gpt-6-luna, and Anthropic claude-sonnet-4-6 each answered an inference request through the OpenClaw gateway with the intended provider and model.
  • Repeated inference with NVIDIA detached: OpenAI Luna and Anthropic Sonnet 4.6 both returned 4 to the arithmetic prompt. The gateway model picker exposed only OpenAI and Anthropic.
  • With Anthropic listed first and OpenAI selected in inference.providerRef, OpenAI Luna remained the startup default. Existing conversations retain their selected model.
  • Authenticated chat access returned HTTP 200. The user also confirmed both remaining providers work in the chat UI.
  • Sandbox recovery and portal lifecycle/readiness were exercised during the earlier follow-up deployment tests.

The two-provider experiment explicitly detached NVIDIA and removed its saved OpenClaw catalog entries from the existing workspace; removing a provider from the YAML alone does not prune existing runtime state.

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.

1 participant