Skip to content

<fix>[vm]: add cleanup all vm metadata api - #4639

Open
ZStack-Robot wants to merge 1 commit into
zsv_5.1.0from
sync/tao.gan/ZSV-11867@@3
Open

<fix>[vm]: add cleanup all vm metadata api#4639
ZStack-Robot wants to merge 1 commit into
zsv_5.1.0from
sync/tao.gan/ZSV-11867@@3

Conversation

@ZStack-Robot

Copy link
Copy Markdown
Collaborator

sync from gitlab !10563

@MatheMatrix
MatheMatrix force-pushed the sync/tao.gan/ZSV-11867@@3 branch from 47eb986 to 943e03f Compare July 23, 2026 09:02
@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

新增 VM 元数据清理屏障持久化结构,提供全量清理 API 与 SDK,并将清理请求扩展到 Local Storage、NFS Storage 及 KVM 主机代理,同时传递元数据 generation 并汇总失败主存储。

Changes

VM 元数据清理功能

Layer / File(s) Summary
清理屏障与消息契约
conf/db/zsv/..., header/src/main/java/org/zstack/header/vm/metadata/*, header/src/main/java/org/zstack/header/storage/primary/*
新增清理屏障表、实体与状态枚举,定义主存储清理请求/回复消息,并为元数据更新消息增加 generation。
全量清理 API 与 SDK
header/src/main/java/org/zstack/header/vm/APICleanup*, sdk/src/main/java/org/zstack/sdk/CleanupAllVmInstanceMetadata*, testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy
新增 DELETE /v1/vm-instances/metadata API、响应文档、SDK 动作及测试辅助调用。
主存储消息分发与失败汇总
storage/src/main/java/org/zstack/storage/primary/PrimaryStorageBase.java, plugin/localstorage/src/main/java/org/zstack/storage/primary/local/*, plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/*
新增清理消息分发;Local Storage 遍历连接主机并汇总失败,NFS Storage 按主机顺序回退重试。
主机代理清理调用
plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmBackend.java, plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackend*
新增清理命令、响应和代理路径,通过 HTTP 调用主机清理元数据,并传递 metadataGeneration

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant APIClient
  participant PrimaryStorage
  participant HostAgent
  APIClient->>PrimaryStorage: DELETE /v1/vm-instances/metadata
  PrimaryStorage->>HostAgent: 调用 cleanupall 并传递元数据参数
  HostAgent-->>PrimaryStorage: 返回清理结果
  PrimaryStorage-->>APIClient: 返回失败主存储 UUID 列表
Loading

Poem

我是小兔,蹦过元数据田,
清理屏障亮起三色灯。
主存储呼唤代理来,
generation 随风传。
失败名单收进胡萝卜篮!

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ❓ Inconclusive 描述仅提到同步自 GitLab MR !10563,未说明具体改动内容,信息过于笼统。 补充一句简要说明核心改动,例如新增清理全部 VM 元数据的 API。
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed 标题简洁且准确概括了新增“清理全部 VM 元数据”API 的核心改动。
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sync/tao.gan/ZSV-11867@@3

Comment @coderabbitai help to get the list of available commands.

@MatheMatrix
MatheMatrix force-pushed the sync/tao.gan/ZSV-11867@@3 branch 4 times, most recently from dac38e6 to ab895a2 Compare July 24, 2026 11:46

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierState.java (1)

3-6: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

枚举常量请遵循全大写命名。

IdleDrainingCleaning 应改为 IDLEDRAININGCLEANING,并同步更新 schema 中的状态值及所有引用,避免持久化状态名称不一致。

As per path instructions: 常量名必须全部大写,并使用下划线分隔单词。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierState.java`
around lines 3 - 6, 将 VmMetadataCleanupBarrierState 中的枚举常量重命名为全大写的 IDLE、DRAINING
和 CLEANING,并同步更新 schema 状态值及所有引用,确保代码与持久化状态名称保持一致。

Source: Path instructions

plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageBase.java (1)

3658-3661: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

请使用完整变量名。

新增的 bkdidx 不利于理解清理链路。

  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageBase.java#L3658-L3661: 将 bkd 重命名为 backend
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorage.java#L2084-L2108: 将 idx 重命名为 hostIndex,并同步更新递归调用。

As per path instructions:不允许使用不必要的缩写,应使用完整单词提升可读性。

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageBase.java`
around lines 3658 - 3661, Use complete variable names in the cleanup flows:
rename bkd to backend in LocalStorageBase.java at lines 3658-3661 and update all
references; rename idx to hostIndex in NfsPrimaryStorage.java at lines 2084-2108
and update the recursive call and all other references.

Source: Path instructions

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierVO.java`:
- Around line 48-51: 移除 VmMetadataCleanupBarrierVO 的 `@PreUpdate` 回调及其对 lastOpDate
的 null 赋值,保留数据库通过 ON UPDATE CURRENT_TIMESTAMP 自动更新时间,避免向 NOT NULL 时间字段写入空值。

---

Nitpick comments:
In
`@header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierState.java`:
- Around line 3-6: 将 VmMetadataCleanupBarrierState 中的枚举常量重命名为全大写的 IDLE、DRAINING
和 CLEANING,并同步更新 schema 状态值及所有引用,确保代码与持久化状态名称保持一致。

In
`@plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageBase.java`:
- Around line 3658-3661: Use complete variable names in the cleanup flows:
rename bkd to backend in LocalStorageBase.java at lines 3658-3661 and update all
references; rename idx to hostIndex in NfsPrimaryStorage.java at lines 2084-2108
and update the recursive call and all other references.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 740683f9-e512-47c3-b5a9-5c563018ad74

📥 Commits

Reviewing files that changed from the base of the PR and between e587357 and ab895a2.

⛔ Files ignored due to path filters (2)
  • conf/persistence.xml is excluded by !**/*.xml
  • conf/serviceConfig/vmInstance.xml is excluded by !**/*.xml
📒 Files selected for processing (21)
  • conf/db/zsv/V5.1.0__schema.sql
  • header/src/main/java/org/zstack/header/storage/primary/CleanupAllVmMetadataOnPrimaryStorageMsg.java
  • header/src/main/java/org/zstack/header/storage/primary/CleanupAllVmMetadataOnPrimaryStorageReply.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataEvent.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataEventDoc_zh_cn.groovy
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataMsg.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataMsgDoc_zh_cn.groovy
  • header/src/main/java/org/zstack/header/vm/metadata/UpdateVmInstanceMetadataOnPrimaryStorageMsg.java
  • header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierState.java
  • header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierVO.java
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageBase.java
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHypervisorBackend.java
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmBackend.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorage.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageBackend.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackend.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackendCommands.java
  • sdk/src/main/java/org/zstack/sdk/CleanupAllVmInstanceMetadataAction.java
  • sdk/src/main/java/org/zstack/sdk/CleanupAllVmInstanceMetadataResult.java
  • storage/src/main/java/org/zstack/storage/primary/PrimaryStorageBase.java
  • testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy

@MatheMatrix
MatheMatrix force-pushed the sync/tao.gan/ZSV-11867@@3 branch from ab895a2 to 243e5c2 Compare July 24, 2026 12:54

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierVO.java`:
- Around line 41-45: Update the lastOpDate mapping in VmMetadataCleanupBarrierVO
so updates preserve the database’s ON UPDATE CURRENT_TIMESTAMP behavior: either
add a `@PreUpdate` handler that clears lastOpDate before persistence, following
other lastOpDate VOs, or configure the field as database-generated using the
project’s established mapping approach. Leave createDate unchanged.

In
`@plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageBackend.java`:
- Line 104: 为 NfsPrimaryStorageBackend 中新增的
handle(CleanupAllVmMetadataOnPrimaryStorageMsg, String, ReturnValueCompletion)
接口方法补充 Javadoc,明确说明清理所有虚拟机元数据的范围、hostUuid 用于指定相关主机,以及 completion
在操作成功或失败时分别如何回调。
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 0467d3e3-d234-41f0-b10a-d712c9c3fb82

📥 Commits

Reviewing files that changed from the base of the PR and between ab895a2 and 243e5c2.

⛔ Files ignored due to path filters (2)
  • conf/persistence.xml is excluded by !**/*.xml
  • conf/serviceConfig/vmInstance.xml is excluded by !**/*.xml
📒 Files selected for processing (21)
  • conf/db/zsv/V5.1.0__schema.sql
  • header/src/main/java/org/zstack/header/storage/primary/CleanupAllVmMetadataOnPrimaryStorageMsg.java
  • header/src/main/java/org/zstack/header/storage/primary/CleanupAllVmMetadataOnPrimaryStorageReply.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataEvent.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataEventDoc_zh_cn.groovy
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataMsg.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataMsgDoc_zh_cn.groovy
  • header/src/main/java/org/zstack/header/vm/metadata/UpdateVmInstanceMetadataOnPrimaryStorageMsg.java
  • header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierState.java
  • header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierVO.java
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageBase.java
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHypervisorBackend.java
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmBackend.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorage.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageBackend.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackend.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackendCommands.java
  • sdk/src/main/java/org/zstack/sdk/CleanupAllVmInstanceMetadataAction.java
  • sdk/src/main/java/org/zstack/sdk/CleanupAllVmInstanceMetadataResult.java
  • storage/src/main/java/org/zstack/storage/primary/PrimaryStorageBase.java
  • testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy
🚧 Files skipped from review as they are similar to previous changes (19)
  • sdk/src/main/java/org/zstack/sdk/CleanupAllVmInstanceMetadataResult.java
  • header/src/main/java/org/zstack/header/storage/primary/CleanupAllVmMetadataOnPrimaryStorageReply.java
  • header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierState.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataMsgDoc_zh_cn.groovy
  • header/src/main/java/org/zstack/header/storage/primary/CleanupAllVmMetadataOnPrimaryStorageMsg.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataMsg.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataEvent.java
  • header/src/main/java/org/zstack/header/vm/metadata/UpdateVmInstanceMetadataOnPrimaryStorageMsg.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataEventDoc_zh_cn.groovy
  • testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy
  • sdk/src/main/java/org/zstack/sdk/CleanupAllVmInstanceMetadataAction.java
  • conf/db/zsv/V5.1.0__schema.sql
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmBackend.java
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHypervisorBackend.java
  • storage/src/main/java/org/zstack/storage/primary/PrimaryStorageBase.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackendCommands.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackend.java
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageBase.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorage.java


void handle(CleanupVmInstanceMetadataOnPrimaryStorageMsg msg, String hostUuid, ReturnValueCompletion<CleanupVmInstanceMetadataOnPrimaryStorageReply> completion);

void handle(CleanupAllVmMetadataOnPrimaryStorageMsg msg, String hostUuid, ReturnValueCompletion<CleanupAllVmMetadataOnPrimaryStorageReply> completion);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

为新增接口方法补充有效的 Javadoc。

Line 104 新增了主存储清理契约,但缺少接口文档。请说明清理范围、hostUuid 的用途,以及 completion 的成功和失败回调语义,避免不同后端实现产生不一致理解。

建议补充的 Javadoc
+    /**
+     * 在指定主机上清理全部 VM 元数据。
+     *
+     * `@param` msg 清理请求,包含主存储和元数据 generation
+     * `@param` hostUuid 执行清理的主机 UUID
+     * `@param` completion 清理成功或失败后的回调
+     */
     void handle(CleanupAllVmMetadataOnPrimaryStorageMsg msg, String hostUuid,
             ReturnValueCompletion<CleanupAllVmMetadataOnPrimaryStorageReply> completion);
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
void handle(CleanupAllVmMetadataOnPrimaryStorageMsg msg, String hostUuid, ReturnValueCompletion<CleanupAllVmMetadataOnPrimaryStorageReply> completion);
/**
* 在指定主机上清理全部 VM 元数据
*
* `@param` msg 清理请求包含主存储和元数据 generation
* `@param` hostUuid 执行清理的主机 UUID
* `@param` completion 清理成功或失败后的回调
*/
void handle(CleanupAllVmMetadataOnPrimaryStorageMsg msg, String hostUuid,
ReturnValueCompletion<CleanupAllVmMetadataOnPrimaryStorageReply> completion);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageBackend.java`
at line 104, 为 NfsPrimaryStorageBackend 中新增的
handle(CleanupAllVmMetadataOnPrimaryStorageMsg, String, ReturnValueCompletion)
接口方法补充 Javadoc,明确说明清理所有虚拟机元数据的范围、hostUuid 用于指定相关主机,以及 completion
在操作成功或失败时分别如何回调。

Source: Path instructions

@MatheMatrix
MatheMatrix force-pushed the sync/tao.gan/ZSV-11867@@3 branch 6 times, most recently from 88ef86d to cb73e57 Compare July 27, 2026 05:32
APIImpact

Resolves: ZSV-11867

Change-Id: I6c7767706a706e72756b7964646877676c626767
@MatheMatrix
MatheMatrix force-pushed the sync/tao.gan/ZSV-11867@@3 branch from cb73e57 to 412e8bf Compare July 27, 2026 09:55

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierVO.java (1)

42-45: ⚠️ Potential issue | 🟠 Major

不要在 @PreUpdate 中把 lastOpDate 设为 null

当前回调会让 ORM 在更新时显式写入 NULL。如果数据库字段是 NOT NULL TIMESTAMP 并依赖 ON UPDATE CURRENT_TIMESTAMP,在启用 explicit_defaults_for_timestamp 的 MySQL 配置下可能直接更新失败。请移除该回调,或改用项目既有的数据库生成字段映射方式。

该问题与历史审查意见重复,当前代码仍未修复。

建议修复
-    `@PreUpdate`
-    private void preUpdate() {
-        lastOpDate = null;
-    }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierVO.java`
around lines 42 - 45, Remove the `@PreUpdate` preUpdate() callback in
VmMetadataCleanupBarrierVO that assigns null to lastOpDate; preserve lastOpDate
for the database’s automatic ON UPDATE timestamp behavior and do not introduce
explicit NULL writes.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In
`@header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierVO.java`:
- Around line 42-45: Remove the `@PreUpdate` preUpdate() callback in
VmMetadataCleanupBarrierVO that assigns null to lastOpDate; preserve lastOpDate
for the database’s automatic ON UPDATE timestamp behavior and do not introduce
explicit NULL writes.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 68a3f115-3af9-4275-93eb-d06df34449b5

