From 583d4a2c2e43831b49e82e890db9fa67843d2cfc Mon Sep 17 00:00:00 2001 From: abhishek Date: Mon, 20 Dec 2010 12:39:52 -0800 Subject: [PATCH] bug 7582: there was an error in re-starting user vm, due to the master refactor which happened. Fixed that regression status 7582: resolved fixed --- server/src/com/cloud/storage/StorageManagerImpl.java | 2 +- server/src/com/cloud/vm/UserVmManager.java | 8 ++++++++ server/src/com/cloud/vm/UserVmManagerImpl.java | 5 +++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index 6bcae3785cb..e4af3c4f8ea 100755 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -2499,7 +2499,7 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag long eventId = saveScheduledEvent(User.UID_SYSTEM, Account.ACCOUNT_ID_SYSTEM, EventTypes.EVENT_VM_START, "starting user vm with Id: "+vmInstance.getId()); try { - if(_userVmMgr.start(vmInstance.getId(), eventId) == null) + if(_userVmMgr.startUserVm(vmInstance.getId()) == null) { String msg = "There was an error starting the user vm id: "+vmInstance.getId()+" on storage pool, cannot complete primary storage maintenance"; s_logger.warn(msg); diff --git a/server/src/com/cloud/vm/UserVmManager.java b/server/src/com/cloud/vm/UserVmManager.java index 800782a72b7..593036e20cb 100644 --- a/server/src/com/cloud/vm/UserVmManager.java +++ b/server/src/com/cloud/vm/UserVmManager.java @@ -20,7 +20,12 @@ import java.util.HashMap; import java.util.List; import com.cloud.agent.api.VmStatsEntry; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.exception.StorageUnavailableException; import com.cloud.uservm.UserVm; +import com.cloud.utils.exception.ExecutionException; import com.cloud.vm.VirtualMachine.Event; /** @@ -95,4 +100,7 @@ public interface UserVmManager extends VirtualMachineGuru{ InstanceGroupVO getGroupForVm(long vmId); void removeInstanceFromGroup(long vmId); + + UserVm startUserVm(long vmId) throws StorageUnavailableException, + ConcurrentOperationException, ExecutionException, ResourceUnavailableException, InsufficientCapacityException; } diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index cf999bb1fa5..1bd813a90f6 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -1431,6 +1431,11 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager return null; // FIXME start(1L, vmId, null, null, startEventId); } + @Override + public UserVm startUserVm(long vmId) throws ConcurrentOperationException, ExecutionException, ResourceUnavailableException, InsufficientCapacityException { + return startVirtualMachine(vmId); + } + @Override public boolean stop(UserVmVO vm, long startEventId) { return stop(1L, vm, startEventId);