Skip to content

fix: 클린 설치 시 installAll 로그 모드 중단·Jenkins 초기화 실패 수정 - #92

Merged
MZC-CSC merged 3 commits into
developfrom
fix/clean-install-startup
Oct 6, 2026
Merged

MZC-CSC merged 3 commits into
developfrom
fix/clean-install-startup

Conversation

@MZC-CSC

@MZC-CSC MZC-CSC commented Oct 2, 2026

Copy link
Copy Markdown
Owner

개요

stage VM 클린 설치 중 발견한 설치 스크립트·Jenkins 초기화·env 결함 3건을 수정합니다.

변경 사항

1. installAll 로그 모드에서 Wave 2 이후가 실행되지 않는 문제 (bin/installAll.sh)

  • 로그 모드가 각 Wave를 attached(./mcc infra run -s ...)로 실행해 Wave 1에서 멈추고, mc-web-console 등 Wave 2~4가 기동되지 않았습니다(웹콘솔 3001 → 502).
  • 모든 Wave를 detached로 실행하는 run_startup_waves()로 통합했습니다. 로그 모드는 전체 기동 후 마지막에만 로그에 attach합니다.
  • Wave 진입점에서 닿지 않는 서비스(cost-optimizer collector/rightsizer 10종, cb-mapui)를 위해 Wave 이후 전체 ./mcc infra run -d 단계를 추가했습니다.

2. Jenkins 플러그인 다운로드 실패 재시도 및 healthcheck 유예 확대 (basic-security.groovy, docker-compose.yaml)

  • update site 다운로드 실패(Connection reset / Connect timed out)는 예외 없이 설치 작업만 Failure로 남아, 누락된 의존 플러그인(joda-time-api 등) 때문에 재시작 후 로드 실패 → 재시작 루프가 반복됐습니다.
  • 플러그인별 마지막 InstallationJob이 Failure면 최대 5회 재시도하고, 끝내 실패하면 명시적으로 예외를 냅니다.
  • 클린 설치 초기화가 약 9.5분 걸려 기존 start_period: 6m + 재시도 3회를 넘겨 unhealthy 판정 → mc-workflow-manager depends_on 실패로 Wave 4가 중단됐습니다. start_period를 15m으로 늘렸습니다(준비되면 즉시 healthy이므로 비용 없음).

3. AWS_IDENTITY_ROLE_ARN 계정 자리 오류 (conf/docker/.env.setup)

  • MC_IAM_MANAGER_AWS_IDENTITY_ROLE_ARN이 계정 ID 자리에 MC_IAM_MANAGER_KEYCLOAK_DOMAIN을 참조하던 오류를 MC_IAM_MANAGER_AWS_ACCOUNT_ID로 수정했습니다(conf/mc-iam-manager/.env.setup과 동일).

테스트

  • Jenkins 재시도 (로컬): jenkins/jenkins:2.504.3-lts-jdk17 + 빈 볼륨으로 클린 부팅 → joda-time-api 다운로드 실패 재현, Retrying failed plugin downloads (1/5)로 복구, 재시작 1회 후 initialization is complete, API 200.
  • 클린 설치 (stage VM, mcmp.stage.cscmzc.com): cleanAll 후 이 브랜치로 installAll.sh -m prod 로그 모드 실행
    • Wave 1~4 → Remaining services → 로그 attach까지 진행, Jenkins 약 4분 만에 healthy(Wave 4 중단 없음)
    • 컨테이너 63개(healthy 36), post-initial exit 0, 웹콘솔 3001 로그인 200
  • 재기동: ./mcc infra stop → ./mcc infra run -d 후 약 3분 내 전 서비스 정상, 상태 재기동 전과 동일
  • VM 재부팅: 수동 조작 없이 전 서비스 자동 기동, 컨테이너 상태·로그인·프록시 포트 모두 재부팅 전과 동일

참고 (이 PR 범위 밖)

  • cleanAll.sh가 conf/docker/.env를 지우지 않고 installAll은 빠진 키만 덧붙여, 재설치 시 이전 값(프록시 포트 등)이 남습니다.
  • .env의 프록시 포트를 바꿔도 ./mcc infra run은 iam nginx의 nginx.conf를 재생성하지 않아 포트가 엇갈립니다(0_preset_prod.sh 재실행 + nginx 컨테이너 재시작 필요).

- 로그 모드가 각 Wave를 attached(compose up)로 실행해 Wave 1에서 멈추고
  이후 Wave(web-console 등)가 영영 기동되지 않던 문제
- 모든 Wave를 detached로 실행하는 run_startup_waves()로 통합, 로그 모드는
  전체 기동 후 마지막에만 로그에 attach
- Wave 진입점에서 닿지 않는 서비스(cost-optimizer collector/rightsizer,
  cb-mapui 등)를 위해 Wave 후 전체 run -d 단계 추가
- update site 다운로드 실패(Connection reset/timeout)는 예외 없이 설치 작업만
  Failure로 남아, 누락된 의존 플러그인(joda-time-api 등) 때문에 재시작 후
  로드 실패와 재시작 루프가 반복됨
- 플러그인별 마지막 InstallationJob이 Failure면 최대 5회 재시도, 끝내 실패하면
  명시적으로 예외 발생
- 클린 설치 초기화가 약 9.5분 소요되어 기존 start_period(6m)+재시도 3회를
  넘겨 unhealthy 판정 → mc-workflow-manager depends_on 실패. start_period 15m로 확대
- 루트 .env.setup의 MC_IAM_MANAGER_AWS_IDENTITY_ROLE_ARN이 계정 ID 자리에
  MC_IAM_MANAGER_KEYCLOAK_DOMAIN을 참조하던 오류 수정
- mc-iam-manager/.env.setup과 동일하게 MC_IAM_MANAGER_AWS_ACCOUNT_ID 사용
@MZC-CSC
MZC-CSC merged commit efe55f6 into develop Oct 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants