Skip to content

RPM 설치 시 구버전 관리 JAR 정리 및 스키마 정합성 검증 - #882

Open
dhslove wants to merge 2 commits into
ablecloud-team:ablestack-europafrom
dhslove:fix/europa-rpm-schema-cleanup
Open

RPM 설치 시 구버전 관리 JAR 정리 및 스키마 정합성 검증#882
dhslove wants to merge 2 commits into
ablecloud-team:ablestack-europafrom
dhslove:fix/europa-rpm-schema-cleanup

Conversation

@dhslove

@dhslove dhslove commented Aug 10, 2026

Copy link
Copy Markdown

변경 개요

Europa 관리 서버 RPM 설치 시 RPM이 소유하지 않는 구버전 CloudStack JAR을 격리하고, 최신 패키지의 스키마 리소스만 사용한 상태에서 Mold 서비스를 시작하도록 개선합니다.

문제 원인

  • 관리 서버의 /usr/share/cloudstack-management/lib에 수동 배포 후 남은 구버전 cloud-engine-schema JAR이 존재했습니다.
  • 해당 JAR은 RPM 소유 파일이 아니었지만 와일드카드 클래스패스에서 최신 fat JAR보다 먼저 스키마 리소스를 제공했습니다.
  • 그 결과 최신 코드가 요구하는 shared_filesystem_view.network_mode 등의 컬럼이 DB에 반영되지 않아 공유 파일시스템 조회가 실패했습니다.

주요 변경

  • cloudstack-management-cleanup-jars를 추가해 RPM 비소유 1차 CloudStack JAR만 안전한 격리 디렉터리로 이동합니다.
  • 관리 패키지 %posttrans에서 정리 작업을 Mold 재시작보다 먼저 수행합니다.
  • 정리 실패 시 서비스 시작을 중단해 혼합 클래스패스로 기동하지 않도록 처리합니다.
  • Rocky 9.7 RPM 빌드에서 다음 정합성 검사를 추가합니다.
    • 관리 RPM 안에 애플리케이션 fat JAR이 정확히 하나인지 확인
    • 독립 cloud-engine-schema JAR이 포함되지 않았는지 확인
    • fat JAR 내부 Europa 스키마 및 SharedFS 뷰 SQL이 소스와 정확히 일치하는지 확인

사용자 영향

  • 릴리스 패키지를 설치하면 이전 수동 배포에서 남은 비소유 JAR 때문에 DB 마이그레이션이 누락되는 문제를 설치 단계에서 자동으로 방지합니다.
  • 공유 파일시스템 메뉴에서 shared_filesystem_view.network_mode 컬럼 오류가 발생하지 않습니다.

검증

  • git diff --check 통과
  • 정리 도구 단위 시나리오 통과
    • 비소유 1차 JAR 격리
    • RPM 소유 JAR 유지
    • 서드파티 JAR 유지
  • noredist 릴리스 빌드 및 KVM SystemVM Template 빌드 성공
  • 22.10 테스트 서버에 새 RPM 설치 후 확인
    • mold.service: active/enabled
    • /client/: HTTP 200
    • SharedFS 테이블 및 뷰의 네트워크 컬럼 6개 확인
    • listSharedFileSystems: 정상 응답
    • 브라우저 공유 파일시스템 목록 정상 표시
    • 설치 후 동일 Unknown column 오류 재발 없음

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.

1 participant