Search in sources :

Example 1 with EngineClusterVO

use of org.apache.cloudstack.engine.datacenter.entity.api.db.EngineClusterVO in project cloudstack by apache.

the class EngineClusterDaoImpl method updateState.

@Override
public boolean updateState(State currentState, Event event, State nextState, DataCenterResourceEntity clusterEntity, Object data) {
    EngineClusterVO vo = findById(clusterEntity.getId());
    Date oldUpdatedTime = vo.getLastUpdated();
    SearchCriteria<EngineClusterVO> sc = StateChangeSearch.create();
    sc.setParameters("id", vo.getId());
    sc.setParameters("state", currentState);
    UpdateBuilder builder = getUpdateBuilder(vo);
    builder.set(vo, "state", nextState);
    builder.set(vo, "lastUpdated", new Date());
    int rows = update(vo, sc);
    if (rows == 0 && s_logger.isDebugEnabled()) {
        EngineClusterVO dbCluster = findByIdIncludingRemoved(vo.getId());
        if (dbCluster != null) {
            StringBuilder str = new StringBuilder("Unable to update ").append(vo.toString());
            str.append(": DB Data={id=").append(dbCluster.getId()).append("; state=").append(dbCluster.getState()).append(";updatedTime=").append(dbCluster.getLastUpdated());
            str.append(": New Data={id=").append(vo.getId()).append("; state=").append(nextState).append("; event=").append(event).append("; updatedTime=").append(vo.getLastUpdated());
            str.append(": stale Data={id=").append(vo.getId()).append("; state=").append(currentState).append("; event=").append(event).append("; updatedTime=").append(oldUpdatedTime);
        } else {
            s_logger.debug("Unable to update dataCenter: id=" + vo.getId() + ", as there is no such dataCenter exists in the database anymore");
        }
    }
    return rows > 0;
}
Also used : EngineClusterVO(org.apache.cloudstack.engine.datacenter.entity.api.db.EngineClusterVO) UpdateBuilder(com.cloud.utils.db.UpdateBuilder) Date(java.util.Date)

Example 2 with EngineClusterVO

use of org.apache.cloudstack.engine.datacenter.entity.api.db.EngineClusterVO in project cloudstack by apache.

the class EngineClusterDaoImpl method getAvailableHypervisorInZone.

@Override
public List<HypervisorType> getAvailableHypervisorInZone(Long zoneId) {
    SearchCriteria<EngineClusterVO> sc = AvailHyperSearch.create();
    if (zoneId != null) {
        sc.setParameters("zoneId", zoneId);
    }
    List<EngineClusterVO> clusters = listBy(sc);
    List<HypervisorType> hypers = new ArrayList<HypervisorType>(4);
    for (EngineClusterVO cluster : clusters) {
        hypers.add(cluster.getHypervisorType());
    }
    return hypers;
}
Also used : HypervisorType(com.cloud.hypervisor.Hypervisor.HypervisorType) EngineClusterVO(org.apache.cloudstack.engine.datacenter.entity.api.db.EngineClusterVO) ArrayList(java.util.ArrayList)

Example 3 with EngineClusterVO

use of org.apache.cloudstack.engine.datacenter.entity.api.db.EngineClusterVO in project cloudstack by apache.

the class EngineClusterDaoImpl method remove.

@Override
public boolean remove(Long id) {
    TransactionLegacy txn = TransactionLegacy.currentTxn();
    txn.start();
    EngineClusterVO cluster = createForUpdate();
    cluster.setName(null);
    cluster.setGuid(null);
    update(id, cluster);
    boolean result = super.remove(id);
    txn.commit();
    return result;
}
Also used : TransactionLegacy(com.cloud.utils.db.TransactionLegacy) EngineClusterVO(org.apache.cloudstack.engine.datacenter.entity.api.db.EngineClusterVO)

Example 4 with EngineClusterVO

use of org.apache.cloudstack.engine.datacenter.entity.api.db.EngineClusterVO in project cloudstack by apache.

the class ProvisioningTest method setUp.

@Override
@Before
public void setUp() {
    EngineDataCenterVO dc = new EngineDataCenterVO(UUID.randomUUID().toString(), "test", "8.8.8.8", null, "10.0.0.1", null, "10.0.0.1/24", null, null, NetworkType.Basic, null, null, true, true, null, null);
    Mockito.when(dcDao.findByUuid(Matchers.anyString())).thenReturn(dc);
    Mockito.when(dcDao.persist((EngineDataCenterVO) Matchers.anyObject())).thenReturn(dc);
    EngineHostPodVO pod = new EngineHostPodVO("lab", 123, "10.0.0.1", "10.0.0.1", 24, "test");
    Mockito.when(_podDao.findByUuid(Matchers.anyString())).thenReturn(pod);
    Mockito.when(_podDao.persist((EngineHostPodVO) Matchers.anyObject())).thenReturn(pod);
    EngineClusterVO cluster = new EngineClusterVO();
    Mockito.when(_clusterDao.findByUuid(Matchers.anyString())).thenReturn(cluster);
    Mockito.when(_clusterDao.persist((EngineClusterVO) Matchers.anyObject())).thenReturn(cluster);
    EngineHostVO host = new EngineHostVO("68765876598");
    Mockito.when(_hostDao.findByUuid(Matchers.anyString())).thenReturn(host);
    Mockito.when(_hostDao.persist((EngineHostVO) Matchers.anyObject())).thenReturn(host);
}
Also used : EngineClusterVO(org.apache.cloudstack.engine.datacenter.entity.api.db.EngineClusterVO) EngineHostVO(org.apache.cloudstack.engine.datacenter.entity.api.db.EngineHostVO) EngineHostPodVO(org.apache.cloudstack.engine.datacenter.entity.api.db.EngineHostPodVO) EngineDataCenterVO(org.apache.cloudstack.engine.datacenter.entity.api.db.EngineDataCenterVO) Before(org.junit.Before)

Aggregations

EngineClusterVO (org.apache.cloudstack.engine.datacenter.entity.api.db.EngineClusterVO)4 HypervisorType (com.cloud.hypervisor.Hypervisor.HypervisorType)1 TransactionLegacy (com.cloud.utils.db.TransactionLegacy)1 UpdateBuilder (com.cloud.utils.db.UpdateBuilder)1 ArrayList (java.util.ArrayList)1 Date (java.util.Date)1 EngineDataCenterVO (org.apache.cloudstack.engine.datacenter.entity.api.db.EngineDataCenterVO)1 EngineHostPodVO (org.apache.cloudstack.engine.datacenter.entity.api.db.EngineHostPodVO)1 EngineHostVO (org.apache.cloudstack.engine.datacenter.entity.api.db.EngineHostVO)1 Before (org.junit.Before)1