📥 Commits

Reviewing files that changed from the base of the PR and between 88ef86d and 412e8bf.

⛔ Files ignored due to path filters (2)
  • conf/persistence.xml is excluded by !**/*.xml
  • conf/serviceConfig/vmInstance.xml is excluded by !**/*.xml
📒 Files selected for processing (22)
  • conf/db/zsv/V5.1.0__schema.sql
  • header/src/main/java/org/zstack/header/storage/primary/CleanupAllVmMetadataOnPrimaryStorageMsg.java
  • header/src/main/java/org/zstack/header/storage/primary/CleanupAllVmMetadataOnPrimaryStorageReply.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataEvent.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataEventDoc_zh_cn.groovy
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataMsg.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataMsgDoc_zh_cn.groovy
  • header/src/main/java/org/zstack/header/vm/metadata/UpdateVmInstanceMetadataOnPrimaryStorageMsg.java
  • header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierState.java
  • header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierVO.java
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageBase.java
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHypervisorBackend.java
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmBackend.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorage.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageBackend.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackend.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackendCommands.java
  • sdk/src/main/java/org/zstack/sdk/CleanupAllVmInstanceMetadataAction.java
  • sdk/src/main/java/org/zstack/sdk/CleanupAllVmInstanceMetadataResult.java
  • storage/src/main/java/org/zstack/storage/primary/PrimaryStorageBase.java
  • testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy
  • testlib/src/main/java/org/zstack/testlib/VmMetadataCleanupBarrierDBRemaining.groovy
🚧 Files skipped from review as they are similar to previous changes (18)
  • sdk/src/main/java/org/zstack/sdk/CleanupAllVmInstanceMetadataResult.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataEventDoc_zh_cn.groovy
  • header/src/main/java/org/zstack/header/vm/metadata/VmMetadataCleanupBarrierState.java
  • header/src/main/java/org/zstack/header/storage/primary/CleanupAllVmMetadataOnPrimaryStorageMsg.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataMsg.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataMsgDoc_zh_cn.groovy
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageHypervisorBackend.java
  • header/src/main/java/org/zstack/header/vm/APICleanupAllVmInstanceMetadataEvent.java
  • testlib/src/main/java/org/zstack/testlib/ApiHelper.groovy
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackendCommands.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorage.java
  • header/src/main/java/org/zstack/header/vm/metadata/UpdateVmInstanceMetadataOnPrimaryStorageMsg.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageKVMBackend.java
  • sdk/src/main/java/org/zstack/sdk/CleanupAllVmInstanceMetadataAction.java
  • conf/db/zsv/V5.1.0__schema.sql
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageKvmBackend.java
  • plugin/localstorage/src/main/java/org/zstack/storage/primary/local/LocalStorageBase.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsPrimaryStorageBackend.java

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.

2 participants