Skip to content

[Europa][Epic #1554] 가상머신용 네트워크 API·UI·KVM 정합성 개선 - #1577

Draft
dhslove wants to merge 164 commits into
ablecloud-team:ablestack-europafrom
dhslove:dhslove/epic-1554-guest-networks
Draft

dhslove wants to merge 164 commits into
ablecloud-team:ablestack-europafrom
dhslove:dhslove/epic-1554-guest-networks

Conversation

@dhslove

@dhslove dhslove commented Nov 3, 2026 •

Copy link
Copy Markdown

가상머신용 네트워크의 API 조건과 UI 표시·작업 조건이 어긋나 DNS/오퍼링 변경, 유형별 탭·연결 자원 이동과 비동기 작업 결과를 잘못 안내했다. 실제 자원·권한·유형에 따라 조회와 실행을 연결하고, 관리자 물리망 이동 및 삭제 의존성·실패 재시도를 VM UI 기준으로 제공한다.

누적 변경

  • DNS·오퍼링 후보·제공자 적합성·LB 설정, Isolated/L2/Shared 생성·탭·사용량·VM 연결·고급 API 노출 계약을 정리한다.
  • 관리자 전용 물리망 이동/실패 재개와 KVM NIC·브리지/VLAN 계약을 보완한다.
  • #1568에서 작업 접수/완료 분리, 전용 삭제 진단·직렬 일괄·실패 항목 재시도·서버 이력 복구, 규칙/IP 입력·오류 보존과 읽기 재시도를 추가했다. Root 관리자 IP job 클래스와 방화벽 IP/Network ID 및 목록 일괄 버튼을 실제 UI 검증 중 수정했다.
  • VM 공통 목록·상세·탭·breadcrumb와 MoldDialog를 사용한다. 삭제/방화벽/PF/IP 팝업의 의미별 입력·14px·고정 footer·모바일·즉시 light/dark 전환을 확인한다.

완료 범위: #1556, #1555, #1559, #1558, #1561, #1562, #1557, #1580, #1565, #1564, #1560, #1567, #1566, #1563, #1568, #1575, #1576, #1574, #1573, #1570, #1571, #1572 (22/23, Epic #1554 Open). #1569는 배포 후 통합 회귀 진행 중이다.

최신 검증

31 GFS2·32 Glue RBD에서 사용 중 삭제6건 거부, 혼합 선택·부분 성공·실패만 재시도, Root/User·전체 구성 탭/Public IP7탭, 규칙/IP 실제 job과 오류 입력 보존·합성 읽기 실패·화면 이동을 확인했다. 실제 A→B 이동 중/후 카운터·UUID/IP/MAC·같은 호스트의 VM/VR·SSH/gateway ping도 일치했다. UI 활성 문자 측정 최저5.19:1·가로 넘침0·70 JPEG 크기/해시 검증. 이전 #1563 자원과 이번 temp 잔여를 정리하고 새 확인용 망6/VM2/VR4·관련 자원을 유지한다. 운영 망31/VM176과 주 FT 작업을 보존했다.

로컬 변경 모듈 orchestration74/server90/UI424 시험, lint·UI production build PASS. 전체 orchestration의 기존6 NPE는 원본에서도 재현했다. 변경 Java 스타일 추가오류0 및 변경 코드/문서 ASF header·UTF-8·자격 증명 비포함 확인은 전체 저장소 CI와 구분한다. 전체 Cloud/qemu·수동 Actions 빌드를 실행하지 않았다.

설계·검증·최종 배포 해시 · 70개 UI 캡처 · 유지 자원. 최종 실행 소스35d4fbd850a5deca30133aaf5cf9fad29fddeab7, 이후 증적 커밋은 실행 소스를 바꾸지 않는다. 양쪽 JAR34 entry와 정적655 파일 해시, WEB-INF/운영 설정·HTTP200·FTCTL marker 보존을 확인했다.

범위와 남은 결함

#1586 Glue RBD/libvirt 정리 결함은 미해결/Open이다. 이미지가 존재하는데 libvirt 삭제가 ENOENT를 반환했다. #1568은 이를 job 실패로 전달하고 망/라우터를 보존한다. 전용 시험 이미지에 운영자 일반 rbd rm·캐시 갱신 후 UI 재시도한 결과를 운영자 조치 없는 전체 경로 PASS로 계산하지 않는다. 강제 삭제·DB 직접 수정0.

no-SourceNat/VPC/외부 제공자/IPv6·모든 역할/프로젝트·전 서비스 전달은 후속 범위다. VLAN switch 미구성에 따라 VM/VR를 같은 호스트에 배치했고 백엔드 부하 분산 트래픽은 시험하지 않았다. 자동 저장소 License/pre-commit 등 Checks는 실제 최종 head 상태를 별도로 보고한다. 같은 Epic 브랜치의 Draft·Open PR을 유지하며 병합·Epic 종료는 수행하지 않는다.

#1575 구현 범위 완료 (2026-11-06)

권한 탭과 추가·회수·재설정, VM 배포·NIC 후보, 네트워크/Public IP의 이벤트·코멘트 범위를 보강했다. 방화벽·포트포워딩·LB 태그는 VM 상세 공통 편집기를 사용하고 부모 IP와 규칙 UUID를 구분한다.

31 GFS2·32 Glue RBD에서 계정·프로젝트 권한 부여, 기본 NIC 변경과 기존 NIC 보존, 회수 후 신규 사용 차단, L2 연결, 입력 오류 수정·재시도, 390/768/1280px와 라이트/다크를 확인했다. UI 집중 시험 493건과 로컬 production build가 통과했다. 초기 VM은 API로 준비했고, 다중 Zone·내장 NIC 템플릿·백엔드 전달은 별도 범위다.

완료 보고 · 브라우저 캡처 · 확인용 자원

실행 소스 c5515483d8c8324b89751ac655bd129929307ca7. 증적 커밋에서 실행 코드는 변경하지 않았다.

#1576 오퍼링 UI 반영 및 검증

생성 시 유형·모드·제공자에 맞는 값만 제출한다. 기본 복제는 원본 서비스·제공자·도메인·Zone을 이어받으며 같은 유형에서 변경할 수 있다. 상세의 서비스 및 제공자 탭과 사용 네트워크 안내를 보강했다.

31·32 실제 UI와 API를 대조했다. 이전 #1575 시험 자원을 정리하고 확인용 오퍼링과 네트워크를 남겼다. 로컬 UI 집중 시험 497건과 production build가 통과했다. 실제 검증 조합과 외부 제공자·전달 검증 범위는 보고서에 기록했다.

완료 보고 · UI 캡처 · 유지 자원

#1574 조건부 탭과 Skudonet VNF

BGP·IPv4 라우팅·IPv6·Tungsten·VNF·사용자 지정 작업을 유형/서비스/권한별로 표시하고, 미지원 URL·조회 실패·빈 목록을 구분한다. 31·32에서 Static Routed 방화벽과 Skudonet 7.2.1 VNF 연결을 UI와 API로 확인했다. IPv6·BGP·Tungsten·네트워크 확장의 실제 제공자 검증은 환경이 준비된 뒤 #1569에서 추적한다.

검증 보고 · UI 캡처 · 유지 자원

#1573 Public IP 상세

IP 상태와 서비스에 따른 탭, NAT/PF 대상 VM·NIC 범위, 방화벽 교체 복구, LB 작업과 VPN 공유 키 표시를 개선했다. 31·32 실환경에서 확인한 범위와 미검증 조건은 보고서에 구분했다.

검증 보고 · UI 캡처 · 유지 자원

#1570 Isolated 네트워크 구현과 검증

생성 오퍼링·VPC의 소유 범위, VPC 호환성 검사, 가상 라우터 탭, Public IP와 Source NAT 작업을 개선했다. 31·32에서 NAT/no-SourceNat/VPC tier/Static Routed를 UI로 만들었고 유형별 시험망과 VM 4개씩을 남겼다. 32에서는 동일 목적지의 송신 규칙 허용·차단을 실제 게스트로 확인했다.

Dynamic Routed ASN과 IPv6·DualStack 설정 제약, no-SourceNat 게스트의 일부 실통신 미확인 조건은 검증표에 기록했다. 다음 구현은 #1571이다.

검증 보고 · 유형·탭 검증표 · UI 캡처 · 확인용 자원

#1571 L2 네트워크 구현과 검증

31·32의 L2 생성·상세·수정을 보강했다. 기본 VLAN·ConfigDrive와 PVLAN 3종을 UI로 만들었고 양쪽 VM NIC를 추가·제거했다. 동일 호스트의 VLAN 772는 양방향 통신에 성공했고 772↔773은 양방향 응답이 없었다. ConfigDrive ISO의 VM별 사용자 데이터를 확인했다.

PVLAN 패킷 정책, 호스트 간 VLAN, 게스트 cloud-init 실행·설정 지속성, 추가 소유권 조합은 #1569에 넘긴다. 31·32에 각각 시험망 5개와 VM 2개를 남겼다. 다음 구현은 #1572다.

검증 보고 · 유형·탭 검증표 · UI 캡처 11장 · 확인용 자원

#1572 Shared 네트워크 구현과 검증

31·32에서 모두·도메인·계정·프로젝트·연관망·듀얼 스택을 UI로 생성했다. 사용 범위 가시성, 게스트 IP 할당·반납, IPv4 범위 조작, VM DHCP·DNS와 동일 호스트 양방향 통신을 확인했다. 31번 Shared 8개, 32번 Shared 6개, 연관 L2와 VM 두 대씩을 남겼다.

IPv6 게스트 통신, PVLAN 전달 정책, 외부 DNS 영역 연결 및 호스트 간 경로는 #1569 통합 회귀로 넘긴다.

검증 보고 · 유형·탭 검증표 · UI 캡처 19장 · 확인용 자원

통합 회귀 진행 (2026-11-09, #1600 완료)

This branch has not been deployed

No deployments
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