Skip to content

feat: 관리자 콘솔에 Pod GPU 노드 마이그레이션 UI 추가 - #48

Open
yoon6yo wants to merge 1 commit into
mainfrom
feature/issue-47
Open

feat: 관리자 콘솔에 Pod GPU 노드 마이그레이션 UI 추가#48
yoon6yo wants to merge 1 commit into
mainfrom
feature/issue-47

Conversation

@yoon6yo

@yoon6yo yoon6yo commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

요약

  • AdminRequestController에 새로 추가된 POST /api/admin/requests/{requestId}/migrate를 트리거하는 관리자 UI를 신청서 관리 화면(RequestManagementPage)에 추가
  • FULFILLED 상태 행에 "마이그레이션" 액션 추가 → 모달에서 후보 노드(같은 리소스 그룹 소속, gpu-types API로 조회) 체크박스 선택 + 최소 개선 비율 입력 → 실행
  • 결과 처리: migrated(성공, from→to 안내 후 목록 새로고침) / skipped(사유 안내) / 에러(409/타임아웃/일반 오류 각각 다른 메시지, 기존 승인 플로우와 동일한 패턴)
  • apiClient.postpatch/put처럼 fetch 옵션을 받을 수 있도록 확장 (타임아웃 지정 위해 필요)

판단 근거 (요청받은 초안과 다르게 간 부분)

  • 원래는 "컨테이너 관리"(ContainerManagement/ContainerDetail) 화면에 붙이는 걸 검토했으나, 그 화면이 쓰는 ContainerInfoDTOrequestId가 아예 없어서 API 호출이 불가능했습니다. requestId를 가진 "신청서 관리" 화면에 붙였습니다.
  • 노드 선택 UI는 디자인시스템에 멀티셀렉트/체크박스 컴포넌트가 없어서 순수 HTML checkbox + 기존 유틸리티 클래스로 구현했습니다.
  • 테스트 프레임워크가 이 레포에 없어(vitest/jest 미설정) eslint(0 error) + 수동 코드 리뷰로 검증했습니다.

전제

POST /api/admin/requests/{requestId}/migrate가 admin_be develop에 머지되어 있어야 동작합니다 (PR #398).

Closes #47

승인된 신청 건의 실행 중인 Pod를 다른 GPU 노드로 옮기는 관리자 액션을
신청서 관리 화면에 추가했다. 대상 노드는 같은 리소스 그룹에 속한 노드
목록(gpu-types API)에서 가져와 체크박스로 고르게 하고, 실수로 실행되지
않도록 경고 문구와 진행 상태 표시를 넣었다. migrated/skipped/에러 세
결과를 각각 다르게 안내하고, 성공 시 목록을 새로고침해 최신 포트 정보를
반영한다.

apiClient.post가 patch/put처럼 fetch 옵션(타임아웃 등)을 받을 수 있도록
확장했다 — 승인 API와 동일하게 새 Pod 기동 대기까지 포함한 여유 시간이
필요해서다.

Closes #47
@yoon6yo

yoon6yo commented Aug 27, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

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.

관리자 콘솔에 Pod GPU 노드 마이그레이션 UI 추가

1 participant