QMAws::startTask | ECS failures - job_id: 1254229, task_definition: cupix-pix-genie-preprocessor-age
Summary: QMAws::startTask | ECS failures (RESOURCE:GPU)
결과#
RCA 의 "단기 개선 (1주 이내)" 항목만 구현했다. runTask 인스턴스 선별 루프에 GPU 잔여량 확인을 추가해 GPU 가 소진된 인스턴스를 startTask 대상에서 제외함으로써 RESOURCE:GPU 거부 빈도를 줄인다. Jira TSLA-13879 생성, Azure DevOps PR #89559 (target develop) 생성 완료, blind validation APPROVED.
Pull Requests#
| Repo | PR | Branch |
|---|---|---|
| cupixworks | https://dev.azure.com/cupix/cupixworks/_git/cupixworks/pullrequest/89559 | feature/TSLA-13879 |
변경 내용#
applications/agents/packages/cupix-tesla-compute-agent/src/model/qmAws.ts: 선별 루프에서remainingResources의name === 'GPU'STRINGSET 리소스(stringSetValue= 사용 가능 GPU device ID 목록)를 조회.registeredResources에 GPU 가 있으나 remaining GPU 가 0 인 인스턴스는startTask호출 없이continue. non-GPU 인스턴스는 기존 동작 유지.available_gpu를 선별 로그에 추가.applications/agents/packages/cupix-tesla-compute-agent/src/model/qmAws.spec.ts: GPU 소진 인스턴스 skip, non-GPU 인스턴스 회귀 없음 유닛 테스트 2건 추가.
범위 제외 (선택된 옵션에 미포함)#
- 즉시 조치 (로그 심각도 조정): RCA 원문의 이 항목은 이미
develop에 반영되어 있음(qmAws.tsstartTask 의DRAINING-only →warn다운그레이드). 별도 작업 불필요. - 장기 개선 (ECS capacity provider / placement constraints 이전): 별도 트랙으로 유지, 본 PR 범위 아님.
검증 비고#
- 환경 레지스트리 인증 이슈(GitHub Packages 401:
@cupixapps/common,@cupixapps/forge-agents)로 worktreepnpm install이 중단되어 로컬 eslint/test 를 실행하지 못함. source repo 의 node_modules 는 구버전 커밋(aws-sdk v2)이라 develop 의@aws-sdk/client-ecs코드와 호환되지 않아 재사용 불가. 변경은 기존 MEMORY/CPU 패턴과 동일한 optional chaining +?? 0로 타입 안전하게 작성했고 Phase 6 blind static diff review 로 APPROVED. CI 에서 lint/test 실행 확인 필요 (cd applications/agents && pnpm exec nx run cupix-tesla-compute-agent -t test). errors/2c538c9d-....md의resolution필드는 PreToolUse hook 으로 agent 수정이 차단됨(pipeline orchestrator 가 설정). 결과는 state.mdx (phase: completed,prs) 및 본 summary 에 기록.
Cleanup#
bash
cd $REPOS_DIR/cupixworks
git worktree remove /home/ec2-user/error-sweeper/.worktrees/2c538c9d-e625-4efe-beca-8333136706f7/cupixworks