From 8fbdc0bebfe627ecfc3d1cae96a2be2ba31525ff Mon Sep 17 00:00:00 2001 From: alena Date: Fri, 14 Jan 2011 09:58:05 -0800 Subject: [PATCH] bug 7996: Update Removed field for domR during expunge if epxunge is successful status 7996: resolved fixed --- .../src/com/cloud/vm/VirtualMachineManagerImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java index aed78db6046..23e53a520d4 100644 --- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java +++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java @@ -73,6 +73,7 @@ import com.cloud.storage.Volume; import com.cloud.storage.Volume.VolumeType; import com.cloud.storage.dao.VMTemplateDao; import com.cloud.user.Account; +import com.cloud.user.AccountManager; import com.cloud.user.User; import com.cloud.user.dao.AccountDao; import com.cloud.user.dao.UserDao; @@ -121,6 +122,7 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager { @Inject protected SecondaryStorageVmDao _secondaryDao; @Inject protected UsageEventDao _usageEventDao; @Inject protected NicDao _nicsDao; + @Inject protected AccountManager _accountMgr; @Inject(adapter=DeploymentPlanner.class) protected Adapters _planners; @@ -302,7 +304,14 @@ public class VirtualMachineManagerImpl implements VirtualMachineManager { @Override public boolean expunge(T vm, User caller, Account account) throws ResourceUnavailableException { try { - return advanceExpunge(vm, caller, account); + if (advanceExpunge(vm, caller, account)) { + //Mark vms as removed + remove(vm, _accountMgr.getSystemUser(), account); + return true; + } else { + s_logger.info("Did not expunge " + vm); + return false; + } } catch (OperationTimedoutException e) { throw new CloudRuntimeException("Operation timed out", e); } catch (ConcurrentOperationException e) {