From e4e645bcaa07327564afedccf42699e3ae8978b1 Mon Sep 17 00:00:00 2001 From: "ye.zou" Date: Thu, 14 May 2026 23:35:42 +0800 Subject: [PATCH] [compute]: clean vm device addresses before vm db deletion Resolves: ZSTAC-82264 --- .../compute/vm/devices/VmInstanceDeviceManagerImpl.java | 7 ++++++- conf/springConfigXml/VmInstanceManager.xml | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/compute/src/main/java/org/zstack/compute/vm/devices/VmInstanceDeviceManagerImpl.java b/compute/src/main/java/org/zstack/compute/vm/devices/VmInstanceDeviceManagerImpl.java index 96bd11d0b37..9a73f59a8ce 100644 --- a/compute/src/main/java/org/zstack/compute/vm/devices/VmInstanceDeviceManagerImpl.java +++ b/compute/src/main/java/org/zstack/compute/vm/devices/VmInstanceDeviceManagerImpl.java @@ -27,7 +27,7 @@ import static org.zstack.core.Platform.operr; import static org.zstack.utils.clouderrorcode.CloudOperationsErrorCode.*; -public class VmInstanceDeviceManagerImpl implements VmInstanceDeviceManager { +public class VmInstanceDeviceManagerImpl implements VmInstanceDeviceManager, VmJustBeforeDeleteFromDbExtensionPoint { private static final CLogger logger = Utils.getLogger(VmInstanceDeviceManagerImpl.class); @Autowired private DatabaseFacade dbf; @@ -340,6 +340,11 @@ public List getAddressArchiveInfoFromArchiveFo .list(); } + @Override + public void vmJustBeforeDeleteFromDb(VmInstanceInventory inv) { + deleteVmDeviceAddress(inv.getUuid()); + } + private boolean vmExists(String vmInstanceUuid) { return dbf.isExist(vmInstanceUuid, VmInstanceVO.class); } diff --git a/conf/springConfigXml/VmInstanceManager.xml b/conf/springConfigXml/VmInstanceManager.xml index ef3d5a7cc9e..3407a4e981a 100755 --- a/conf/springConfigXml/VmInstanceManager.xml +++ b/conf/springConfigXml/VmInstanceManager.xml @@ -200,7 +200,11 @@ - + + + + + virtio