Skip to content

[aw-failures] Daily BYOK Ollama Test 100% red for 8+ days — offline+BYOK api-proxy returns 503 on /v1/models, Copilot CLI gets H [Content truncated due to length] #41827

Description

@github-actions

Fix the offline+BYOK Ollama proxy path — Daily BYOK Ollama Test has failed every scheduled run for 8+ consecutive days (100% red, 0 turns, 0 tokens).

The Copilot CLI never makes a single model call: the BYOK proxy returns 503 on /v1/models and HTTP 400 (no body) on every completion, so the agent exits 1 with Turns=0. This is a chronic, fully-reproducible failure of a dedicated test workflow and is not covered by any existing open agentic-workflows issue.

Failure cluster

Field Value
Workflow Daily BYOK Ollama Test (.github/workflows/daily-byok-ollama-test.lock.yml)
Engine GitHub Copilot CLI, offline+BYOK mode (`COPILOT_PROVIDER_BASE_URL=(172.30.0.30/redacted)
Severity P1 — single workflow, 100% red, chronic
Representative run §28269378808 (2026-06-26)
Comparator no successful baseline exists — every prior run failed identically
Recurrence 9/9 scheduled runs failed: 28269378808, 28205363843, 28134431373, 28062125221, 27989476537, 27851504668, 27794407926, 27724841546 (6/17 → 6/26)
Turns / Tokens 0 / 0 (agent never executed)

Evidence (representative run 28269378808)

Probable root cause: the offline+BYOK api-proxy at :10002 cannot reach the local Ollama backend (host.docker.internal:11434), so the model list and completions both fail before the agent starts. Firewall analysis shows only host.docker.internal:443 allowed while host.docker.internal:11434 is among the blocked domains.

agent-stdio.log — proxy 503 then Copilot 400, all retries exhausted
[health-check] COPILOT_PROVIDER_BASE_URL=(172.30.0.30/redacted) (offline+BYOK mode)
[health-check] ✓ Copilot CLI offline+BYOK mode configured
[copilot-harness] awf-reflect: models fetch returned 503 for (apiproxy/redacted) retrying (attempt 2/5)
... (all 5 attempts return 503) ...
[warning] awf-reflect models fetch for (apiproxy/redacted) failed after 4 retry attempts: 503
[copilot-harness] attempt 1: process closed exitCode=1 duration=1s stdout=0B stderr=64B
[copilot-harness] attempt 1: outputTail="400 400 status code (no body)\nChanges +0 -0\nDuration 0s"
[copilot-harness] attempt 2: outputTail="400 400 status code (no body)\nDuration 6s"
... retries 1-3 all exit 1 with HTTP 400 ...
audit firewall_analysis — Ollama port blocked
allowed_domains: [ "host.docker.internal:443" ]
blocked_domains:  [ ..., "host.docker.internal", "host.docker.internal:11434", "api.githubcopilot.com", ... ]  (49 total)

The BYOK provider endpoint (Ollama, port 11434) is not in the allow-list — only :443 is. The proxy at :10002 therefore has no upstream to serve /v1/models or completions.

Existing issue correlation

No open agentic-workflows issue tracks this path. Adjacent-but-distinct issues that do not cover it:

Probable root cause

The offline+BYOK proxy (:10002) cannot reach the local Ollama backend on host.docker.internal:11434. Either (a) the firewall allow-list for this workflow omits :11434 (only :443 is allowed), or (b) Ollama is started but never serves the requested model, so /v1/models 503s and completions 400. The Terminate orphan process: pid (ollama) line in cleanup confirms Ollama is launched but is not reachable/serving by the time the agent runs.

Proposed remediation

  1. Add host.docker.internal:11434 (and bare host.docker.internal) to the workflow's network.allowed allow-list so the BYOK proxy can reach Ollama.
  2. Gate agent start on a readiness probe: poll (host.docker.internal/redacted) (or proxy /v1/models`) until 200 before spawning Copilot, instead of failing fast on the first 503.
  3. Ensure the target model is pulled/loaded in the Ollama container before the agent step; fail the setup step (not the agent step) with a clear message if the model is missing.

Success criteria / verification

  • A scheduled Daily BYOK Ollama Test run reaches Turns > 0 and TokenUsage > 0.
  • /v1/models returns 200 from the proxy in agent-stdio.log (no 503 retry loop).
  • No 400 status code (no body) in the copilot-harness output tail.
  • Run conclusion is success for 2+ consecutive scheduled runs.

Other failures in this 6h window (no action — not new P0/P1 gaps)

  • Daily yamllint Fixer §28273541137: single run hit maximum LLM invocations exceeded — not retrying. One-off, P2 — monitor; not yet recurring.
  • Agentic Workflow Audit Agent §28266654332: first failure after 7 consecutive successes; logs show clean completion. Likely transient/false-red, P2 — monitor.
  • Smoke CI (28267993076) and Auto-Triage Issues (28261421100): cancelled (concurrency supersession), not genuine failures.
  • Minor cross-cutting noise: EACCES cleanup of /tmp/awf-*-chroot-home produces an exit-1 [WARN] tail in several runs but is not the primary failure cause.

References:

Generated by 🔍 [aw] Failure Investigator (6h) · 144.8 AIC · ⌖ 39.6 AIC · ⊞ 5.2K ·

  • expires on Jul 3, 2026, 5:36 PM UTC-08:00

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions