4.7 KiB
4.7 KiB
Handoff - dev-corp OpenAI-compatible passthrough rollout
작성 시각
2026-07-09
현재 타겟
- 작업: dev-corp
gemma4:26bOpenAI-compatible provider model group을 normalizedSubmitRun경로가 아니라 provider tunnel passthrough 경로로 전환 배포 - 코드 기준 ref:
ff73306 refactor: reject transformed mode and responses for provider-pool/tunnel routes - 다음 작업 환경 요구:
172.24.63.178및 내부 provider nodes에 접근 가능한 환경
이번 세션에서 확인한 사실
- 로컬
main과origin/main은ff73306기준 동기화되어 있었다. - G06 code-review는 PASS로 종결되어
agent-task/archive/2026/07/openai_passthrough_model_groups/에 archive되어 있다. toki@toki-labs.com접속은 가능했지만, 해당 runtime은/Users/toki/agent-work/iop-dev-corp이고 git checkout이 아니라 runtime 디렉터리였다.toki@toki-labs.com:/Users/toki/agent-work/iop는 source checkout이지만 dirty 상태였으므로 직접 reset하지 않고 별도 clean worktree를 사용했다.- 새 Edge binary는
ff73306worktree에서 빌드했고 아래 검증을 통과했다./opt/homebrew/bin/go test ./apps/edge/internal/openai -count=1/opt/homebrew/bin/go test ./apps/edge/... -count=1- 새 binary
config check --config /Users/toki/agent-work/iop-dev-corp/build/dev-corp-runtime/edge.yaml - 새 binary
config refresh --mode dry-run --addr 127.0.0.1:19094
toki-labs.comruntime config는 provider model group 형태이고models에는gemma4:26b가 잡혀 있었다.
Edge-only 배포 시도 결과
- 새 Edge binary를 runtime에 교체하고 Edge process만 재시작했다.
- 새 Edge PID:
68069 - 정상 확인:
/healthzOK/v1/modelslocal/public 모두gemma4:26bmetadata.iop_response_mode="transformed"Chat 요청은400 invalid_request_error- provider model group
/v1/responses요청은400 invalid_request_error
- 실패 확인:
- omitted-mode
/v1/chat/completions요청은 response body 없이 timeout think:false,max_tokens:8로 줄인 요청도 120초 timeout
- omitted-mode
- 해석:
- Edge handler 변경은 적용됐지만, 새 Edge가 보내는
ProviderTunnelRequest에 대해 현재 connected provider Node가ProviderTunnelFrame을 반환하지 못하는 상태로 보인다. - rollback 후 기존
transformedChat 요청은 200으로 응답했으므로 provider backend 자체나 기존 normalizedSubmitRun경로는 살아 있었다.
- Edge handler 변경은 적용됐지만, 새 Edge가 보내는
Rollback 상태
- 서비스 보호를 위해 새 Edge-only 배포는 rollback했다.
- 백업 binary:
/Users/toki/agent-work/iop-dev-corp/build/dev-corp-runtime/backups/iop-edge.20260709132709.bak - rollback 후 Edge PID:
74660 - rollback 후 확인:
/healthzOK/v1/modelsgemma4:26bOK- 기존 transformed Chat 200 OK
- Control Plane status에서 connected provider nodes는 2개로 관측됨
- observed providers:
corp-dgx-spark-01-vllm,corp-dgx-spark-02-vllm, bothin_flight=0,queued=0,health=healthy
현재 원인 판단
Edge-only로는 부족하다. 원인은 현재 연결된 provider Node runtime이 ff73306 Edge의 provider tunnel passthrough 경로와 맞지 않는 ref/binary 상태였기 때문으로 보는 것이 가장 타당하다.
다음 배포는 Edge와 provider Nodes를 같은 source ref로 맞춰야 한다. 단순히 Edge만 다시 교체하면 Chat Completions omitted mode가 다시 timeout 날 가능성이 높다.
다음 세션 첫 진입점
172.24.63.178에 접근 가능한 환경에서 mac-mini runtime checkout과 Node host 접근을 먼저 확인한다.- source ref
ff73306기준으로 Edge + provider Node binaries를 같은 ref에서 빌드한다. - provider Node별 기존 process/binary/config 경로를 확인하고 Node binary를 교체/재시작한다.
- Edge binary를 교체/재시작한다.
- 아래 smoke를 순서대로 확인한다.
/healthz/v1/modelsexposesgemma4:26b- Chat
metadata.iop_response_mode="transformed"returns 400 /v1/responsesprovider model group returns 400 until raw parity exists- omitted Chat Completions returns 200 with no
X-IOP-Response-Modeheader passthrough+sidebandreturns provider tunnel response plus sideband- Control Plane provider snapshots recover to
in_flight=0,queued=0
주의사항
toki@toki-labs.com에서는 provider node SSH가No route to host또는 timeout으로 실패했다. Node 배포까지 진행하려면172.24.63.178및 내부 provider hosts에 닿는 작업 환경이 필요하다.toki@toki-labs.com:/Users/toki/agent-work/iop-dev-corp는 runtime 디렉터리이고 git checkout이 아니다.- secret/API key/token 원문은 handoff나 git commit에 남기지 않는다.