Added a method to find external network appliances that need to be reconnected.

This commit is contained in:
keshav 2011-01-03 16:11:32 -08:00
parent 7133d8bf64
commit 92d9e35110
2 changed files with 18 additions and 2 deletions

View File

@ -68,7 +68,7 @@ public interface HostDao extends GenericDao<HostVO, Long> {
List<HostVO> findDirectlyConnectedHosts();
List<HostVO> findDirectAgentToLoad(long msid, long clusterId, long lastPingSecondsAfter, Long limit);
List<HostVO> findExternalNetworkAppliancesToLoad(long lastPingSecondsAfter);
/**
* Mark the host as disconnected if it is in one of these states.

View File

@ -77,6 +77,7 @@ public class HostDaoImpl extends GenericDaoBase<HostVO, Long> implements HostDao
protected final SearchBuilder<HostVO> SequenceSearch;
protected final SearchBuilder<HostVO> DirectlyConnectedSearch;
protected final SearchBuilder<HostVO> UnmanagedDirectConnectSearch;
protected final SearchBuilder<HostVO> UnmanagedExternalNetworkApplianceSearch;
protected final SearchBuilder<HostVO> MaintenanceCountSearch;
protected final SearchBuilder<HostVO> ClusterSearch;
protected final SearchBuilder<HostVO> ConsoleProxyHostSearch;
@ -200,7 +201,14 @@ public class HostDaoImpl extends GenericDaoBase<HostVO, Long> implements HostDao
UnmanagedDirectConnectSearch.cp();
*/
UnmanagedDirectConnectSearch.done();
UnmanagedExternalNetworkApplianceSearch = createSearchBuilder();
UnmanagedExternalNetworkApplianceSearch.and("resource", UnmanagedExternalNetworkApplianceSearch.entity().getResource(), SearchCriteria.Op.NNULL);
UnmanagedExternalNetworkApplianceSearch.and("server", UnmanagedExternalNetworkApplianceSearch.entity().getManagementServerId(), SearchCriteria.Op.NULL);
UnmanagedExternalNetworkApplianceSearch.and("types", UnmanagedExternalNetworkApplianceSearch.entity().getType(), SearchCriteria.Op.IN);
UnmanagedExternalNetworkApplianceSearch.and("lastPinged", UnmanagedExternalNetworkApplianceSearch.entity().getLastPinged(), SearchCriteria.Op.LTEQ);
UnmanagedExternalNetworkApplianceSearch.done();
_statusAttr = _allAttributes.get("status");
_msIdAttr = _allAttributes.get("managementServerId");
_pingTimeAttr = _allAttributes.get("lastPinged");
@ -256,6 +264,14 @@ public class HostDaoImpl extends GenericDaoBase<HostVO, Long> implements HostDao
sc.setParameters("lastPinged", lastPingSecondsAfter);
return search(sc, new Filter(HostVO.class, "id", true, 0L, limit));
}
@Override
public List<HostVO> findExternalNetworkAppliancesToLoad(long lastPingSecondsAfter) {
SearchCriteria<HostVO> sc = UnmanagedExternalNetworkApplianceSearch.create();
sc.setParameters("types", new Object[]{Type.ExternalFirewall, Type.ExternalLoadBalancer});
sc.setParameters("lastPinged", lastPingSecondsAfter);
return search(sc, null);
}
@Override