Repository navigation
fix(labs,ovk-openclaw): backport admins durability patches - #117
Conversation
Pre-PR before bumping labs/ovk to 2026.5.2-mctl.1. Copilot review on the direct labs bump PR #115 surfaced that admins-specific workarounds were never applied to labs/ovk: - PR #96 lock-scrub entrypoint wrapper (top-level command/args) - PR #96 restore-state lock cleanup (find ... *.lock -exec rm) - PR #101 widened probe budgets (startup 455s, readiness 5x, liveness 5min) - PR #102/#103 bonjour disable (in JSON config) - plugin-runtime-deps S3 purge (perf + restore time) Without these, bumping labs/ovk to 2026.5.2-mctl.1 would re-introduce the lock-wedge and probe-kill failure modes that admins survived only because the workarounds were in place. Tenant-specific differences (CPU limits, OAuth callback URLs, env vars, MCP server registrations) are intentionally NOT touched — only durability/safety patches copied over with paths adapted per tenant ('labs' vs 'ovk' in S3 prefixes). Both files now +38 lines each. Closed PR #115 (labs image bump) — will re-open after this merges.
|
@codex review |
|
@copilot review |
|
Codex Review: Didn't find any major issues. Hooray! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Reviewed the changes in Patch A — command/args lock-cleanup wrapper ✅ Patch B1 — S3 plugin-runtime-deps purge ✅ Patch B2 — post-restore lock cleanup ✅ Patches C/D — probe budgets ✅ Patch E — Bonjour disabled ✅ Scope ✅ |
Summary
Pre-PR before bumping labs/ovk to
2026.5.2-mctl.1. Copilot review on the closed direct labs bump (PR #115) surfaced that admins-specific durability workarounds were never applied to labs/ovk.command/argslock-cleanup wrapper.openclaw-runtime-mirror.lock/in emptyDir → 5 min wait for phantom owner → startup probe kill → infinite crash-loop (admins hit 239 restarts in 22h before #96)find ... *.lock -exec rmUnhandledPromiseRejection: CIAO ANNOUNCEMENT CANCELLEDwhen event loop stalls > 170s, crashing NodeScope
labs/openclaw/values.yaml: +44/-6 (1211 → 1249 lines)ovk/openclaw/values.yaml: +44/-6 (1157 → 1195 lines)2026.4.26-beta.1here. Image bump PRs follow after this merges.NOT touched (tenant-specific)
CPU/memory limits, env vars (OPENCLAW_GITHUB_ALLOWED_REPOS, OAuth callbacks), envFrom secrets (CoinGlass for labs), MCP server registrations, backstage block (labs has, ovk doesn't), persistence/extraVolumes.
Validation post-merge
ArgoCD syncs ~2 min, Recreate strategy → both labs and ovk pods recreate. Quick checks:
kubectl -n labs get pods -l app.kubernetes.io/instance=labs-openclaw→ 3/3 Ready, 0 restarts after settle2026.4.26-beta.1— wrappers are version-agnostic, lock-cleanup is no-op on clean emptyDir, expanded probe budgets just give more headroomIf either tenant has trouble booting on beta.1 with these wrappers — revert and investigate before any image bump.
Next steps
After this merges and labs+ovk soak briefly with wrappers in place:
labs-openclaw bump to 2026.5.2-mctl.1(one-line, equivalent of closed chore(labs-openclaw): bump image to 2026.5.2-mctl.1 #115)Test plan