diff --git a/server/src/com/cloud/host/dao/HostDao.java b/server/src/com/cloud/host/dao/HostDao.java index a803e1c1f3f..f9b6fd6bd93 100644 --- a/server/src/com/cloud/host/dao/HostDao.java +++ b/server/src/com/cloud/host/dao/HostDao.java @@ -67,7 +67,7 @@ public interface HostDao extends GenericDao { */ List findDirectlyConnectedHosts(); - List findDirectAgentToLoad(long msid, long lastPingSecondsAfter, Long limit); + List findDirectAgentToLoad(long msid, long clusterId, long lastPingSecondsAfter, Long limit); /** diff --git a/server/src/com/cloud/host/dao/HostDaoImpl.java b/server/src/com/cloud/host/dao/HostDaoImpl.java index d23450747ee..e52e56a9015 100644 --- a/server/src/com/cloud/host/dao/HostDaoImpl.java +++ b/server/src/com/cloud/host/dao/HostDaoImpl.java @@ -190,6 +190,8 @@ public class HostDaoImpl extends GenericDaoBase implements HostDao UnmanagedDirectConnectSearch.and("resource", UnmanagedDirectConnectSearch.entity().getResource(), SearchCriteria.Op.NNULL); UnmanagedDirectConnectSearch.and("server", UnmanagedDirectConnectSearch.entity().getManagementServerId(), SearchCriteria.Op.NULL); UnmanagedDirectConnectSearch.and("avoidstatus", UnmanagedDirectConnectSearch.entity().getStatus(), SearchCriteria.Op.NEQ); + UnmanagedDirectConnectSearch.and("clusterId", UnmanagedDirectConnectSearch.entity().getClusterId(), SearchCriteria.Op.EQ); + /* UnmanagedDirectConnectSearch.op(SearchCriteria.Op.OR, "managementServerId", UnmanagedDirectConnectSearch.entity().getManagementServerId(), SearchCriteria.Op.EQ); UnmanagedDirectConnectSearch.and("lastPinged", UnmanagedDirectConnectSearch.entity().getLastPinged(), SearchCriteria.Op.LTEQ); @@ -246,9 +248,10 @@ public class HostDaoImpl extends GenericDaoBase implements HostDao } @Override - public List findDirectAgentToLoad(long msid, long lastPingSecondsAfter, Long limit) { + public List findDirectAgentToLoad(long msid, long clusterId, long lastPingSecondsAfter, Long limit) { SearchCriteria sc = UnmanagedDirectConnectSearch.create(); - sc.setParameters("avoidstatus", Status.Removed.toString()); + sc.setParameters("avoidstatus", Status.Removed.toString()); + sc.setParameters("clusterId", clusterId); // sc.setParameters("lastPinged", lastPingSecondsAfter); //sc.setParameters("managementServerId", msid);