From 4a47d19c848d2b97499d02f80a9e865dded45a83 Mon Sep 17 00:00:00 2001 From: Edison Su Date: Wed, 1 Jun 2011 20:26:29 -0400 Subject: [PATCH] fix delete zone: many times, you just can't delete a zone, even you clean up all the resources --- .../com/cloud/configuration/ConfigurationManagerImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index 39a9b90d33d..804ea1826ea 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -130,6 +130,7 @@ import com.cloud.utils.db.Transaction; import com.cloud.utils.exception.CloudRuntimeException; import com.cloud.utils.net.NetUtils; import com.cloud.vm.VMInstanceVO; +import com.cloud.vm.VirtualMachine; import com.cloud.vm.dao.ConsoleProxyDao; import com.cloud.vm.dao.DomainRouterDao; import com.cloud.vm.dao.SecondaryStorageVmDao; @@ -937,9 +938,13 @@ public class ConfigurationManagerImpl implements ConfigurationManager, Configura selectSql += " AND taken IS NOT NULL"; } - if (tableName.equals("host_pod_ref")) { + if (tableName.equals("host_pod_ref") || tableName.equals("host") || tableName.equals("volumes")) { selectSql += " AND removed is NULL"; } + + if (tableName.equals("vm_instance")) { + selectSql += " AND state != '" + VirtualMachine.State.Expunging.toString() + "'"; + } Transaction txn = Transaction.currentTxn(); try {