mirror of https://github.com/apache/cloudstack.git
Removed the generics from VirtualMachineGurur
This commit is contained in:
parent
e33bc08a8b
commit
5145c3cbf1
|
|
@ -25,17 +25,7 @@ import com.cloud.exception.ResourceUnavailableException;
|
|||
* A VirtualMachineGuru knows how to process a certain type of virtual machine.
|
||||
*
|
||||
*/
|
||||
public interface VirtualMachineGuru<T extends VirtualMachine> {
|
||||
/**
|
||||
* Find the virtual machine by name.
|
||||
* @param name
|
||||
* @return virtual machine.
|
||||
*/
|
||||
T findByName(String name);
|
||||
|
||||
T findById(long id);
|
||||
|
||||
T persist(T vm);
|
||||
public interface VirtualMachineGuru {
|
||||
|
||||
boolean finalizeVirtualMachineProfile(VirtualMachineProfile profile, DeployDestination dest, ReservationContext context);
|
||||
|
||||
|
|
@ -57,21 +47,9 @@ public interface VirtualMachineGuru<T extends VirtualMachine> {
|
|||
*/
|
||||
boolean finalizeStart(VirtualMachineProfile profile, long hostId, Commands cmds, ReservationContext context);
|
||||
|
||||
boolean finalizeCommandsOnStart(Commands cmds, VirtualMachineProfile profile);
|
||||
|
||||
void finalizeStop(VirtualMachineProfile profile, StopAnswer answer);
|
||||
|
||||
void finalizeExpunge(T vm);
|
||||
|
||||
/**
|
||||
* Returns the id parsed from the name. If it cannot parse the name,
|
||||
* then return null. This method is used to determine if this is
|
||||
* the right handler for this vm.
|
||||
*
|
||||
* @param vmName vm name coming form the agent.
|
||||
* @return id if the handler works for this vm and can parse id. null if not.
|
||||
*/
|
||||
Long convertToId(String vmName);
|
||||
void finalizeExpunge(VirtualMachine vm);
|
||||
|
||||
/**
|
||||
* Prepare Vm for Stop
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
// to you under the Apache License, Version 2.0 (the
|
||||
// "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing,
|
||||
|
|
@ -92,11 +92,13 @@ public interface VirtualMachineManager extends Manager {
|
|||
|
||||
<T extends VMInstanceVO> boolean expunge(T vm, User caller, Account account) throws ResourceUnavailableException;
|
||||
|
||||
<T extends VMInstanceVO> void registerGuru(VirtualMachine.Type type, VirtualMachineGuru<T> guru);
|
||||
void registerGuru(VirtualMachine.Type type, VirtualMachineGuru guru);
|
||||
|
||||
Collection<VirtualMachineGuru<? extends VMInstanceVO>> getRegisteredGurus();
|
||||
// FIXME: This method is added by VirtualMachinePowerStateSyncImpl
|
||||
Collection<VirtualMachineGuru> getRegisteredGurus();
|
||||
|
||||
<T extends VMInstanceVO> VirtualMachineGuru<T> getVmGuru(T vm);
|
||||
// FIXME: Apparently this method is added by Kelven for VmWorkJobDispatcher. Should look into removing this.
|
||||
VirtualMachineGuru getVmGuru(VirtualMachine vm);
|
||||
|
||||
boolean stateTransitTo(VMInstanceVO vm, VirtualMachine.Event e, Long hostId) throws NoTransitionException;
|
||||
|
||||
|
|
@ -159,15 +161,15 @@ public interface VirtualMachineManager extends Manager {
|
|||
* @throws ResourceUnavailableException
|
||||
* @throws InsufficientCapacityException
|
||||
*/
|
||||
NicProfile addVmToNetwork(VirtualMachine vm, Network network, NicProfile requested) throws ConcurrentOperationException,
|
||||
NicProfile addVmToNetwork(VirtualMachine vm, Network network, NicProfile requested) throws ConcurrentOperationException,
|
||||
ResourceUnavailableException, InsufficientCapacityException;
|
||||
|
||||
/**
|
||||
* @param vm
|
||||
* @param nic
|
||||
* @return
|
||||
* @throws ResourceUnavailableException
|
||||
* @throws ConcurrentOperationException
|
||||
* @throws ResourceUnavailableException
|
||||
* @throws ConcurrentOperationException
|
||||
*/
|
||||
boolean removeNicFromVm(VirtualMachine vm, NicVO nic) throws ConcurrentOperationException, ResourceUnavailableException;
|
||||
|
||||
|
|
@ -176,8 +178,8 @@ public interface VirtualMachineManager extends Manager {
|
|||
* @param network
|
||||
* @param broadcastUri TODO
|
||||
* @return
|
||||
* @throws ResourceUnavailableException
|
||||
* @throws ConcurrentOperationException
|
||||
* @throws ResourceUnavailableException
|
||||
* @throws ConcurrentOperationException
|
||||
*/
|
||||
boolean removeVmFromNetwork(VirtualMachine vm, Network network, URI broadcastUri) throws ConcurrentOperationException, ResourceUnavailableException;
|
||||
|
||||
|
|
@ -213,6 +215,6 @@ public interface VirtualMachineManager extends Manager {
|
|||
<T extends VMInstanceVO> T processVmStartWork(T vm, Map<VirtualMachineProfile.Param, Object> params, User caller, Account account, DeploymentPlan planToDeploy)
|
||||
throws InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException;
|
||||
|
||||
<T extends VMInstanceVO> boolean processVmStopWork(T vm, boolean forced, User user, Account account)
|
||||
<T extends VMInstanceVO> boolean processVmStopWork(T vm, boolean forced, User user, Account account)
|
||||
throws AgentUnavailableException, OperationTimedoutException, ConcurrentOperationException;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ import com.cloud.vm.dao.NicDao;
|
|||
@Component
|
||||
@Local(value = { ElasticLoadBalancerManager.class })
|
||||
public class ElasticLoadBalancerManagerImpl extends ManagerBase implements
|
||||
ElasticLoadBalancerManager, VirtualMachineGuru<DomainRouterVO> {
|
||||
ElasticLoadBalancerManager, VirtualMachineGuru {
|
||||
private static final Logger s_logger = Logger
|
||||
.getLogger(ElasticLoadBalancerManagerImpl.class);
|
||||
|
||||
|
|
@ -770,24 +770,24 @@ ElasticLoadBalancerManager, VirtualMachineGuru<DomainRouterVO> {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DomainRouterVO findByName(String name) {
|
||||
if (!VirtualMachineName.isValidSystemVmName(name, _instance, _elbVmNamePrefix)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return _routerDao.findById(VirtualMachineName.getSystemVmId(name));
|
||||
}
|
||||
|
||||
@Override
|
||||
public DomainRouterVO findById(long id) {
|
||||
return _routerDao.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DomainRouterVO persist(DomainRouterVO elbVm) {
|
||||
return _routerDao.persist(elbVm);
|
||||
}
|
||||
// @Override
|
||||
// public DomainRouterVO findByName(String name) {
|
||||
// if (!VirtualMachineName.isValidSystemVmName(name, _instance, _elbVmNamePrefix)) {
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// return _routerDao.findById(VirtualMachineName.getSystemVmId(name));
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public DomainRouterVO findById(long id) {
|
||||
// return _routerDao.findById(id);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public DomainRouterVO persist(DomainRouterVO elbVm) {
|
||||
// return _routerDao.persist(elbVm);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public boolean finalizeVirtualMachineProfile(VirtualMachineProfile profile, DeployDestination dest, ReservationContext context) {
|
||||
|
|
@ -900,7 +900,7 @@ ElasticLoadBalancerManager, VirtualMachineGuru<DomainRouterVO> {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
public boolean finalizeCommandsOnStart(Commands cmds, VirtualMachineProfile profile) {
|
||||
DomainRouterVO elbVm = _routerDao.findById(profile.getId());
|
||||
DataCenterVO dcVo = _dcDao.findById(profile.getVirtualMachine().getDataCenterId());
|
||||
|
|
@ -967,19 +967,19 @@ ElasticLoadBalancerManager, VirtualMachineGuru<DomainRouterVO> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void finalizeExpunge(DomainRouterVO vm) {
|
||||
public void finalizeExpunge(VirtualMachine vm) {
|
||||
// no-op
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long convertToId(String vmName) {
|
||||
if (!VirtualMachineName.isValidSystemVmName(vmName, _instance, _elbVmNamePrefix)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return VirtualMachineName.getSystemVmId(vmName);
|
||||
}
|
||||
// @Override
|
||||
// public Long convertToId(String vmName) {
|
||||
// if (!VirtualMachineName.isValidSystemVmName(vmName, _instance, _elbVmNamePrefix)) {
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// return VirtualMachineName.getSystemVmId(vmName);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void prepareStop(VirtualMachineProfile profile) {
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ import com.cloud.vm.dao.VMInstanceDao;
|
|||
//
|
||||
@Local(value = { ConsoleProxyManager.class, ConsoleProxyService.class })
|
||||
public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxyManager,
|
||||
VirtualMachineGuru<ConsoleProxyVO>, SystemVmLoadScanHandler<Long>, ResourceStateAdapter {
|
||||
VirtualMachineGuru, SystemVmLoadScanHandler<Long>, ResourceStateAdapter {
|
||||
private static final Logger s_logger = Logger.getLogger(ConsoleProxyManagerImpl.class);
|
||||
|
||||
private static final int DEFAULT_CAPACITY_SCAN_INTERVAL = 30000; // 30 seconds
|
||||
|
|
@ -1023,13 +1023,13 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long convertToId(String vmName) {
|
||||
if (!VirtualMachineName.isValidConsoleProxyName(vmName, _instance)) {
|
||||
return null;
|
||||
}
|
||||
return VirtualMachineName.getConsoleProxyId(vmName);
|
||||
}
|
||||
// @Override
|
||||
// public Long convertToId(String vmName) {
|
||||
// if (!VirtualMachineName.isValidConsoleProxyName(vmName, _instance)) {
|
||||
// return null;
|
||||
// }
|
||||
// return VirtualMachineName.getConsoleProxyId(vmName);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public boolean stopProxy(long proxyVmId) {
|
||||
|
|
@ -1429,7 +1429,6 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean finalizeCommandsOnStart(Commands cmds, VirtualMachineProfile profile) {
|
||||
|
||||
NicProfile managementNic = null;
|
||||
|
|
@ -1487,7 +1486,8 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy
|
|||
}
|
||||
|
||||
@Override
|
||||
public void finalizeExpunge(ConsoleProxyVO proxy) {
|
||||
public void finalizeExpunge(VirtualMachine vm) {
|
||||
ConsoleProxyVO proxy = _consoleProxyDao.findById(vm.getId());
|
||||
proxy.setPublicIpAddress(null);
|
||||
proxy.setPublicMacAddress(null);
|
||||
proxy.setPublicNetmask(null);
|
||||
|
|
@ -1498,23 +1498,23 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy
|
|||
|
||||
|
||||
|
||||
@Override
|
||||
public ConsoleProxyVO persist(ConsoleProxyVO proxy) {
|
||||
return _consoleProxyDao.persist(proxy);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConsoleProxyVO findById(long id) {
|
||||
return _consoleProxyDao.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConsoleProxyVO findByName(String name) {
|
||||
if (!VirtualMachineName.isValidConsoleProxyName(name)) {
|
||||
return null;
|
||||
}
|
||||
return findById(VirtualMachineName.getConsoleProxyId(name));
|
||||
}
|
||||
// @Override
|
||||
// public ConsoleProxyVO persist(ConsoleProxyVO proxy) {
|
||||
// return _consoleProxyDao.persist(proxy);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public ConsoleProxyVO findById(long id) {
|
||||
// return _consoleProxyDao.findById(id);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public ConsoleProxyVO findByName(String name) {
|
||||
// if (!VirtualMachineName.isValidConsoleProxyName(name)) {
|
||||
// return null;
|
||||
// }
|
||||
// return findById(VirtualMachineName.getConsoleProxyId(name));
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void finalizeStop(VirtualMachineProfile profile, StopAnswer answer) {
|
||||
|
|
@ -1726,7 +1726,7 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy
|
|||
public void vmWorkStart(VmWork work) {
|
||||
assert(work instanceof VmWorkStart);
|
||||
|
||||
ConsoleProxyVO vm = findById(work.getVmId());
|
||||
ConsoleProxyVO vm = _consoleProxyDao.findById(work.getVmId());
|
||||
|
||||
UserVO user = _entityMgr.findById(UserVO.class, work.getUserId());
|
||||
AccountVO account = _entityMgr.findById(AccountVO.class, work.getAccountId());
|
||||
|
|
@ -1747,7 +1747,7 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy
|
|||
public void vmWorkStop(VmWork work) {
|
||||
assert(work instanceof VmWorkStop);
|
||||
|
||||
ConsoleProxyVO vm = findById(work.getVmId());
|
||||
ConsoleProxyVO vm = _consoleProxyDao.findById(work.getVmId());
|
||||
|
||||
UserVO user = _entityMgr.findById(UserVO.class, work.getUserId());
|
||||
AccountVO account = _entityMgr.findById(AccountVO.class, work.getAccountId());
|
||||
|
|
|
|||
|
|
@ -250,7 +250,7 @@ import com.cloud.vm.dao.VMInstanceDao;
|
|||
@Component
|
||||
@Local(value = {VirtualNetworkApplianceManager.class, VirtualNetworkApplianceService.class})
|
||||
public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements VirtualNetworkApplianceManager, VirtualNetworkApplianceService,
|
||||
VirtualMachineGuru<DomainRouterVO>, Listener {
|
||||
VirtualMachineGuru, Listener {
|
||||
private static final Logger s_logger = Logger.getLogger(VirtualNetworkApplianceManagerImpl.class);
|
||||
|
||||
@Inject
|
||||
|
|
@ -775,14 +775,14 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
|
|||
protected VirtualNetworkApplianceManagerImpl() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long convertToId(final String vmName) {
|
||||
if (!VirtualMachineName.isValidRouterName(vmName, _instance)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return VirtualMachineName.getRouterId(vmName);
|
||||
}
|
||||
// @Override
|
||||
// public Long convertToId(final String vmName) {
|
||||
// if (!VirtualMachineName.isValidRouterName(vmName, _instance)) {
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// return VirtualMachineName.getRouterId(vmName);
|
||||
// }
|
||||
|
||||
private VmDataCommand generateVmDataCommand(VirtualRouter router, String vmPrivateIpAddress, String userData,
|
||||
String serviceOffering, String zoneName, String guestIpAddress, String vmName,
|
||||
|
|
@ -2229,7 +2229,6 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean finalizeCommandsOnStart(Commands cmds, VirtualMachineProfile profile) {
|
||||
DomainRouterVO router = _routerDao.findById(profile.getId());
|
||||
NicProfile controlNic = getControlNic(profile);
|
||||
|
|
@ -2538,7 +2537,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
|
|||
}
|
||||
|
||||
@Override
|
||||
public void finalizeExpunge(DomainRouterVO vm) {
|
||||
public void finalizeExpunge(VirtualMachine vm) {
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -2759,11 +2758,11 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
|
|||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public DomainRouterVO persist(DomainRouterVO router) {
|
||||
DomainRouterVO virtualRouter = _routerDao.persist(router);
|
||||
return virtualRouter;
|
||||
}
|
||||
// @Override
|
||||
// public DomainRouterVO persist(DomainRouterVO router) {
|
||||
// DomainRouterVO virtualRouter = _routerDao.persist(router);
|
||||
// return virtualRouter;
|
||||
// }
|
||||
|
||||
@Override
|
||||
//FIXME add partial success and STOP state support
|
||||
|
|
@ -2823,19 +2822,19 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
|
|||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DomainRouterVO findById(long id) {
|
||||
return _routerDao.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DomainRouterVO findByName(String name) {
|
||||
if (!VirtualMachineName.isValidRouterName(name)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return _routerDao.findById(VirtualMachineName.getRouterId(name));
|
||||
}
|
||||
// @Override
|
||||
// public DomainRouterVO findById(long id) {
|
||||
// return _routerDao.findById(id);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public DomainRouterVO findByName(String name) {
|
||||
// if (!VirtualMachineName.isValidRouterName(name)) {
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// return _routerDao.findById(VirtualMachineName.getRouterId(name));
|
||||
// }
|
||||
|
||||
@Override
|
||||
@ActionEvent(eventType = EventTypes.EVENT_ROUTER_START, eventDescription = "starting router Vm", async = true)
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ import com.cloud.vm.dao.VMInstanceDao;
|
|||
// because sooner or later, it will be driven into Running state
|
||||
//
|
||||
@Local(value = { SecondaryStorageVmManager.class })
|
||||
public class SecondaryStorageManagerImpl extends ManagerBase implements SecondaryStorageVmManager, VirtualMachineGuru<SecondaryStorageVmVO>, SystemVmLoadScanHandler<Long>, ResourceStateAdapter {
|
||||
public class SecondaryStorageManagerImpl extends ManagerBase implements SecondaryStorageVmManager, VirtualMachineGuru, SystemVmLoadScanHandler<Long>, ResourceStateAdapter {
|
||||
private static final Logger s_logger = Logger.getLogger(SecondaryStorageManagerImpl.class);
|
||||
|
||||
private static final int DEFAULT_CAPACITY_SCAN_INTERVAL = 30000; // 30
|
||||
|
|
@ -905,13 +905,13 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long convertToId(String vmName) {
|
||||
if (!VirtualMachineName.isValidSystemVmName(vmName, _instance, "s")) {
|
||||
return null;
|
||||
}
|
||||
return VirtualMachineName.getSystemVmId(vmName);
|
||||
}
|
||||
// @Override
|
||||
// public Long convertToId(String vmName) {
|
||||
// if (!VirtualMachineName.isValidSystemVmName(vmName, _instance, "s")) {
|
||||
// return null;
|
||||
// }
|
||||
// return VirtualMachineName.getSystemVmId(vmName);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public boolean stopSecStorageVm(long secStorageVmId) {
|
||||
|
|
@ -1026,23 +1026,23 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
|
|||
return "secStorageVm." + id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SecondaryStorageVmVO findByName(String name) {
|
||||
if (!VirtualMachineName.isValidSecStorageVmName(name, null)) {
|
||||
return null;
|
||||
}
|
||||
return findById(VirtualMachineName.getSystemVmId(name));
|
||||
}
|
||||
// @Override
|
||||
// public SecondaryStorageVmVO findByName(String name) {
|
||||
// if (!VirtualMachineName.isValidSecStorageVmName(name, null)) {
|
||||
// return null;
|
||||
// }
|
||||
// return findById(VirtualMachineName.getSystemVmId(name));
|
||||
// }
|
||||
|
||||
@Override
|
||||
public SecondaryStorageVmVO findById(long id) {
|
||||
return _secStorageVmDao.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SecondaryStorageVmVO persist(SecondaryStorageVmVO vm) {
|
||||
return _secStorageVmDao.persist(vm);
|
||||
}
|
||||
// @Override
|
||||
// public SecondaryStorageVmVO findById(long id) {
|
||||
// return _secStorageVmDao.findById(id);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public SecondaryStorageVmVO persist(SecondaryStorageVmVO vm) {
|
||||
// return _secStorageVmDao.persist(vm);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public boolean finalizeVirtualMachineProfile(VirtualMachineProfile profile, DeployDestination dest, ReservationContext context) {
|
||||
|
|
@ -1167,7 +1167,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
public boolean finalizeCommandsOnStart(Commands cmds, VirtualMachineProfile profile) {
|
||||
|
||||
NicProfile managementNic = null;
|
||||
|
|
@ -1235,7 +1235,8 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
|
|||
}
|
||||
|
||||
@Override
|
||||
public void finalizeExpunge(SecondaryStorageVmVO vm) {
|
||||
public void finalizeExpunge(VirtualMachine instance) {
|
||||
SecondaryStorageVmVO vm = _secStorageVmDao.findById(instance.getId());
|
||||
vm.setPublicIpAddress(null);
|
||||
vm.setPublicMacAddress(null);
|
||||
vm.setPublicNetmask(null);
|
||||
|
|
@ -1467,7 +1468,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
|
|||
public void vmWorkStart(VmWork work) {
|
||||
assert(work instanceof VmWorkStart);
|
||||
|
||||
SecondaryStorageVmVO vm = findById(work.getVmId());
|
||||
SecondaryStorageVmVO vm = _secStorageVmDao.findById(work.getVmId());
|
||||
|
||||
UserVO user = _entityMgr.findById(UserVO.class, work.getUserId());
|
||||
AccountVO account = _entityMgr.findById(AccountVO.class, work.getAccountId());
|
||||
|
|
@ -1488,7 +1489,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
|
|||
public void vmWorkStop(VmWork work) {
|
||||
assert(work instanceof VmWorkStop);
|
||||
|
||||
SecondaryStorageVmVO vm = findById(work.getVmId());
|
||||
SecondaryStorageVmVO vm = _secStorageVmDao.findById(work.getVmId());
|
||||
|
||||
UserVO user = _entityMgr.findById(UserVO.class, work.getUserId());
|
||||
AccountVO account = _entityMgr.findById(AccountVO.class, work.getAccountId());
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import com.cloud.utils.Pair;
|
|||
*
|
||||
*
|
||||
*/
|
||||
public interface UserVmManager extends VirtualMachineGuru<UserVmVO>, UserVmService{
|
||||
public interface UserVmManager extends UserVmService {
|
||||
|
||||
static final int MAX_USER_DATA_LENGTH_BYTES = 2048;
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@ import com.cloud.vm.snapshot.VMSnapshotVO;
|
|||
import com.cloud.vm.snapshot.dao.VMSnapshotDao;
|
||||
|
||||
@Local(value = { UserVmManager.class, UserVmService.class })
|
||||
public class UserVmManagerImpl extends ManagerBase implements UserVmManager, UserVmService {
|
||||
public class UserVmManagerImpl extends ManagerBase implements UserVmManager, UserVmService, VirtualMachineGuru {
|
||||
private static final Logger s_logger = Logger
|
||||
.getLogger(UserVmManagerImpl.class);
|
||||
|
||||
|
|
@ -1353,13 +1353,13 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
|
|||
return UUID.randomUUID().toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long convertToId(String vmName) {
|
||||
if (!VirtualMachineName.isValidVmName(vmName, _instance)) {
|
||||
return null;
|
||||
}
|
||||
return VirtualMachineName.getVmId(vmName);
|
||||
}
|
||||
// @Override
|
||||
// public Long convertToId(String vmName) {
|
||||
// if (!VirtualMachineName.isValidVmName(vmName, _instance)) {
|
||||
// return null;
|
||||
// }
|
||||
// return VirtualMachineName.getVmId(vmName);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public boolean expunge(UserVmVO vm, long callerUserId, Account caller) {
|
||||
|
|
@ -2767,12 +2767,6 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean finalizeCommandsOnStart(Commands cmds,
|
||||
VirtualMachineProfile profile) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean finalizeStart(VirtualMachineProfile profile,
|
||||
long hostId, Commands cmds, ReservationContext context) {
|
||||
|
|
@ -2858,26 +2852,26 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
|
|||
}
|
||||
|
||||
@Override
|
||||
public void finalizeExpunge(UserVmVO vm) {
|
||||
public void finalizeExpunge(VirtualMachine vm) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserVmVO persist(UserVmVO vm) {
|
||||
return _vmDao.persist(vm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserVmVO findById(long id) {
|
||||
return _vmDao.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserVmVO findByName(String name) {
|
||||
if (!VirtualMachineName.isValidVmName(name)) {
|
||||
return null;
|
||||
}
|
||||
return findById(VirtualMachineName.getVmId(name));
|
||||
}
|
||||
// @Override
|
||||
// public UserVmVO persist(UserVmVO vm) {
|
||||
// return _vmDao.persist(vm);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public UserVmVO findById(long id) {
|
||||
// return _vmDao.findById(id);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public UserVmVO findByName(String name) {
|
||||
// if (!VirtualMachineName.isValidVmName(name)) {
|
||||
// return null;
|
||||
// }
|
||||
// return findById(VirtualMachineName.getVmId(name));
|
||||
// }
|
||||
|
||||
@Override
|
||||
@ActionEvent(eventType = EventTypes.EVENT_VM_STOP, eventDescription = "stopping Vm", async = true)
|
||||
|
|
|
|||
|
|
@ -306,7 +306,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
@Inject
|
||||
DeploymentPlanningManager _dpMgr;
|
||||
|
||||
Map<VirtualMachine.Type, VirtualMachineGuru<? extends VMInstanceVO>> _vmGurus = new HashMap<VirtualMachine.Type, VirtualMachineGuru<? extends VMInstanceVO>>();
|
||||
Map<VirtualMachine.Type, VirtualMachineGuru> _vmGurus = new HashMap<VirtualMachine.Type, VirtualMachineGuru>();
|
||||
protected StateMachine2<State, VirtualMachine.Event, VirtualMachine> _stateMachine;
|
||||
|
||||
ScheduledExecutorService _executor = null;
|
||||
|
|
@ -322,23 +322,22 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
protected boolean _forceStop;
|
||||
|
||||
@Override
|
||||
public <T extends VMInstanceVO> void registerGuru(VirtualMachine.Type type, VirtualMachineGuru<T> guru) {
|
||||
public void registerGuru(VirtualMachine.Type type, VirtualMachineGuru guru) {
|
||||
synchronized (_vmGurus) {
|
||||
_vmGurus.put(type, guru);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<VirtualMachineGuru<? extends VMInstanceVO>> getRegisteredGurus() {
|
||||
public Collection<VirtualMachineGuru> getRegisteredGurus() {
|
||||
synchronized(_vmGurus) {
|
||||
return _vmGurus.values();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T extends VMInstanceVO> VirtualMachineGuru<T> getVmGuru(T vm) {
|
||||
return (VirtualMachineGuru<T>) _vmGurus.get(vm.getType());
|
||||
public VirtualMachineGuru getVmGuru(VirtualMachine vm) {
|
||||
return _vmGurus.values().iterator().next();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -358,12 +357,11 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
}
|
||||
assert (plan.getClusterId() == null && plan.getPoolId() == null) : "We currently don't support cluster and pool preset yet";
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
VirtualMachineGuru<T> guru = (VirtualMachineGuru<T>) _vmGurus.get(vm.getType());
|
||||
VirtualMachineGuru guru = _vmGurus.get(vm.getType());
|
||||
|
||||
Transaction txn = Transaction.currentTxn();
|
||||
txn.start();
|
||||
vm = guru.persist(vm);
|
||||
// vm = guru.persist(vm);
|
||||
|
||||
if (s_logger.isDebugEnabled()) {
|
||||
s_logger.debug("Allocating nics for " + vm);
|
||||
|
|
@ -473,7 +471,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
List<VolumeVO> rootVol = _volsDao.findByInstanceAndType(vm.getId(), Volume.Type.ROOT);
|
||||
volumeMgr.cleanupVolumes(vm.getId());
|
||||
|
||||
VirtualMachineGuru<T> guru = getVmGuru(vm);
|
||||
VirtualMachineGuru guru = getVmGuru(vm);
|
||||
guru.finalizeExpunge(vm);
|
||||
//remove the overcommit detials from the uservm details
|
||||
_uservmDetailsDao.deleteDetails(vm.getId());
|
||||
|
|
@ -675,12 +673,12 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
*/
|
||||
|
||||
@DB
|
||||
protected <T extends VMInstanceVO> Ternary<T, ReservationContext, VmWorkJobVO> changeToStartState(VirtualMachineGuru<T> vmGuru, T vm, User caller, Account account)
|
||||
protected Ternary<VMInstanceVO, ReservationContext, VmWorkJobVO> changeToStartState(VirtualMachineGuru vmGuru, VMInstanceVO vm, User caller, Account account)
|
||||
throws ConcurrentOperationException {
|
||||
|
||||
long vmId = vm.getId();
|
||||
|
||||
Ternary<T, ReservationContext, VmWorkJobVO> result = null;
|
||||
Ternary<VMInstanceVO, ReservationContext, VmWorkJobVO> result = null;
|
||||
Transaction txn = Transaction.currentTxn();
|
||||
txn.start();
|
||||
try {
|
||||
|
|
@ -692,7 +690,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
if (s_logger.isDebugEnabled()) {
|
||||
s_logger.debug("Successfully transitioned to start state for " + vm + " reservation id = " + work.getId());
|
||||
}
|
||||
result = new Ternary<T, ReservationContext, VmWorkJobVO>(vmGuru.findById(vmId), context, work);
|
||||
result = new Ternary<VMInstanceVO, ReservationContext, VmWorkJobVO>(_vmDao.findById(vm.getId()), context, work);
|
||||
txn.commit();
|
||||
return result;
|
||||
}
|
||||
|
|
@ -812,10 +810,10 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
@Override
|
||||
public <T extends VMInstanceVO> T processVmStartWork(T vm, Map<VirtualMachineProfile.Param, Object> params, User caller, Account account, DeploymentPlan planToDeploy)
|
||||
throws InsufficientCapacityException, ConcurrentOperationException, ResourceUnavailableException {
|
||||
VirtualMachineGuru<T> vmGuru = getVmGuru(vm);
|
||||
vm = vmGuru.findById(vm.getId());
|
||||
VirtualMachineGuru vmGuru = getVmGuru(vm);
|
||||
VMInstanceVO vm2 = _vmDao.findById(vm.getId());
|
||||
|
||||
Ternary<T, ReservationContext, VmWorkJobVO> start = changeToStartState(vmGuru, vm, caller, account);
|
||||
Ternary<VMInstanceVO, ReservationContext, VmWorkJobVO> start = changeToStartState(vmGuru, vm2, caller, account);
|
||||
assert(start != null);
|
||||
|
||||
ReservationContext ctx = start.second();
|
||||
|
|
@ -1092,7 +1090,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
}
|
||||
}
|
||||
|
||||
protected <T extends VMInstanceVO> boolean sendStop(VirtualMachineGuru<T> guru, VirtualMachineProfile profile, boolean force) {
|
||||
protected boolean sendStop(VirtualMachineGuru guru, VirtualMachineProfile profile, boolean force) {
|
||||
VirtualMachine vm = profile.getVirtualMachine();
|
||||
StopCommand stop = new StopCommand(vm);
|
||||
try {
|
||||
|
|
@ -1116,7 +1114,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
return true;
|
||||
}
|
||||
|
||||
protected <T extends VMInstanceVO> boolean cleanup(VirtualMachineGuru<T> guru, VirtualMachineProfile profile, VmWorkJobVO work, Event event, boolean force, User user,
|
||||
protected boolean cleanup(VirtualMachineGuru guru, VirtualMachineProfile profile, VmWorkJobVO work, Event event, boolean force, User user,
|
||||
Account account) {
|
||||
VirtualMachine vm = profile.getVirtualMachine();
|
||||
State state = vm.getState();
|
||||
|
|
@ -1284,7 +1282,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
return true;
|
||||
}
|
||||
|
||||
VirtualMachineGuru<T> vmGuru = getVmGuru(vm);
|
||||
VirtualMachineGuru vmGuru = getVmGuru(vm);
|
||||
VirtualMachineProfile profile = new VirtualMachineProfileImpl(vm);
|
||||
|
||||
try {
|
||||
|
|
@ -1649,10 +1647,10 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
|
||||
@Override
|
||||
public <T extends VMInstanceVO> T storageMigration(T vm, StoragePool destPool) {
|
||||
VirtualMachineGuru<T> vmGuru = getVmGuru(vm);
|
||||
VirtualMachineGuru vmGuru = getVmGuru(vm);
|
||||
|
||||
long vmId = vm.getId();
|
||||
vm = vmGuru.findById(vmId);
|
||||
VMInstanceVO vm2 = _vmDao.findById(vmId);
|
||||
|
||||
try {
|
||||
stateTransitTo(vm, VirtualMachine.Event.StorageMigrationRequested, null);
|
||||
|
|
@ -1954,7 +1952,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
|
||||
HostVO srcHost = _hostDao.findById(srcHostId);
|
||||
HostVO destHost = _hostDao.findById(destHostId);
|
||||
VirtualMachineGuru<T> vmGuru = getVmGuru(vm);
|
||||
VirtualMachineGuru vmGuru = getVmGuru(vm);
|
||||
|
||||
DataCenterVO dc = _dcDao.findById(destHost.getDataCenterId());
|
||||
HostPodVO pod = _podDao.findById(destHost.getPodId());
|
||||
|
|
@ -1963,7 +1961,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
|
||||
// Create a map of which volume should go in which storage pool.
|
||||
long vmId = vm.getId();
|
||||
vm = vmGuru.findById(vmId);
|
||||
VMInstanceVO vm2 = _vmDao.findById(vmId);
|
||||
VirtualMachineProfile profile = new VirtualMachineProfileImpl(vm);
|
||||
volumeToPool = getPoolListForVolumesForMigration(profile, destHost, volumeToPool);
|
||||
|
||||
|
|
@ -2094,8 +2092,8 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
|
||||
@Override
|
||||
public boolean migrateAway(VirtualMachine.Type vmType, long vmId, long srcHostId) throws InsufficientServerCapacityException, VirtualMachineMigrationException {
|
||||
VirtualMachineGuru<? extends VMInstanceVO> vmGuru = _vmGurus.get(vmType);
|
||||
VMInstanceVO vm = vmGuru.findById(vmId);
|
||||
VirtualMachineGuru vmGuru = _vmGurus.get(vmType);
|
||||
VMInstanceVO vm = _vmDao.findById(vmId);
|
||||
if (vm == null) {
|
||||
s_logger.debug("Unable to find a VM for " + vmId);
|
||||
return true;
|
||||
|
|
@ -2255,8 +2253,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
|
||||
@Override
|
||||
public VMInstanceVO findByIdAndType(VirtualMachine.Type type, long vmId) {
|
||||
VirtualMachineGuru<? extends VMInstanceVO> guru = _vmGurus.get(type);
|
||||
return guru.findById(vmId);
|
||||
return _vmDao.findById(vmId);
|
||||
}
|
||||
|
||||
public Command cleanup(VirtualMachine vm) {
|
||||
|
|
@ -2526,25 +2523,19 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
if (newStates == null) {
|
||||
return map;
|
||||
}
|
||||
Collection<VirtualMachineGuru<? extends VMInstanceVO>> vmGurus = _vmGurus.values();
|
||||
Collection<VirtualMachineGuru> vmGurus = _vmGurus.values();
|
||||
boolean is_alien_vm = true;
|
||||
long alien_vm_count = -1;
|
||||
for (Map.Entry<String, Pair<String, State>> entry : newStates.entrySet()) {
|
||||
is_alien_vm = true;
|
||||
for (VirtualMachineGuru<? extends VMInstanceVO> vmGuru : vmGurus) {
|
||||
for (VirtualMachineGuru vmGuru : vmGurus) {
|
||||
String name = entry.getKey();
|
||||
VMInstanceVO vm = vmGuru.findByName(name);
|
||||
VMInstanceVO vm = _vmDao.findVMByInstanceName(name);
|
||||
if (vm != null) {
|
||||
map.put(vm.getId(), new AgentVmInfo(entry.getKey(), vmGuru, vm, entry.getValue().second(), entry.getValue().first()));
|
||||
is_alien_vm = false;
|
||||
break;
|
||||
}
|
||||
Long id = vmGuru.convertToId(name);
|
||||
if (id != null) {
|
||||
map.put(id, new AgentVmInfo(entry.getKey(), vmGuru, null, entry.getValue().second(), entry.getValue().first()));
|
||||
is_alien_vm = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// alien VMs
|
||||
if (is_alien_vm){
|
||||
|
|
@ -2590,24 +2581,18 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
return map;
|
||||
}
|
||||
|
||||
Collection<VirtualMachineGuru<? extends VMInstanceVO>> vmGurus = _vmGurus.values();
|
||||
Collection<VirtualMachineGuru> vmGurus = _vmGurus.values();
|
||||
|
||||
for (Map.Entry<String, State> entry : states.entrySet()) {
|
||||
for (VirtualMachineGuru<? extends VMInstanceVO> vmGuru : vmGurus) {
|
||||
for (VirtualMachineGuru vmGuru : vmGurus) {
|
||||
String name = entry.getKey();
|
||||
|
||||
VMInstanceVO vm = vmGuru.findByName(name);
|
||||
VMInstanceVO vm = _vmDao.findVMByInstanceName(name);
|
||||
|
||||
if (vm != null) {
|
||||
map.put(vm.getId(), new AgentVmInfo(entry.getKey(), vmGuru, vm, entry.getValue()));
|
||||
break;
|
||||
}
|
||||
|
||||
Long id = vmGuru.convertToId(name);
|
||||
if (id != null) {
|
||||
map.put(id, new AgentVmInfo(entry.getKey(), vmGuru, null,entry.getValue()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3042,18 +3027,18 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
public State state;
|
||||
public String hostUuid;
|
||||
public VMInstanceVO vm;
|
||||
public VirtualMachineGuru<VMInstanceVO> guru;
|
||||
public VirtualMachineGuru guru;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public AgentVmInfo(String name, VirtualMachineGuru<? extends VMInstanceVO> guru, VMInstanceVO vm, State state, String host) {
|
||||
public AgentVmInfo(String name, VirtualMachineGuru guru, VMInstanceVO vm, State state, String host) {
|
||||
this.name = name;
|
||||
this.state = state;
|
||||
this.vm = vm;
|
||||
this.guru = (VirtualMachineGuru<VMInstanceVO>) guru;
|
||||
this.guru = guru;
|
||||
hostUuid = host;
|
||||
}
|
||||
|
||||
public AgentVmInfo(String name, VirtualMachineGuru<? extends VMInstanceVO> guru, VMInstanceVO vm, State state) {
|
||||
public AgentVmInfo(String name, VirtualMachineGuru guru, VMInstanceVO vm, State state) {
|
||||
this(name, guru, vm, state, null);
|
||||
}
|
||||
|
||||
|
|
@ -3245,7 +3230,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
NicTO nicTO = toNicTO(nic, vmProfile.getVirtualMachine().getHypervisorType());
|
||||
|
||||
//4) plug the nic to the vm
|
||||
VirtualMachineGuru<VMInstanceVO> vmGuru = getVmGuru(vmVO);
|
||||
VirtualMachineGuru vmGuru = getVmGuru(vmVO);
|
||||
|
||||
s_logger.debug("Plugging nic for vm " + vm + " in network " + network);
|
||||
|
||||
|
|
@ -3300,7 +3285,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
DataCenter dc = _configMgr.getZone(network.getDataCenterId());
|
||||
Host host = _hostDao.findById(vm.getHostId());
|
||||
DeployDestination dest = new DeployDestination(dc, null, null, host);
|
||||
VirtualMachineGuru<VMInstanceVO> vmGuru = getVmGuru(vmVO);
|
||||
VirtualMachineGuru vmGuru = getVmGuru(vmVO);
|
||||
HypervisorGuru hvGuru = _hvGuruMgr.getGuru(vmProfile.getVirtualMachine().getHypervisorType());
|
||||
VirtualMachineTO vmTO = hvGuru.implement(vmProfile);
|
||||
|
||||
|
|
@ -3364,7 +3349,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
DataCenter dc = _configMgr.getZone(network.getDataCenterId());
|
||||
Host host = _hostDao.findById(vm.getHostId());
|
||||
DeployDestination dest = new DeployDestination(dc, null, null, host);
|
||||
VirtualMachineGuru<VMInstanceVO> vmGuru = getVmGuru(vmVO);
|
||||
VirtualMachineGuru vmGuru = getVmGuru(vmVO);
|
||||
HypervisorGuru hvGuru = _hvGuruMgr.getGuru(vmProfile.getVirtualMachine().getHypervisorType());
|
||||
VirtualMachineTO vmTO = hvGuru.implement(vmProfile);
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
// to you under the Apache License, Version 2.0 (the
|
||||
// "License"); you may not use this file except in compliance
|
||||
// with the License. You may obtain a copy of the License at
|
||||
//
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing,
|
||||
|
|
@ -16,16 +16,16 @@
|
|||
// under the License.
|
||||
package com.cloud.vm;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import org.apache.cloudstack.framework.messagebus.MessageBus;
|
||||
import org.apache.cloudstack.framework.messagebus.PublishScope;
|
||||
import org.apache.cloudstack.messagebus.TopicConstants;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.agent.api.HostVmStateReportEntry;
|
||||
import com.cloud.vm.VirtualMachine.PowerState;
|
||||
|
|
@ -100,7 +100,7 @@ public class VirtualMachinePowerStateSyncImpl implements VirtualMachinePowerStat
|
|||
return map;
|
||||
}
|
||||
|
||||
private Map<Long, VirtualMachine.PowerState> convertToInfos(Map<String, HostVmStateReportEntry> states) {
|
||||
private Map<Long, VirtualMachine.PowerState> convertToInfos(Map<String, HostVmStateReportEntry> states) {
|
||||
final HashMap<Long, VirtualMachine.PowerState> map = new HashMap<Long, VirtualMachine.PowerState>();
|
||||
if (states == null) {
|
||||
return map;
|
||||
|
|
@ -120,20 +120,21 @@ public class VirtualMachinePowerStateSyncImpl implements VirtualMachinePowerStat
|
|||
}
|
||||
|
||||
private VMInstanceVO findVM(String vmName) {
|
||||
Collection<VirtualMachineGuru<? extends VMInstanceVO>> vmGurus = _vmMgr.getRegisteredGurus();
|
||||
|
||||
for (VirtualMachineGuru<? extends VMInstanceVO> vmGuru : vmGurus) {
|
||||
VMInstanceVO vm = vmGuru.findByName(vmName);
|
||||
if (vm != null)
|
||||
return vm;
|
||||
|
||||
Long id = vmGuru.convertToId(vmName);
|
||||
if (id != null) {
|
||||
vm = vmGuru.findById(id);
|
||||
if(vm != null)
|
||||
return vm;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return _instanceDao.findVMByInstanceName(vmName);
|
||||
// Collection<VirtualMachineGuru> vmGurus = _vmMgr.getRegisteredGurus();
|
||||
//
|
||||
// for (VirtualMachineGuru vmGuru : vmGurus) {
|
||||
// VMInstanceVO vm = vmGuru.findByName(vmName);
|
||||
// if (vm != null)
|
||||
// return vm;
|
||||
//
|
||||
// Long id = vmGuru.convertToId(vmName);
|
||||
// if (id != null) {
|
||||
// vm = vmGuru.findById(id);
|
||||
// if(vm != null)
|
||||
// return vm;
|
||||
// }
|
||||
// }
|
||||
// return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ public class VmWorkJobDispatcher extends AdapterBase implements AsyncJobDispatch
|
|||
// to solve the problem, we have to go through an instantiated VirtualMachineGuru so that it can carry
|
||||
// down correct type back to VirtualMachineManagerImpl. It is sad that we have to write code like this
|
||||
//
|
||||
VirtualMachineGuru<VMInstanceVO> guru = _vmMgr.getVmGuru(vm);
|
||||
VirtualMachineGuru guru = _vmMgr.getVmGuru(vm);
|
||||
assert(guru != null);
|
||||
if(guru == null) {
|
||||
s_logger.error("Unable to find virtual Guru for VM type: " + vm.getType());
|
||||
|
|
@ -94,7 +94,7 @@ public class VmWorkJobDispatcher extends AdapterBase implements AsyncJobDispatch
|
|||
}
|
||||
}
|
||||
|
||||
private Method getHandler(VirtualMachineGuru<?> guru, String cmd) {
|
||||
private Method getHandler(VirtualMachineGuru guru, String cmd) {
|
||||
|
||||
synchronized(_handlerMap) {
|
||||
Class<?> clz = guru.getClass();
|
||||
|
|
|
|||
|
|
@ -44,12 +44,9 @@ import org.apache.cloudstack.api.command.user.vm.UpgradeVMCmd;
|
|||
import org.apache.cloudstack.api.command.user.vmgroup.CreateVMGroupCmd;
|
||||
import org.apache.cloudstack.api.command.user.vmgroup.DeleteVMGroupCmd;
|
||||
|
||||
import com.cloud.agent.api.StopAnswer;
|
||||
import com.cloud.agent.api.VmStatsEntry;
|
||||
import com.cloud.agent.manager.Commands;
|
||||
import com.cloud.api.query.vo.UserVmJoinVO;
|
||||
import com.cloud.dc.DataCenter;
|
||||
import com.cloud.deploy.DeployDestination;
|
||||
import com.cloud.exception.ConcurrentOperationException;
|
||||
import com.cloud.exception.InsufficientCapacityException;
|
||||
import com.cloud.exception.InvalidParameterValueException;
|
||||
|
|
@ -78,66 +75,6 @@ import com.cloud.utils.exception.ExecutionException;
|
|||
@Local(value = { UserVmManager.class, UserVmService.class })
|
||||
public class MockUserVmManagerImpl extends ManagerBase implements UserVmManager, UserVmService {
|
||||
|
||||
@Override
|
||||
public UserVmVO findByName(String name) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserVmVO findById(long id) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserVmVO persist(UserVmVO vm) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean finalizeVirtualMachineProfile(VirtualMachineProfile profile, DeployDestination dest, ReservationContext context) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean finalizeDeployment(Commands cmds, VirtualMachineProfile profile, DeployDestination dest, ReservationContext context) throws ResourceUnavailableException {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean finalizeStart(VirtualMachineProfile profile, long hostId, Commands cmds, ReservationContext context) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean finalizeCommandsOnStart(Commands cmds, VirtualMachineProfile profile) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finalizeStop(VirtualMachineProfile profile, StopAnswer answer) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finalizeExpunge(UserVmVO vm) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long convertToId(String vmName) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends UserVm> getVirtualMachines(long hostId) {
|
||||
// TODO Auto-generated method stub
|
||||
|
|
@ -416,23 +353,9 @@ public class MockUserVmManagerImpl extends ManagerBase implements UserVmManager,
|
|||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void prepareStop(VirtualMachineProfile profile) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserVm resetVMSSHKey(ResetVMSSHKeyCmd cmd) throws ResourceUnavailableException, InsufficientCapacityException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void vmWorkStart(VmWork work) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void vmWorkStop(VmWork work) {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -310,10 +310,10 @@ public class VirtualMachineManagerImplTest {
|
|||
doNothing().when(_work).setStep(ItWorkVO.Step.Done);
|
||||
|
||||
// Mock the vm guru and the user vm object that gets returned.
|
||||
_vmMgr._vmGurus = new HashMap<VirtualMachine.Type, VirtualMachineGuru<? extends VMInstanceVO>>();
|
||||
_vmMgr._vmGurus = new HashMap<VirtualMachine.Type, VirtualMachineGuru>();
|
||||
UserVmManagerImpl userVmManager = mock(UserVmManagerImpl.class);
|
||||
_vmMgr.registerGuru(VirtualMachine.Type.User, userVmManager);
|
||||
when(userVmManager.findById(anyLong())).thenReturn(_vmMock);
|
||||
// when(userVmManager.findById(anyLong())).thenReturn(_vmMock);
|
||||
|
||||
// Mock the iteration over all the volumes of an instance.
|
||||
Iterator<VolumeVO> volumeIterator = mock(Iterator.class);
|
||||
|
|
|
|||
|
|
@ -184,20 +184,19 @@ public class VmWorkMockVirtualMachineManagerImpl implements VirtualMachineManage
|
|||
}
|
||||
|
||||
@Override
|
||||
public <T extends VMInstanceVO> void registerGuru(Type type,
|
||||
VirtualMachineGuru<T> guru) {
|
||||
public void registerGuru(Type type, VirtualMachineGuru guru) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<VirtualMachineGuru<? extends VMInstanceVO>> getRegisteredGurus() {
|
||||
public Collection<VirtualMachineGuru> getRegisteredGurus() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends VMInstanceVO> VirtualMachineGuru<T> getVmGuru(T vm) {
|
||||
public VirtualMachineGuru getVmGuru(VirtualMachine vm) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue