From e1db982d6b46f81240ef47ed2f6604e38d69c17a Mon Sep 17 00:00:00 2001 From: Likitha Shetty Date: Fri, 13 Mar 2015 15:14:25 +0530 Subject: [PATCH] CLOUDSTACK-8410. ESXi host stuck disconnects frequently. During ping task, while scanning and updating status of all VMs on the host that are stuck in a transitional state and are missing from the power report, do so only for VMs that are not removed. (cherry picked from commit de7173a0ed6434d1809d0471fe8f28bd339f208e) Signed-off-by: Rohit Yadav --- .../src/com/cloud/vm/VirtualMachineManagerImpl.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java index 3cf8c2d4fdd..36c5c443cd5 100755 --- a/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java @@ -3817,7 +3817,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac String sql = "SELECT i.* FROM vm_instance as i, host as h WHERE h.status = 'UP' " + "AND h.id = ? AND i.power_state_update_time < ? AND i.host_id = h.id " + "AND (i.state ='Starting' OR i.state='Stopping' OR i.state='Migrating') " + - "AND i.id NOT IN (SELECT w.vm_instance_id FROM vm_work_job AS w JOIN async_job AS j ON w.id = j.id WHERE j.job_status = ?)"; + "AND i.id NOT IN (SELECT w.vm_instance_id FROM vm_work_job AS w JOIN async_job AS j ON w.id = j.id WHERE j.job_status = ?)" + + "AND i.removed IS NULL"; List l = new ArrayList(); TransactionLegacy txn = null; @@ -3851,7 +3852,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac String sql = "SELECT i.* FROM vm_instance as i, host as h WHERE h.status = 'UP' " + "AND h.id = ? AND i.power_state_update_time > ? AND i.host_id = h.id " + "AND (i.state ='Starting' OR i.state='Stopping' OR i.state='Migrating') " + - "AND i.id NOT IN (SELECT w.vm_instance_id FROM vm_work_job AS w JOIN async_job AS j ON w.id = j.id WHERE j.job_status = ?)"; + "AND i.id NOT IN (SELECT w.vm_instance_id FROM vm_work_job AS w JOIN async_job AS j ON w.id = j.id WHERE j.job_status = ?)" + + "AND i.removed IS NULL"; List l = new ArrayList(); TransactionLegacy txn = null; @@ -3882,7 +3884,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac String sql = "SELECT i.* FROM vm_instance as i, host as h WHERE h.status != 'UP' " + "AND i.power_state_update_time < ? AND i.host_id = h.id " + "AND (i.state ='Starting' OR i.state='Stopping' OR i.state='Migrating') " + - "AND i.id NOT IN (SELECT w.vm_instance_id FROM vm_work_job AS w JOIN async_job AS j ON w.id = j.id WHERE j.job_status = ?)"; + "AND i.id NOT IN (SELECT w.vm_instance_id FROM vm_work_job AS w JOIN async_job AS j ON w.id = j.id WHERE j.job_status = ?)" + + "AND i.removed IS NULL"; List l = new ArrayList(); TransactionLegacy txn = null;