|
11 | 11 | import org.zstack.core.db.DatabaseFacade; |
12 | 12 | import org.zstack.core.db.Q; |
13 | 13 | import org.zstack.core.db.SQL; |
| 14 | +import org.zstack.core.db.SQLBatch; |
14 | 15 | import org.zstack.core.workflow.SimpleFlowChain; |
15 | 16 | import org.zstack.header.core.Completion; |
16 | 17 | import org.zstack.header.core.NoErrorCompletion; |
|
37 | 38 | import org.zstack.header.vm.VmInstanceMigrateExtensionPoint; |
38 | 39 | import org.zstack.header.vm.VmInstanceSpec; |
39 | 40 | import org.zstack.header.vm.VmInstantiateResourceException; |
| 41 | +import org.zstack.header.vm.VmJustBeforeDeleteFromDbExtensionPoint; |
40 | 42 | import org.zstack.header.vm.VmMigrationType; |
41 | 43 | import org.zstack.header.vm.VmPreMigrationExtensionPoint; |
42 | 44 | import org.zstack.header.vm.VmReleaseResourceExtensionPoint; |
|
93 | 95 |
|
94 | 96 | public class KvmSecureBootExtensions implements KVMStartVmExtensionPoint, |
95 | 97 | PreVmInstantiateResourceExtensionPoint, |
96 | | - VmInstanceDestroyExtensionPoint, |
| 98 | + VmJustBeforeDeleteFromDbExtensionPoint, |
97 | 99 | VmPreMigrationExtensionPoint, |
98 | 100 | AfterReimageVmInstanceExtensionPoint, |
99 | 101 | VmReleaseResourceExtensionPoint, |
@@ -701,29 +703,19 @@ public void run(MessageReply reply) { |
701 | 703 | } |
702 | 704 |
|
703 | 705 | @Override |
704 | | - public String preDestroyVm(VmInstanceInventory inv) { |
705 | | - return null; |
706 | | - } |
707 | | - |
708 | | - @Override |
709 | | - public void beforeDestroyVm(VmInstanceInventory inv) { |
710 | | - // do-nothing |
711 | | - } |
712 | | - |
713 | | - @Override |
714 | | - public void afterDestroyVm(VmInstanceInventory inv) { |
| 706 | + public void vmJustBeforeDeleteFromDb(VmInstanceInventory inv) { |
715 | 707 | String vmUuid = inv.getUuid(); |
716 | | - SQL.New(VmHostFileVO.class) |
717 | | - .eq(VmHostFileVO_.vmInstanceUuid, vmUuid) |
718 | | - .delete(); |
719 | | - SQL.New(VmHostBackupFileVO.class) |
720 | | - .eq(VmHostBackupFileVO_.resourceUuid, vmUuid) |
721 | | - .delete(); |
722 | | - } |
723 | | - |
724 | | - @Override |
725 | | - public void failedToDestroyVm(VmInstanceInventory inv, ErrorCode reason) { |
726 | | - // do-nothing |
| 708 | + new SQLBatch() { |
| 709 | + @Override |
| 710 | + protected void scripts() { |
| 711 | + sql(VmHostFileVO.class) |
| 712 | + .eq(VmHostFileVO_.vmInstanceUuid, vmUuid) |
| 713 | + .delete(); |
| 714 | + sql(VmHostBackupFileVO.class) |
| 715 | + .eq(VmHostBackupFileVO_.resourceUuid, vmUuid) |
| 716 | + .delete(); |
| 717 | + } |
| 718 | + }.execute(); |
727 | 719 | } |
728 | 720 |
|
729 | 721 | @Override |
|
0 commit comments