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