Skip to content

fix(loadtest): 자동 정지가 대상 박스도 끄고, 실패 단계가 있으면 아무 박스도 안 끈다 (#688, #641) - #803

Merged
Khyojae merged 1 commit into
mainfrom
fix/run-all-auto-shutdown-target-and-failed-phase
Sep 23, 2026
Merged

Khyojae merged 1 commit into
mainfrom
fix/run-all-auto-shutdown-target-and-failed-phase

Conversation

@Khyojae

@Khyojae Khyojae commented Sep 23, 2026

Copy link
Copy Markdown
Member

무엇을

loadtest/aws/run_all.sh 마무리 블록의 자동 정지 규칙 두 가지를 고친다.

#688 — 대상 박스(TARGET_HOST)를 안 끈다

  • REPLICA_HOST 분기와 같은 형태로 TARGET_HOST 분기를 추가했다. 대상·리플리카를 먼저 끄고 이 박스는 마지막에 끈다(이 박스가 먼저 꺼지면 SSH 가 사라진다).
  • 대상이 이 박스 자신인 구성(헤더 P6 절의 TARGET_SSH="bash -c")이면 정지를 두 번 걸지 않는다. 문자열이 아니라 인스턴스 ID(IMDSv2)를 양쪽에서 읽어 비교한다 — sh -c·자기 IP 로 ssh 해도 같은 답이 나온다. 못 읽으면 «다른 박스» 로 보고 건다(같은 박스였다면 덮어쓰기일 뿐이라 해가 없고, 반대로 잘못 판정하면 run_all.sh AUTO_SHUTDOWN이 TARGET_HOST(P6/coresidency 대상 박스)를 안 끈다 — REPLICA_HOST만 처리 #688 로 돌아간다).
  • 안 끄는 분기(업로드 실패·단계 실패·AUTO_SHUTDOWN=0)에도 «대상도 직접 끌 것» 안내를 붙였다.

#641 — 단계가 실패해도 업로드만 되면 끈다

판단한 것 / 확인 부탁

검증

  • bash -n loadtest/aws/run_all.sh 통과. shellcheck 는 이 환경에 없어 못 돌렸다.
  • 실패 단계 추출 awk 를 가짜 phases.tsv(OK·SKIP·TIMEOUT·FAIL(126) + 지난 호출 FAIL 행)로 돌려 bk=TIMEOUT q2=FAIL(126) 만 나오는 것, 빈 표면 빈 문자열인 것을 확인했다.

미검증

  • 실제 EC2 라운드로 돌려 보지 않았다 — 대상 SSH 로 shutdown 이 실제로 걸리는지, IMDS 인스턴스 ID 비교가 bash -c 구성에서 self 로 판정되는지는 코드 리딩으로만 확인.

Closes #688
Closes #641

🤖 Generated with Claude Code

- #688: 마무리 블록에 TARGET_HOST 분기를 REPLICA_HOST 와 같은 형태로 추가한다.
  대상이 이 박스 자신이면(TARGET_SSH="bash -c" 등) 인스턴스 ID 비교로 걸러 정지를
  두 번 걸지 않는다. 못 읽으면 «다른 박스» 로 보고 건다(틀려도 싼 쪽).
  안 끄는 분기(elif/else)에도 대상을 잊지 말라는 안내를 붙인다.
- #641: FINAL_OK(업로드 성공)는 뜻을 그대로 두고 PHASES_OK 를 따로 둔다 — 이번 호출의
  phases.tsv 행 중 OK·SKIP 이 아닌 것(FAIL(rc)·TIMEOUT)이 하나라도 있으면 이 박스·
  리플리카·대상 전부 안 끄고 실패 단계를 나열한다. SKIP 은 리허설·게이트 FAIL 이 원인이면
  이미 그 행으로 막히고, calibration 같은 일부러 건너뛴 것은 실패가 아니라서 안 센다.
- 헤더 주석과 aws/README.md 의 정지 규칙을 맞춘다. DB_HOST(poolsizing 3대)·
  FP_REMOTE_TARGET(R10-b)은 여전히 안 끈다는 것도 적는다.

미검증: 실제 EC2 라운드로 돌려 보지 않았다(bash -n·판정 awk 단위 확인만).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 23, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Repository: Shadowfit/init/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 9b7ff0c4-8b4f-4551-89b5-79e3a36a253a


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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

Labels

None yet

Projects

None yet

1 participant