fix(ai): resolve omniroute reliability issues (DNS collision, timeout race) - #4323
Conversation
300s + the router's 2 retries could exceed the pr-reviewer-action's 600s curl timeout, so the action gave up and self-retried instead of letting litellm's fallback to qwen-3.6-fast trigger (observed: 60min run, no fallback). 90s keeps worst case at 270s, inside the action's window.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
🔗 Linked repositories identifiedCodeRabbit considers these linked repositories for cross-repo context during reviews:
📝 WalkthroughWalkthroughThe ChangesOmniroute timeout configuration
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
@@ spec.params.additional.timeout @@
# litellm.home-operations.com/v1alpha1/LiteLLMModel/ai/omniroute
! ± value change
- 300
+ 90
|
|
|
Overall Grade |
Security Reliability Complexity Hygiene |
Code Review Summary
| Analyzer | Status | Updated (UTC) | Details |
|---|---|---|---|
| JavaScript | Aug 3, 2026 8:23p.m. | Review ↗ | |
| Shell | Aug 3, 2026 8:23p.m. | Review ↗ |
Important
AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.
…#4324) Default ndots:5 search-expands "opencode.ai" (1 dot) to "opencode.ai.svc.cluster.local" before trying it as absolute, which exactly matches our own in-namespace opencode Service — every lookup of the real opencode.ai provider was silently resolving to our internal opencode app instead. Explains the persistent opencode 502s/timeouts blamed on the upstream provider. ndots:1 (same pattern as seerr, prowlarr-exporter, etc.) tries the absolute name first. This commit was cut into PR #4323 too late to be included in the merge (pushed 5min after merge); reopening standalone.
Summary
ndots:5search-expands the external domainopencode.aitoopencode.ai.svc.cluster.localbefore trying it as absolute — which exactly matches our own in-namespaceopencodeService. Every lookup of the real opencode.ai provider was silently hijacked to our internal app instead, explaining the persistent 502s/timeouts previously blamed on the upstream provider. Fixed withdnsConfig.options: ndots=1(same pattern already used by seerr, prowlarr-exporter, etc.).qwen-3.6-fastfallback and won. 90s timeout keeps worst case at 270s, inside the action's window.Evidence
Slow runs correlate with
opencodebeing picked byautoand hanging on the DNS-hijacked connection.Also done (live, not in this diff)
opencodeshould now resolve correctly once this PR's DNS fix ships.Test plan
kustomize build kubernetes/apps/ai/litellm/instancecleankustomize build kubernetes/apps/ai/omniroute/appcleanopencodeprovider resolves the real opencode.ai after rollout (verify via omniroute logs, no more502/timeout onopencode.ai:443)