fix unable to find built-in template

This commit is contained in:
frank 2011-10-27 19:19:03 -07:00
parent b413a625f4
commit d1084bb383
5 changed files with 13 additions and 13 deletions

View File

@ -383,7 +383,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager {
public Answer sendToSecStorage(HostVO ssHost, Command cmd) {
if( ssHost.getType() == Host.Type.LocalSecondaryStorage ) {
return easySend(ssHost.getId(), cmd);
} else if ( ssHost.getType() == Host.Type.SecondaryStorage) {
} else if ( ssHost.getType() == Host.Type.SecondaryStorage || ssHost.getType() == Host.Type.SecondaryStorageVM) {
return sendToSSVM(ssHost.getDataCenterId(), cmd);
} else {
String msg = "do not support Secondary Storage type " + ssHost.getType();
@ -407,7 +407,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager {
private void sendToSSVM(final long dcId, final Command cmd, final Listener listener) throws AgentUnavailableException {
List<HostVO> ssAHosts = _ssvmMgr.listUpSecondaryStorageVmHost(dcId);
List<HostVO> ssAHosts = _ssvmMgr.listUpAndConnectingSecondaryStorageVmHost(dcId);
if (ssAHosts == null || ssAHosts.isEmpty() ) {
throw new AgentUnavailableException("No ssvm host found", -1);
}
@ -417,7 +417,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager {
}
private Answer sendToSSVM(final long dcId, final Command cmd) {
List<HostVO> ssAHosts = _ssvmMgr.listUpSecondaryStorageVmHost(dcId);
List<HostVO> ssAHosts = _ssvmMgr.listUpAndConnectingSecondaryStorageVmHost(dcId);
if (ssAHosts == null || ssAHosts.isEmpty() ) {
return new Answer(cmd, false, "can not find secondary storage VM agent for data center " + dcId);
}

View File

@ -75,7 +75,7 @@ public abstract class AbstractInvestigatorImpl implements Investigator {
// Host.status is up and Host.type is routing
protected List<Long> findHostByPod(long podId, Long excludeHostId) {
SearchCriteriaService<HostVO, Long> sc = SearchCriteria2.create(HostVO.class);
SearchCriteriaService<HostVO, Long> sc = SearchCriteria2.create(HostVO.class, Long.class);
sc.addAnd(sc.getEntity().getType(), Op.EQ, Type.Routing);
sc.addAnd(sc.getEntity().getPodId(), Op.EQ, podId);
sc.addAnd(sc.getEntity().getStatus(), Op.EQ, Status.Up);

View File

@ -521,7 +521,7 @@ public class DownloadMonitorImpl implements DownloadMonitor {
}
long sserverId = ssHost.getId();
long zoneId = ssHost.getDataCenterId();
if (!(ssHost.getType() == Host.Type.SecondaryStorage || ssHost.getType() == Host.Type.LocalSecondaryStorage)) {
if (!(ssHost.getType() == Host.Type.SecondaryStorage || ssHost.getType() == Host.Type.LocalSecondaryStorage || ssHost.getType() == Host.Type.SecondaryStorageVM)) {
s_logger.warn("Huh? Agent id " + sserverId + " is not secondary storage host");
return;
}

View File

@ -1272,7 +1272,7 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V
@Override
public HostVO findSecondaryStorageHost(long dcId) {
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.SecondaryStorage);
sc.addAnd(sc.getEntity().getType(), Op.IN, Host.Type.SecondaryStorage, Host.Type.SecondaryStorageVM);
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId);
List<HostVO> storageHosts = sc.list();
if (storageHosts == null || storageHosts.size() < 1) {
@ -1286,7 +1286,7 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V
@Override
public List<HostVO> listSecondaryStorageHostsInAllZones() {
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.SecondaryStorage);
sc.addAnd(sc.getEntity().getType(), Op.IN, Host.Type.SecondaryStorage, Host.Type.SecondaryStorageVM);
return sc.list();
}
@ -1294,7 +1294,7 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V
public List<HostVO> listSecondaryStorageHostsInOneZone(long dataCenterId) {
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dataCenterId);
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.SecondaryStorage);
sc.addAnd(sc.getEntity().getType(), Op.IN, Host.Type.SecondaryStorage, Host.Type.SecondaryStorageVM);
return sc.list();
}
@ -1310,15 +1310,15 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V
public List<HostVO> listAllTypesSecondaryStorageHostsInOneZone(long dataCenterId) {
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dataCenterId);
sc.addAnd(sc.getEntity().getType(), Op.IN, Host.Type.LocalSecondaryStorage, Host.Type.SecondaryStorage);
sc.addAnd(sc.getEntity().getType(), Op.IN, Host.Type.LocalSecondaryStorage, Host.Type.SecondaryStorage, Host.Type.SecondaryStorageVM);
return sc.list();
}
@Override
public List<HostVO> listUpSecondaryStorageVmHost(long dcId) {
public List<HostVO> listUpAndConnectingSecondaryStorageVmHost(long dcId) {
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId);
sc.addAnd(sc.getEntity().getStatus(), Op.EQ, com.cloud.host.Status.Up);
sc.addAnd(sc.getEntity().getStatus(), Op.IN, com.cloud.host.Status.Up, com.cloud.host.Status.Connecting);
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.SecondaryStorageVM);
return sc.list();
}
@ -1329,7 +1329,7 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V
return ssHost;
} else if ( ssHost.getType() == Host.Type.SecondaryStorage) {
Long dcId = ssHost.getDataCenterId();
List<HostVO> ssAHosts = listUpSecondaryStorageVmHost(dcId);
List<HostVO> ssAHosts = listUpAndConnectingSecondaryStorageVmHost(dcId);
if (ssAHosts == null || ssAHosts.isEmpty() ) {
return null;
}

View File

@ -52,6 +52,6 @@ public interface SecondaryStorageVmManager extends Manager {
public List<HostVO> listSecondaryStorageHostsInOneZone(long dataCenterId);
public List<HostVO> listLocalSecondaryStorageHostsInOneZone(long dataCenterId);
public List<HostVO> listAllTypesSecondaryStorageHostsInOneZone(long dataCenterId);
public List<HostVO> listUpSecondaryStorageVmHost(long dcId);
public List<HostVO> listUpAndConnectingSecondaryStorageVmHost(long dcId);
public HostVO pickSsvmHost(HostVO ssHost);
}