<fix>[vm]: add MetadataImpact#3601
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (5)
📒 Files selected for processing (148)
Walkthrough新增完整的云主机元数据子系统:API/消息/事件、数据库表、全局配置、扩展点、主存储(Local/NFS)与KVM 后端集成,以及元数据注册/读取/扫描/清理流程与 GC 重试机制。 Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant API
participant Compute
participant PrimaryStorage
participant KVMHost
participant Database
Client->>API: POST /vm-instances/metadata/register
API->>Compute: APIRegisterVmInstanceFromMetadataMsg
Compute->>Compute: 校验 metadataPath(通过扩展点)
alt path valid
Compute->>PrimaryStorage: GetVmInstanceMetadataFromPrimaryStorageMsg
PrimaryStorage->>KVMHost: agent HTTP 请求 (GET metadata)
KVMHost->>PrimaryStorage: 返回 metadata
PrimaryStorage->>Compute: GetVmInstanceMetadataFromPrimaryStorageReply(metadata)
Compute->>Database: 持久化/创建 VM 记录
Compute->>API: APIRegisterVmInstanceFromMetadataEvent(success)
API->>Client: 返回注册结果
else invalid
Compute->>API: 返回错误事件
API->>Client: 返回失败
end
sequenceDiagram
participant Client
participant API
participant Compute
participant PrimaryStorage
participant KVMHost
Client->>API: PUT /vm-instances/metadata/cleanup
API->>Compute: APICleanupVmInstanceMetadataMsg(vmUuids)
Compute->>PrimaryStorage: CleanupVmInstanceMetadataOnPrimaryStorageMsg (per-ps)
PrimaryStorage->>KVMHost: agent HTTP POST /cleanup-metadata
KVMHost->>PrimaryStorage: CleanupRsp
PrimaryStorage->>Compute: Cleanup reply
Compute->>API: APICleanupVmInstanceMetadataEvent(result)
API->>Client: 返回清理结果
Estimated code review effort🎯 4 (复杂) | ⏱️ ~60 分钟 Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
|
|
Comment from yaohua.wu: Review: MR !9461 — ZSV-11559 【注册虚拟机】(zstack core)
总体评价本 MR 是 VM 注册功能的核心框架层:定义了
153 个文件改动中,大部分是 API 消息类上新增 Warning1. 🟡 [VmExpungeMetadataFlow.java] Completion AsyncBackup 参数需确认// Line ~80 (推测)
bus.send(msg, new CloudBusCallBack(trigger) {
2. 🟡 [VmGlobalConfig.java]
|
8f986c3 to
b18062f
Compare
APIImpact Resolves: ZSV-11559 Change-Id: I6b6a6378627264646d6a76726762736e77787373
b18062f to
dfbb104
Compare
APIImpact
Resolves: ZSV-11559
Change-Id: I6b6a6378627264646d6a76726762736e77787373
sync from gitlab !9461