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
This commit is contained in:
abhishek 2010-12-20 12:39:52 -08:00
parent ae0d7b51d4
commit 583d4a2c2e
3 changed files with 14 additions and 1 deletions

View File

@ -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);

View File

@ -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<UserVmVO>{
InstanceGroupVO getGroupForVm(long vmId);
void removeInstanceFromGroup(long vmId);
UserVm startUserVm(long vmId) throws StorageUnavailableException,
ConcurrentOperationException, ExecutionException, ResourceUnavailableException, InsufficientCapacityException;
}

View File

@ -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);