QMAws::startTask | ECS failures - job_id: 110318, task_definition: nswgov-skat-master-production-arm
Fix Plan: QMAws::startTask ECS DRAINING failure 로그 severity 조정
Changes#
cupixworks: applications/agents/packages/cupix-tesla-compute-agent/src/model/qmAws.ts#
- What:
startTask콜백 안data.failures && data.failures.length > 0분기(현재logger.error한 줄)에서,data.failures[]의 reason들이 모두DRAINING인 경우에만logger.warn으로 다운그레이드. 그 외 (RESOURCE:*,AGENT, 기타/unknown) reason이 하나라도 섞여 있으면 기존대로logger.error유지. 로그 메시지 포맷과 인자,data.failures시리얼라이즈 형태는 그대로 둠. - Why: RCA Root Cause Summary에 정리된 대로,
DRAINING은 ASG lifecycle의 정상 상태이고 상위runJob이 SQS 재전달 기반으로 자동 재시도하여 self-recovery 하는 정상 경로임. 반면RESOURCE:*(GPU capacity 등)과AGENT(agent 연결 이슈)는 별도 판단이 필요한 실 장애 신호이므로error를 유지하는 편이 안전함. 본 변경은 alerting 노이즈를 줄이면서 실 장애 신호는 보존함. - Lines: qmAws.ts:195-204 (분기 판단 로직 및 로그 호출 한 줄)
Acceptance Criteria#
-
grep -n "logger.error('QMAws::startTask | ECS failures" applications/agents/packages/cupix-tesla-compute-agent/src/model/qmAws.ts이 non-DRAINING 분기에서만 매칭됨 (DRAINING-only 케이스는logger.warn으로 전환) -
data.failures시리얼라이즈 결과(arn,reason,detail매핑)와 메시지 템플릿 문자열이 이전과 동일하게 유지됨 -
pnpm exec tsc --noEmit(또는 pre-push type check)가 통과함 — 변경이 타입 오류를 유발하지 않음
Tests#
- 기존 테스트:
applications/agents/packages/cupix-tesla-compute-agent/**/*.spec.ts중 qmAws.ts 관련 테스트 (있으면) 유지. - 신규 테스트: TRIVIAL 로그 레벨 조정이며 이전 유사 fix(TSLA-12514, c6afd4dc)에서도 테스트 미추가로 병합된 선례가 있음. 서비스 메모(cupixworks-any-compute-agent.md)의 "CI diff coverage 80% 요구" 언급을 감안, 스펙 파일 존재 여부를 확인 후 존재하면 케이스 추가 시도, 부재하면 생략.