Skip to content

N2K Cloud cutover 전원 정책 및 MAC 보존 UI 연동#833

Merged
dhslove merged 3 commits into
ablecloud-team:ablestack-europafrom
dhslove:codex/n2k-cloud-preserve-mac
May 26, 2026
Merged

N2K Cloud cutover 전원 정책 및 MAC 보존 UI 연동#833
dhslove merged 3 commits into
ablecloud-team:ablestack-europafrom
dhslove:codex/n2k-cloud-preserve-mac

Conversation

@dhslove
Copy link
Copy Markdown

@dhslove dhslove commented May 26, 2026

개요

N2K 기반 Nutanix VM 가져오기에서 Cloud 관점의 cutover 동작을 보완합니다. 원본 MAC 주소 보존 흐름을 UI에 명확히 표시하고, Phase2 cutover 이후 대상 VM을 자동 시작할지 또는 정지 상태로 유지할지 선택할 수 있도록 API, Backend, KVM wrapper, UI를 연결했습니다.

주요 변경 사항

  • importUnmanagedInstanceForAblestackN2K API에 starttargetvm 파라미터를 추가했습니다.
  • 신규 N2K 가져오기 등록 시 기본값은 기존 동작과 동일하게 대상 VM 자동 시작입니다.
  • Phase2 실행 모달에서 대상 VM 전원 정책을 선택할 수 있도록 했습니다.
    • 기존 설정 유지
    • 대상 VM 시작
    • 대상 VM 정지 유지
  • Backend에서 startTargetVm 값을 task source context에 저장하고, retry/resume/phase2 실행 시 재사용하도록 했습니다.
  • KVM wrapper에서 startTargetVm=true--start, false--apply로 전달하도록 했습니다.
  • N2K import dialog에 원본 NIC MAC 주소 보존 안내를 추가했습니다.
  • 관련 한글/영문 i18n 문구를 추가했습니다.
  • KVM wrapper 단위 테스트에 --start / --apply 전달 검증을 추가했습니다.
  • 설계 문서를 추가했습니다.

DB 변경

  • DB 스키마 변경 없음.
  • 신규 테이블/컬럼 추가 없음.
  • import_vm_task 계열의 기존 source context JSON에 startTargetVm 값을 저장해 재사용합니다.
  • 따라서 별도 DB migration은 필요하지 않습니다.

검증

  • Maven module build:
    • mvn -pl api,core,server,plugins/hypervisors/kvm -am -DskipTests install
  • KVM wrapper test:
    • mvn -pl plugins/hypervisors/kvm -Dtest=LibvirtAblestackN2KConvertInstanceCommandWrapperTest test
  • UI build:
    • npm run build
  • 22.x 테스트 환경 반영 후 mold-agent.service 정상 기동 및 관리 서버 ReadyAnswer/host stats 수신을 확인했습니다.

배포 주의 사항

22.x 공유 개발 환경에서는 새 브랜치에서 빌드한 전체 cloud-core 또는 KVM plugin jar를 그대로 덮어쓰지 않아야 합니다. 현재 호스트 런타임과 다른 신규 의존성이 포함될 수 있으므로, 호스트에 배포된 기존 jar 백업본을 기준으로 필요한 변경 클래스만 패치하거나, 전체 런타임 정합 패키지를 명시적으로 승인받고 반영해야 합니다.

@dhslove dhslove merged commit 7eb3b6e into ablecloud-team:ablestack-europa May 26, 2026
8 of 10 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