hangctl 라이브 마이그레이션 보호 로직 개선#35
Merged
dhslove merged 1 commit intoJun 16, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
개요
hangctl이 장시간 라이브 마이그레이션 중인 VM을 일반 hang 상태로 오판해virsh destroy경로로 진입할 수 있는 문제를 방지합니다.기존 로직은
domstate --reason문자열에migration이 포함되는 경우만 마이그레이션으로 강하게 인식했고,HANGCTL_MIGRATION_PROGRESS_CHECK_SEC설정은 실제 zombie 판정에 사용되지 않았습니다. 이 PR은domjobinfo기반 분류와 진행률 추적을 추가해, 진행 중인 마이그레이션은 보호하고 실제로 진행이 멈춘 마이그레이션만 확인된 zombie로 처리하도록 개선합니다.주요 변경사항
domjobinfo의Operation,Job type, memory/data progress 필드를 사용해 migration job과 backup/block job을 분리합니다.Data processed,Memory processed,Memory remaining값을 bytes로 정규화해 진행률을 비교합니다.HANGCTL_MIGRATION_PROGRESS_CHECK_SEC를 실제 no-progress grace window로 사용합니다.VERSION을0.9.2로 맞췄습니다.검증
로컬 WSL 환경에서 아래 검증을 완료했습니다.
bash -n bin/ablestack_vm_hangctl.sh lib/hangctl/*.sh tests/hangctl_migration_protection_smoke.sh bash tests/hangctl_migration_protection_smoke.sh git diff --check make hangctl-rpmGitHub Actions 테스트 릴리즈도 완료했습니다.
영향 범위
hangctl감지/상태 캐시/테스트/문서에 한정됩니다.