mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 20:02:29 +01:00
Bug 11522 - New agent manager
call SearchCriteriaService interface instead of SearchCriteria2 instance
This commit is contained in:
parent
2b0afe505d
commit
24b82a7a89
@ -49,6 +49,7 @@ import com.cloud.utils.db.ConnectionConcierge;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.SearchCriteria2;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.SearchCriteriaService;
|
||||
import com.cloud.utils.time.InaccurateClock;
|
||||
import com.cloud.vm.VMInstanceVO;
|
||||
import com.cloud.vm.dao.VMInstanceDao;
|
||||
@ -143,7 +144,7 @@ public class AgentMonitor extends Thread implements Listener {
|
||||
_agentMgr.disconnectWithInvestigation(agentId, Event.PingTimeout);
|
||||
}
|
||||
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getResourceState(), Op.IN, ResourceState.PrepareForMaintenance, ResourceState.ErrorInMaintenance);
|
||||
List<HostVO> hosts = sc.list();
|
||||
|
||||
|
||||
@ -73,6 +73,7 @@ import com.cloud.utils.component.Inject;
|
||||
import com.cloud.utils.concurrency.NamedThreadFactory;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.SearchCriteria2;
|
||||
import com.cloud.utils.db.SearchCriteriaService;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
@ -712,7 +713,7 @@ public class ClusteredAgentManagerImpl extends AgentManagerImpl implements Clust
|
||||
public void startRebalanceAgents() {
|
||||
s_logger.debug("Management server " + _nodeId + " is asking other peers to rebalance their agents");
|
||||
List<ManagementServerHostVO> allMS = _mshostDao.listBy(ManagementServerHost.State.Up);
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getManagementServerId(), Op.NNULL);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.Routing);
|
||||
List<HostVO> allManagedAgents = sc.list();
|
||||
|
||||
@ -76,6 +76,7 @@ import com.cloud.utils.db.ConnectionConcierge;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.SearchCriteria2;
|
||||
import com.cloud.utils.db.SearchCriteriaService;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.utils.events.SubscriptionMgr;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
@ -622,7 +623,7 @@ public class ClusterManagerImpl implements ClusterManager {
|
||||
|
||||
//initiate agent lb task will be scheduled and executed only once, and only when number of agents loaded exceeds _connectedAgentsThreshold
|
||||
if (_agentLBEnabled && !_agentLbHappened) {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getManagementServerId(), Op.NNULL);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.Routing);
|
||||
List<HostVO> allManagedRoutingAgents = sc.list();
|
||||
|
||||
@ -37,6 +37,7 @@ import com.cloud.host.dao.HostDao;
|
||||
import com.cloud.utils.component.Inject;
|
||||
import com.cloud.utils.db.SearchCriteria2;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.SearchCriteriaService;
|
||||
|
||||
|
||||
@Local(value=AgentLoadBalancerPlanner.class)
|
||||
@ -69,7 +70,7 @@ public class ClusterBasedAgentLoadBalancerPlanner implements AgentLoadBalancerPl
|
||||
|
||||
@Override
|
||||
public List<HostVO> getHostsToRebalance(long msId, int avLoad) {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.Routing);
|
||||
sc.addAnd(sc.getEntity().getManagementServerId(), Op.EQ, msId);
|
||||
List<HostVO> allHosts = sc.list();
|
||||
|
||||
@ -40,6 +40,7 @@ import com.cloud.resource.ResourceManager;
|
||||
import com.cloud.utils.component.Inject;
|
||||
import com.cloud.utils.db.SearchCriteria2;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.SearchCriteriaService;
|
||||
|
||||
public abstract class AbstractInvestigatorImpl implements Investigator {
|
||||
private static final Logger s_logger = Logger.getLogger(AbstractInvestigatorImpl.class);
|
||||
@ -74,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) {
|
||||
SearchCriteria2<HostVO, Long> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, Long> sc = SearchCriteria2.create(HostVO.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);
|
||||
|
||||
@ -113,6 +113,7 @@ import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.SearchCriteria2;
|
||||
import com.cloud.utils.db.SearchCriteriaService;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.utils.fsm.NoTransitionException;
|
||||
@ -1815,7 +1816,7 @@ public class ResourceManagerImpl implements ResourceManager, ResourceService, Ma
|
||||
@Override
|
||||
public List<HostVO> findDirectlyConnectedHosts() {
|
||||
/* The resource column is not null for direct connected resource */
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getResource(), Op.NNULL);
|
||||
sc.addAnd(sc.getEntity().getResourceState(), Op.NIN, ResourceState.Disabled);
|
||||
return sc.list();
|
||||
@ -1823,7 +1824,7 @@ public class ResourceManagerImpl implements ResourceManager, ResourceService, Ma
|
||||
|
||||
@Override
|
||||
public List<HostVO> listAllUpAndEnabledHosts(Type type, Long clusterId, Long podId, long dcId) {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
if (type != null) {
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, type);
|
||||
}
|
||||
@ -1841,14 +1842,14 @@ public class ResourceManagerImpl implements ResourceManager, ResourceService, Ma
|
||||
|
||||
@Override
|
||||
public List<HostVO> listAllHostsInCluster(long clusterId) {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getClusterId(), Op.EQ, clusterId);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HostVO> listHostsInClusterByStatus(long clusterId, Status status) {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getClusterId(), Op.EQ, clusterId);
|
||||
sc.addAnd(sc.getEntity().getStatus(), Op.EQ, status);
|
||||
return sc.list();
|
||||
@ -1856,7 +1857,7 @@ public class ResourceManagerImpl implements ResourceManager, ResourceService, Ma
|
||||
|
||||
@Override
|
||||
public List<HostVO> listAllUpAndEnabledHostsInOneZoneByType(Type type, long dcId) {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, type);
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId);
|
||||
sc.addAnd(sc.getEntity().getStatus(), Op.EQ, Status.Up);
|
||||
@ -1866,7 +1867,7 @@ public class ResourceManagerImpl implements ResourceManager, ResourceService, Ma
|
||||
|
||||
@Override
|
||||
public List<HostVO> listAllHostsInOneZoneByType(Type type, long dcId) {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, type);
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId);
|
||||
return sc.list();
|
||||
@ -1874,14 +1875,14 @@ public class ResourceManagerImpl implements ResourceManager, ResourceService, Ma
|
||||
|
||||
@Override
|
||||
public List<HostVO> listAllHostsInAllZonesByType(Type type) {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, type);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HypervisorType> listAvailHypervisorInZone(Long hostId, Long zoneId) {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
if (zoneId != null) {
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, zoneId);
|
||||
}
|
||||
|
||||
@ -30,6 +30,7 @@ import com.cloud.utils.Ternary;
|
||||
import com.cloud.utils.component.Inject;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.SearchCriteria2;
|
||||
import com.cloud.utils.db.SearchCriteriaService;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
|
||||
@Local(value ={OCFS2Manager.class})
|
||||
@ -131,7 +132,7 @@ public class OCFS2ManagerImpl implements OCFS2Manager, ResourceListener {
|
||||
throw new CloudRuntimeException("Cannot find cluster for ID " + clusterId);
|
||||
}
|
||||
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getClusterId(), Op.EQ, clusterId);
|
||||
sc.addAnd(sc.getEntity().getPodId(), Op.EQ, cluster.getPodId());
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, cluster.getDataCenterId());
|
||||
|
||||
@ -101,6 +101,7 @@ import com.cloud.utils.component.Inject;
|
||||
import com.cloud.utils.db.GlobalLock;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.SearchCriteria2;
|
||||
import com.cloud.utils.db.SearchCriteriaService;
|
||||
import com.cloud.utils.events.SubscriptionMgr;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.utils.net.NetUtils;
|
||||
@ -1268,7 +1269,7 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V
|
||||
|
||||
@Override
|
||||
public HostVO findSecondaryStorageHost(long dcId) {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.SecondaryStorage);
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId);
|
||||
List<HostVO> storageHosts = sc.list();
|
||||
@ -1282,14 +1283,14 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V
|
||||
|
||||
@Override
|
||||
public List<HostVO> listSecondaryStorageHostsInAllZones() {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.SecondaryStorage);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HostVO> listSecondaryStorageHostsInOneZone(long dataCenterId) {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
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);
|
||||
return sc.list();
|
||||
@ -1297,7 +1298,7 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V
|
||||
|
||||
@Override
|
||||
public List<HostVO> listLocalSecondaryStorageHostsInOneZone(long dataCenterId) {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
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.LocalSecondaryStorage);
|
||||
return sc.list();
|
||||
@ -1305,7 +1306,7 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V
|
||||
|
||||
@Override
|
||||
public List<HostVO> listAllTypesSecondaryStorageHostsInOneZone(long dataCenterId) {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
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);
|
||||
return sc.list();
|
||||
@ -1313,7 +1314,7 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V
|
||||
|
||||
@Override
|
||||
public List<HostVO> listUpSecondaryStorageVmHost(long dcId) {
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
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().getType(), Op.EQ, Host.Type.SecondaryStorageVM);
|
||||
|
||||
@ -16,6 +16,7 @@ import com.cloud.utils.component.MockComponentLocator;
|
||||
import com.cloud.utils.db.DbTestUtils;
|
||||
import com.cloud.utils.db.SearchCriteria2;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.SearchCriteriaService;
|
||||
import com.cloud.vm.VMInstanceVO;
|
||||
import com.cloud.vm.VirtualMachine;
|
||||
import com.cloud.vm.dao.VMInstanceDao;
|
||||
@ -45,21 +46,21 @@ public class SearchCriteria2Test extends TestCase {
|
||||
|
||||
|
||||
s_logger.debug("Test seraching host:");
|
||||
SearchCriteria2<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
SearchCriteriaService<HostVO, HostVO> sc = SearchCriteria2.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getStatus(), Op.EQ, Status.Disconnected);
|
||||
List<HostVO> ups = sc.list();
|
||||
for (HostVO vo : ups) {
|
||||
s_logger.info("Host id: " + vo.getId() + " is Disconnected");
|
||||
}
|
||||
|
||||
SearchCriteria2<VMInstanceVO, VMInstanceVO> sc1 = SearchCriteria2.create(VMInstanceVO.class);
|
||||
SearchCriteriaService<VMInstanceVO, VMInstanceVO> sc1 = SearchCriteria2.create(VMInstanceVO.class);
|
||||
sc1.addAnd(sc1.getEntity().getState(), Op.EQ, VirtualMachine.State.Running);
|
||||
List<VMInstanceVO> vms = sc1.list();
|
||||
for (VMInstanceVO vm : vms) {
|
||||
s_logger.info("Vm name:" + vm.getInstanceName());
|
||||
}
|
||||
|
||||
SearchCriteria2<HostVO, Long> sc3 = SearchCriteria2.create(HostVO.class, Long.class);
|
||||
SearchCriteriaService<HostVO, Long> sc3 = SearchCriteria2.create(HostVO.class, Long.class);
|
||||
sc3.selectField(sc3.getEntity().getId());
|
||||
sc3.addAnd(sc3.getEntity().getStatus(), Op.EQ, Status.Disconnected);
|
||||
sc3.addAnd(sc3.getEntity().getType(), Op.EQ, Host.Type.Routing);
|
||||
|
||||
@ -117,6 +117,7 @@ public class SearchCriteria2<T, K> implements SearchCriteriaService<T, K>, Metho
|
||||
return _selects == null || _selects.size() == 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public T getEntity() {
|
||||
return (T) _entity;
|
||||
}
|
||||
|
||||
@ -8,4 +8,5 @@ public interface SearchCriteriaService<T, K> {
|
||||
public void selectField(Object... useless);
|
||||
public void addAnd(Object useless, Op op, Object...values);
|
||||
public List<K> list();
|
||||
public T getEntity();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user