diff --git a/server/src/com/cloud/host/dao/HostDao.java b/server/src/com/cloud/host/dao/HostDao.java index d3d43490f39..85bd2994580 100644 --- a/server/src/com/cloud/host/dao/HostDao.java +++ b/server/src/com/cloud/host/dao/HostDao.java @@ -40,7 +40,8 @@ public interface HostDao extends GenericDao { List listByDataCenter(long dcId); List listByHostPod(long podId); List listByStatus(Status... status); - List listBy(Host.Type type, long dcId); + List listBy(Host.Type type, long dcId); + List listAllBy(Host.Type type, long dcId); HostVO findSecondaryStorageHost(long dcId); List listByCluster(long clusterId); /** diff --git a/server/src/com/cloud/host/dao/HostDaoImpl.java b/server/src/com/cloud/host/dao/HostDaoImpl.java index 9a49ca11c0f..3db7a1cc259 100644 --- a/server/src/com/cloud/host/dao/HostDaoImpl.java +++ b/server/src/com/cloud/host/dao/HostDaoImpl.java @@ -311,6 +311,15 @@ public class HostDaoImpl extends GenericDaoBase implements HostDao sc.setParameters("status", Status.Up.toString()); return listBy(sc); + } + + @Override + public List listAllBy(Host.Type type, long dcId) { + SearchCriteria sc = TypeDcStatusSearch.create(); + sc.setParameters("type", type.toString()); + sc.setParameters("dc", dcId); + + return listBy(sc); } @Override diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index e4828a3e02f..2e0e49d228e 100755 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -1089,7 +1089,7 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag public Pair getAbsoluteIsoPath(long templateId, long dataCenterId) { String isoPath = null; - List storageHosts = _hostDao.listBy(Host.Type.SecondaryStorage, dataCenterId); + List storageHosts = _hostDao.listAllBy(Host.Type.SecondaryStorage, dataCenterId); if (storageHosts != null) { for (HostVO storageHost : storageHosts) { VMTemplateHostVO templateHostVO = _vmTemplateHostDao.findByHostTemplate(storageHost.getId(), templateId); @@ -1099,7 +1099,7 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag } } } - + s_logger.warn("Unable to find secondary storage in zone id=" + dataCenterId); return null; }