Skip to content

v2k cutover 부트스트랩 실패 시 SATA fallback 추가#34

Merged
dhslove merged 2 commits into
ablecloud-team:mainfrom
dhslove:codex/v2k-cutover-sata-fallback
Jun 12, 2026
Merged

v2k cutover 부트스트랩 실패 시 SATA fallback 추가#34
dhslove merged 2 commits into
ablecloud-team:mainfrom
dhslove:codex/v2k-cutover-sata-fallback

Conversation

@dhslove

@dhslove dhslove commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

개요

v2k cutover 과정에서 Windows WinPE 또는 Linux initramfs 부트스트랩 단계가 실패하는 경우, 마이그레이션 전체를 즉시 중단하지 않고 대상 디스크 컨트롤러를 SATA로 낮춰 Cloud/libvirt 등록을 계속 진행할 수 있도록 개선했습니다.

해당 부트스트랩 단계는 게스트 OS에 VirtIO/SCSI 계열 디스크 드라이버를 활성화하기 위한 보조 단계입니다. 이 단계만 실패한 경우에도 SATA/AHCI 컨트롤러로 등록하면 게스트 기본 드라이버로 부팅 가능성이 있으므로, fallback 경로를 제공합니다.

주요 변경

  • ablestack_v2k cutover에 부트스트랩 실패 fallback 정책을 추가했습니다.
    • --bootstrap-fallback sata|off
    • --no-bootstrap-fallback
    • 기본값은 sata입니다.
  • Linux initramfs 부트스트랩 실패 시 runtime.bootstrap_fallback.bus=sata를 manifest에 기록하고 cutover를 계속 진행합니다.
  • Windows WinPE 부트스트랩 실패 시 SATA fallback을 기록하고 cutover를 계속 진행합니다.
  • Cloud target deploy parameter 생성 시 fallback 상태이면 다음 값을 강제합니다.
    • details[0].rootDiskController=sata
    • details[0].dataDiskController=sata
  • libvirt XML 생성 시 fallback 상태이면 SATA controller와 SATA disk bus를 사용합니다.
  • libvirt 대상 Windows WinPE 실패 시 기존 VM 정의를 해제한 뒤 SATA fallback XML로 재정의합니다.
  • bash completion에 신규 옵션을 반영했습니다.
  • 테스트 릴리즈 중 확인된 Rocky 9.7 repo root 문제를 보정했습니다.
    • pub/rocky/9.7 대신 vault/rocky/9.7 사용

검증

  • 로컬 문법/정적 검증
    • bash -n bin/ablestack_v2k.sh completions/ablestack_v2k lib/v2k/engine.sh lib/v2k/target_cloud.sh lib/v2k/target_libvirt.sh
    • git diff --check
  • fallback smoke test
    • 임시 manifest 기준 Cloud deploy details에 SATA controller 반영 확인
    • 임시 manifest 기준 libvirt XML에 SATA controller/bus 반영 확인
  • 로컬 빌드
    • make v2k-rpm 성공
  • origin 테스트 릴리즈
    • v0.9.2 태그를 af38c5d로 재푸시
    • V2K Compatibility Smoke 성공: 27320312392
    • WinPE Release Build 성공: 27320312405
    • 수정 브랜치 기준 수동 통합 릴리즈 성공: 27320635149

참고

origin의 자동 workflow_run 통합 릴리즈는 origin 기본 브랜치의 workflow 정의를 사용하므로, 기본 브랜치에 Rocky 9.7 vault 보정이 없는 상태에서는 동일하게 실패했습니다. 수정 브랜치의 workflow 정의로 workflow_dispatch를 실행했을 때는 V2K 9.6/9.7 RPM 빌드와 최종 Release 생성까지 정상 완료됐습니다.

@dhslove dhslove merged commit bc9e722 into ablecloud-team:main Jun 12, 2026
2 checks 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.

1 participant