mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Changed SearchCriteria2 to GenericQueryBuilder to reflect the same placement
This commit is contained in:
parent
e2988902c9
commit
e8cac2c5d8
@ -20,14 +20,14 @@ import org.apache.cloudstack.api.Identity;
|
||||
import org.apache.cloudstack.api.InternalIdentity;
|
||||
|
||||
public interface VirtualRouterProvider extends InternalIdentity, Identity {
|
||||
public enum VirtualRouterProviderType {
|
||||
public enum Type {
|
||||
VirtualRouter,
|
||||
ElasticLoadBalancerVm,
|
||||
VPCVirtualRouter,
|
||||
InternalLbVm
|
||||
}
|
||||
|
||||
public VirtualRouterProviderType getType();
|
||||
public Type getType();
|
||||
|
||||
public boolean isEnabled();
|
||||
|
||||
|
||||
@ -22,12 +22,12 @@ import org.apache.cloudstack.api.command.admin.router.ConfigureVirtualRouterElem
|
||||
import org.apache.cloudstack.api.command.admin.router.ListVirtualRouterElementsCmd;
|
||||
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.VirtualRouterProvider.Type;
|
||||
import com.cloud.utils.component.PluggableService;
|
||||
|
||||
public interface VirtualRouterElementService extends PluggableService{
|
||||
VirtualRouterProvider configure(ConfigureVirtualRouterElementCmd cmd);
|
||||
VirtualRouterProvider addElement(Long nspId, VirtualRouterProviderType providerType);
|
||||
VirtualRouterProvider addElement(Long nspId, Type providerType);
|
||||
VirtualRouterProvider getCreatedElement(long id);
|
||||
List<? extends VirtualRouterProvider> searchForVirtualRouterElement(ListVirtualRouterElementsCmd cmd);
|
||||
}
|
||||
|
||||
@ -36,7 +36,7 @@ import com.cloud.event.EventTypes;
|
||||
import com.cloud.exception.InvalidParameterValueException;
|
||||
import com.cloud.exception.ResourceAllocationException;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.VirtualRouterProvider.Type;
|
||||
import com.cloud.network.element.VirtualRouterElementService;
|
||||
import com.cloud.user.Account;
|
||||
|
||||
@ -70,15 +70,15 @@ public class CreateVirtualRouterElementCmd extends BaseAsyncCreateCmd {
|
||||
return nspId;
|
||||
}
|
||||
|
||||
public VirtualRouterProviderType getProviderType() {
|
||||
public Type getProviderType() {
|
||||
if (providerType != null) {
|
||||
if (providerType.equalsIgnoreCase(VirtualRouterProviderType.VirtualRouter.toString())) {
|
||||
return VirtualRouterProviderType.VirtualRouter;
|
||||
} else if (providerType.equalsIgnoreCase(VirtualRouterProviderType.VPCVirtualRouter.toString())) {
|
||||
return VirtualRouterProviderType.VPCVirtualRouter;
|
||||
if (providerType.equalsIgnoreCase(Type.VirtualRouter.toString())) {
|
||||
return Type.VirtualRouter;
|
||||
} else if (providerType.equalsIgnoreCase(Type.VPCVirtualRouter.toString())) {
|
||||
return Type.VPCVirtualRouter;
|
||||
} else throw new InvalidParameterValueException("Invalid providerType specified");
|
||||
}
|
||||
return VirtualRouterProviderType.VirtualRouter;
|
||||
return Type.VirtualRouter;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
@ -1449,7 +1449,7 @@ public class AgentManagerImpl extends ManagerBase implements AgentManager, Handl
|
||||
List<Long> behindAgents = findAgentsBehindOnPing();
|
||||
for (Long agentId : behindAgents) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getId(), Op.EQ, agentId);
|
||||
sc.and(sc.entity().getId(), Op.EQ, agentId);
|
||||
HostVO h = sc.find();
|
||||
if (h != null) {
|
||||
ResourceState resourceState = h.getResourceState();
|
||||
@ -1471,7 +1471,7 @@ public class AgentManagerImpl extends ManagerBase implements AgentManager, Handl
|
||||
}
|
||||
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getResourceState(), Op.IN, ResourceState.PrepareForMaintenance, ResourceState.ErrorInMaintenance);
|
||||
sc.and(sc.entity().getResourceState(), Op.IN, ResourceState.PrepareForMaintenance, ResourceState.ErrorInMaintenance);
|
||||
List<HostVO> hosts = sc.list();
|
||||
|
||||
for (HostVO host : hosts) {
|
||||
|
||||
@ -87,9 +87,8 @@ import com.cloud.serializer.GsonHelper;
|
||||
import com.cloud.utils.DateUtil;
|
||||
import com.cloud.utils.Profiler;
|
||||
import com.cloud.utils.concurrency.NamedThreadFactory;
|
||||
import com.cloud.utils.db.QueryBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.utils.nio.Link;
|
||||
@ -783,9 +782,9 @@ 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);
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getManagementServerId(), Op.NNULL);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.Routing);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getManagementServerId(), Op.NNULL);
|
||||
sc.and(sc.entity().getType(), Op.EQ, Host.Type.Routing);
|
||||
List<HostVO> allManagedAgents = sc.list();
|
||||
|
||||
int avLoad = 0;
|
||||
@ -1369,13 +1368,13 @@ public class ClusteredAgentManagerImpl extends AgentManagerImpl implements Clust
|
||||
profilerAgentLB.start();
|
||||
//initiate agent lb task will be scheduled and executed only once, and only when number of agents loaded exceeds _connectedAgentsThreshold
|
||||
if (EnableLB.value() && !_agentLbHappened) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getManagementServerId(), Op.NNULL);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.Routing);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getManagementServerId(), Op.NNULL);
|
||||
sc.and(sc.entity().getType(), Op.EQ, Host.Type.Routing);
|
||||
List<HostVO> allManagedRoutingAgents = sc.list();
|
||||
|
||||
sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.Routing);
|
||||
sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getType(), Op.EQ, Host.Type.Routing);
|
||||
List<HostVO> allAgents = sc.list();
|
||||
double allHostsCount = allAgents.size();
|
||||
double managedHostsCount = allManagedRoutingAgents.size();
|
||||
|
||||
@ -26,7 +26,6 @@ import java.util.Map;
|
||||
|
||||
import javax.ejb.Local;
|
||||
import javax.inject.Inject;
|
||||
import javax.naming.ConfigurationException;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.stereotype.Component;
|
||||
@ -36,9 +35,8 @@ import com.cloud.host.HostVO;
|
||||
import com.cloud.host.Status;
|
||||
import com.cloud.host.dao.HostDao;
|
||||
import com.cloud.utils.component.AdapterBase;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.QueryBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
|
||||
@Component
|
||||
@Local(value=AgentLoadBalancerPlanner.class)
|
||||
@ -49,9 +47,9 @@ public class ClusterBasedAgentLoadBalancerPlanner extends AdapterBase implements
|
||||
|
||||
@Override
|
||||
public List<HostVO> getHostsToRebalance(long msId, int avLoad) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.Routing);
|
||||
sc.addAnd(sc.getEntity().getManagementServerId(), Op.EQ, msId);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getType(), Op.EQ, Host.Type.Routing);
|
||||
sc.and(sc.entity().getManagementServerId(), Op.EQ, msId);
|
||||
List<HostVO> allHosts = sc.list();
|
||||
|
||||
if (allHosts.size() <= avLoad) {
|
||||
@ -59,9 +57,9 @@ public class ClusterBasedAgentLoadBalancerPlanner extends AdapterBase implements
|
||||
return null;
|
||||
}
|
||||
|
||||
sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getManagementServerId(), Op.EQ, msId);
|
||||
sc.addAnd(sc.getEntity().getStatus(), Op.EQ, Status.Up);
|
||||
sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getManagementServerId(), Op.EQ, msId);
|
||||
sc.and(sc.entity().getStatus(), Op.EQ, Status.Up);
|
||||
List<HostVO> directHosts = sc.list();
|
||||
|
||||
if (directHosts.isEmpty()) {
|
||||
|
||||
@ -51,21 +51,21 @@ public class StorageNetworkIpRangeDaoImpl extends GenericDaoBase<StorageNetworkI
|
||||
@Override
|
||||
public List<StorageNetworkIpRangeVO> listByPodId(long podId) {
|
||||
GenericQueryBuilder<StorageNetworkIpRangeVO, StorageNetworkIpRangeVO> sc = GenericQueryBuilder.create(StorageNetworkIpRangeVO.class);
|
||||
sc.addAnd(sc.getEntity().getPodId(), Op.EQ, podId);
|
||||
sc.and(sc.entity().getPodId(), Op.EQ, podId);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StorageNetworkIpRangeVO> listByRangeId(long rangeId) {
|
||||
GenericQueryBuilder<StorageNetworkIpRangeVO, StorageNetworkIpRangeVO> sc = GenericQueryBuilder.create(StorageNetworkIpRangeVO.class);
|
||||
sc.addAnd(sc.getEntity().getId(), Op.EQ, rangeId);
|
||||
sc.and(sc.entity().getId(), Op.EQ, rangeId);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StorageNetworkIpRangeVO> listByDataCenterId(long dcId) {
|
||||
GenericQueryBuilder<StorageNetworkIpRangeVO, StorageNetworkIpRangeVO> sc = GenericQueryBuilder.create(StorageNetworkIpRangeVO.class);
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId);
|
||||
sc.and(sc.entity().getDataCenterId(), Op.EQ, dcId);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
|
||||
@ -20,12 +20,12 @@ import java.util.List;
|
||||
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.element.VirtualRouterProviderVO;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.VirtualRouterProvider.Type;
|
||||
import com.cloud.utils.db.GenericDao;
|
||||
|
||||
public interface VirtualRouterProviderDao extends GenericDao<VirtualRouterProviderVO, Long> {
|
||||
public VirtualRouterProviderVO findByNspIdAndType(long nspId, VirtualRouterProviderType type);
|
||||
public List<VirtualRouterProviderVO> listByEnabledAndType(boolean enabled, VirtualRouterProviderType type);
|
||||
public VirtualRouterProviderVO findByIdAndEnabledAndType(long id, boolean enabled, VirtualRouterProviderType type);
|
||||
public List<VirtualRouterProviderVO> listByType(VirtualRouterProviderType type);
|
||||
public VirtualRouterProviderVO findByNspIdAndType(long nspId, Type type);
|
||||
public List<VirtualRouterProviderVO> listByEnabledAndType(boolean enabled, Type type);
|
||||
public VirtualRouterProviderVO findByIdAndEnabledAndType(long id, boolean enabled, Type type);
|
||||
public List<VirtualRouterProviderVO> listByType(Type type);
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ import javax.ejb.Local;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.cloud.network.element.VirtualRouterProviderVO;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.VirtualRouterProvider.Type;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.GenericDaoBase;
|
||||
import com.cloud.utils.db.SearchBuilder;
|
||||
@ -46,7 +46,7 @@ public class VirtualRouterProviderDaoImpl extends GenericDaoBase<VirtualRouterPr
|
||||
}
|
||||
|
||||
@Override
|
||||
public VirtualRouterProviderVO findByNspIdAndType(long nspId, VirtualRouterProviderType type) {
|
||||
public VirtualRouterProviderVO findByNspIdAndType(long nspId, Type type) {
|
||||
SearchCriteria<VirtualRouterProviderVO> sc = AllFieldsSearch.create();
|
||||
sc.setParameters("nsp_id", nspId);
|
||||
sc.setParameters("type", type);
|
||||
@ -54,7 +54,7 @@ public class VirtualRouterProviderDaoImpl extends GenericDaoBase<VirtualRouterPr
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VirtualRouterProviderVO> listByEnabledAndType(boolean enabled, VirtualRouterProviderType type) {
|
||||
public List<VirtualRouterProviderVO> listByEnabledAndType(boolean enabled, Type type) {
|
||||
SearchCriteria<VirtualRouterProviderVO> sc = AllFieldsSearch.create();
|
||||
sc.setParameters("enabled", enabled);
|
||||
sc.setParameters("type", type);
|
||||
@ -62,7 +62,7 @@ public class VirtualRouterProviderDaoImpl extends GenericDaoBase<VirtualRouterPr
|
||||
}
|
||||
|
||||
@Override
|
||||
public VirtualRouterProviderVO findByIdAndEnabledAndType(long id, boolean enabled, VirtualRouterProviderType type) {
|
||||
public VirtualRouterProviderVO findByIdAndEnabledAndType(long id, boolean enabled, Type type) {
|
||||
SearchCriteria<VirtualRouterProviderVO> sc = AllFieldsSearch.create();
|
||||
sc.setParameters("id", id);
|
||||
sc.setParameters("enabled", enabled);
|
||||
@ -71,7 +71,7 @@ public class VirtualRouterProviderDaoImpl extends GenericDaoBase<VirtualRouterPr
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VirtualRouterProviderVO> listByType(VirtualRouterProviderType type) {
|
||||
public List<VirtualRouterProviderVO> listByType(Type type) {
|
||||
SearchCriteria<VirtualRouterProviderVO> sc = AllFieldsSearch.create();
|
||||
sc.setParameters("type", type);
|
||||
return listBy(sc);
|
||||
|
||||
@ -42,7 +42,7 @@ public class VirtualRouterProviderVO implements VirtualRouterProvider {
|
||||
|
||||
@Column(name="type")
|
||||
@Enumerated(EnumType.STRING)
|
||||
private VirtualRouterProviderType type;
|
||||
private Type type;
|
||||
|
||||
@Column(name="enabled")
|
||||
private boolean enabled;
|
||||
@ -60,7 +60,7 @@ public class VirtualRouterProviderVO implements VirtualRouterProvider {
|
||||
this.uuid = UUID.randomUUID().toString();
|
||||
}
|
||||
|
||||
public VirtualRouterProviderVO(long nspId, VirtualRouterProviderType type) {
|
||||
public VirtualRouterProviderVO(long nspId, Type type) {
|
||||
this.nspId = nspId;
|
||||
this.type = type;
|
||||
this.uuid = UUID.randomUUID().toString();
|
||||
@ -81,7 +81,7 @@ public class VirtualRouterProviderVO implements VirtualRouterProvider {
|
||||
}
|
||||
|
||||
@Override
|
||||
public VirtualRouterProviderType getType() {
|
||||
public Type getType() {
|
||||
return this.type;
|
||||
}
|
||||
|
||||
@ -106,7 +106,7 @@ public class VirtualRouterProviderVO implements VirtualRouterProvider {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setType(VirtualRouterProviderType type) {
|
||||
public void setType(Type type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
|
||||
@ -47,7 +47,7 @@ public class AccountDetailsDaoImpl extends GenericDaoBase<AccountDetailVO, Long>
|
||||
@Override
|
||||
public Map<String, String> findDetails(long accountId) {
|
||||
GenericQueryBuilder<AccountDetailVO, AccountDetailVO> sc = GenericQueryBuilder.create(AccountDetailVO.class);
|
||||
sc.addAnd(sc.getEntity().getAccountId(), Op.EQ, accountId);
|
||||
sc.and(sc.entity().getAccountId(), Op.EQ, accountId);
|
||||
List<AccountDetailVO> results = sc.list();
|
||||
Map<String, String> details = new HashMap<String, String>(results.size());
|
||||
for (AccountDetailVO r : results) {
|
||||
@ -73,8 +73,8 @@ public class AccountDetailsDaoImpl extends GenericDaoBase<AccountDetailVO, Long>
|
||||
@Override
|
||||
public AccountDetailVO findDetail(long accountId, String name) {
|
||||
GenericQueryBuilder<AccountDetailVO, AccountDetailVO> sc = GenericQueryBuilder.create(AccountDetailVO.class);
|
||||
sc.addAnd(sc.getEntity().getAccountId(), Op.EQ, accountId);
|
||||
sc.addAnd(sc.getEntity().getName(), Op.EQ, name);
|
||||
sc.and(sc.entity().getAccountId(), Op.EQ, accountId);
|
||||
sc.and(sc.entity().getName(), Op.EQ, name);
|
||||
return sc.find();
|
||||
}
|
||||
|
||||
|
||||
@ -35,12 +35,11 @@ import com.cloud.storage.StoragePoolStatus;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.GenericDaoBase;
|
||||
import com.cloud.utils.db.GenericSearchBuilder;
|
||||
import com.cloud.utils.db.QueryBuilder;
|
||||
import com.cloud.utils.db.SearchBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.cloud.utils.db.SearchCriteria.Func;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
|
||||
@ -316,10 +315,10 @@ public class PrimaryDataStoreDaoImpl extends GenericDaoBase<StoragePoolVO, Long>
|
||||
public List<StoragePoolVO> findZoneWideStoragePoolsByTags(long dcId, String[] tags) {
|
||||
List<StoragePoolVO> storagePools = null;
|
||||
if (tags == null || tags.length == 0) {
|
||||
GenericQueryBuilder<StoragePoolVO, StoragePoolVO> sc = GenericQueryBuilder.create(StoragePoolVO.class);
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId);
|
||||
sc.addAnd(sc.getEntity().getStatus(), Op.EQ, Status.Up);
|
||||
sc.addAnd(sc.getEntity().getScope(), Op.EQ, ScopeType.ZONE);
|
||||
QueryBuilder<StoragePoolVO> sc = QueryBuilder.create(StoragePoolVO.class);
|
||||
sc.and(sc.entity().getDataCenterId(), Op.EQ,dcId);
|
||||
sc.and(sc.entity().getStatus(), Op.EQ,Status.Up);
|
||||
sc.and(sc.entity().getScope(), Op.EQ,ScopeType.ZONE);
|
||||
return sc.list();
|
||||
} else {
|
||||
Map<String, String> details = tagsToDetails(tags);
|
||||
@ -421,11 +420,11 @@ public class PrimaryDataStoreDaoImpl extends GenericDaoBase<StoragePoolVO, Long>
|
||||
|
||||
@Override
|
||||
public List<StoragePoolVO> findZoneWideStoragePoolsByHypervisor(long dataCenterId, HypervisorType hypervisorType) {
|
||||
GenericQueryBuilder<StoragePoolVO, StoragePoolVO> sc = GenericQueryBuilder.create(StoragePoolVO.class);
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dataCenterId);
|
||||
sc.addAnd(sc.getEntity().getStatus(), Op.EQ, Status.Up);
|
||||
sc.addAnd(sc.getEntity().getScope(), Op.EQ, ScopeType.ZONE);
|
||||
sc.addAnd(sc.getEntity().getHypervisor(), Op.EQ, hypervisorType);
|
||||
QueryBuilder<StoragePoolVO> sc = QueryBuilder.create(StoragePoolVO.class);
|
||||
sc.and(sc.entity().getDataCenterId(), Op.EQ,dataCenterId);
|
||||
sc.and(sc.entity().getStatus(), Op.EQ,Status.Up);
|
||||
sc.and(sc.entity().getScope(), Op.EQ,ScopeType.ZONE);
|
||||
sc.and(sc.entity().getHypervisor(), Op.EQ,hypervisorType);
|
||||
return sc.list();
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,35 +18,46 @@
|
||||
*/
|
||||
package org.apache.cloudstack.storage.cache.manager;
|
||||
|
||||
import com.cloud.configuration.Config;
|
||||
import com.cloud.storage.DataStoreRole;
|
||||
import com.cloud.utils.NumbersUtil;
|
||||
import com.cloud.utils.component.Manager;
|
||||
import com.cloud.utils.concurrency.NamedThreadFactory;
|
||||
import com.cloud.utils.db.GlobalLock;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Random;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.*;
|
||||
import javax.inject.Inject;
|
||||
import javax.naming.ConfigurationException;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.CopyCommandResult;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataMotionService;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObject;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.Event;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.StorageCacheManager;
|
||||
import org.apache.cloudstack.framework.async.AsyncCallFuture;
|
||||
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
|
||||
import org.apache.cloudstack.storage.cache.allocator.StorageCacheAllocator;
|
||||
import org.apache.cloudstack.storage.datastore.ObjectInDataStoreManager;
|
||||
import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.naming.ConfigurationException;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import com.cloud.configuration.Config;
|
||||
import com.cloud.storage.DataStoreRole;
|
||||
import com.cloud.utils.NumbersUtil;
|
||||
import com.cloud.utils.component.Manager;
|
||||
import com.cloud.utils.concurrency.NamedThreadFactory;
|
||||
import com.cloud.utils.db.GlobalLock;
|
||||
import com.cloud.utils.db.QueryBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
|
||||
public class StorageCacheManagerImpl implements StorageCacheManager, Manager {
|
||||
private static final Logger s_logger = Logger.getLogger(StorageCacheManagerImpl.class);
|
||||
@ -79,8 +90,8 @@ public class StorageCacheManagerImpl implements StorageCacheManager, Manager {
|
||||
}
|
||||
|
||||
protected List<DataStore> getCacheStores() {
|
||||
GenericQueryBuilder<ImageStoreVO, ImageStoreVO> sc = GenericQueryBuilder.create(ImageStoreVO.class);
|
||||
sc.addAnd(sc.getEntity().getRole(), SearchCriteria.Op.EQ, DataStoreRole.ImageCache);
|
||||
QueryBuilder<ImageStoreVO> sc = QueryBuilder.create(ImageStoreVO.class);
|
||||
sc.and(sc.entity().getRole(), SearchCriteria.Op.EQ,DataStoreRole.ImageCache);
|
||||
List<ImageStoreVO> imageStoreVOs = sc.list();
|
||||
List<DataStore> stores = new ArrayList<DataStore>();
|
||||
for (ImageStoreVO vo : imageStoreVOs) {
|
||||
@ -232,7 +243,7 @@ public class StorageCacheManagerImpl implements StorageCacheManager, Manager {
|
||||
|
||||
@Override
|
||||
public DataObject createCacheObject(DataObject data, Scope scope) {
|
||||
DataStore cacheStore = this.getCacheStorage(scope);
|
||||
DataStore cacheStore = getCacheStorage(scope);
|
||||
|
||||
if (cacheStore == null)
|
||||
{
|
||||
@ -244,7 +255,7 @@ public class StorageCacheManagerImpl implements StorageCacheManager, Manager {
|
||||
|
||||
@Override
|
||||
public DataObject getCacheObject(DataObject data, Scope scope) {
|
||||
DataStore cacheStore = this.getCacheStorage(scope);
|
||||
DataStore cacheStore = getCacheStorage(scope);
|
||||
DataObject objOnCacheStore = cacheStore.create(data);
|
||||
objOnCacheStore.incRefCount();
|
||||
return objOnCacheStore;
|
||||
|
||||
@ -17,27 +17,29 @@
|
||||
* under the License.
|
||||
*/
|
||||
package org.apache.cloudstack.storage.cache.manager;
|
||||
import com.cloud.configuration.Config;
|
||||
import com.cloud.utils.DateUtil;
|
||||
import com.cloud.utils.NumbersUtil;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.*;
|
||||
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
|
||||
import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreVO;
|
||||
import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO;
|
||||
import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO;
|
||||
|
||||
import org.apache.commons.lang.math.NumberUtils;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObject;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotDataFactory;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateDataFactory;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory;
|
||||
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
|
||||
import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreVO;
|
||||
import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO;
|
||||
import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO;
|
||||
|
||||
import com.cloud.configuration.Config;
|
||||
import com.cloud.utils.DateUtil;
|
||||
import com.cloud.utils.NumbersUtil;
|
||||
import com.cloud.utils.db.QueryBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
|
||||
|
||||
|
||||
public class StorageCacheReplacementAlgorithmLRU implements StorageCacheReplacementAlgorithm {
|
||||
@ -72,33 +74,33 @@ public class StorageCacheReplacementAlgorithmLRU implements StorageCacheReplacem
|
||||
cal.add(Calendar.DAY_OF_MONTH, -unusedTimeInterval.intValue());
|
||||
Date bef = cal.getTime();
|
||||
|
||||
GenericQueryBuilder<TemplateDataStoreVO, TemplateDataStoreVO> sc = GenericQueryBuilder.create(TemplateDataStoreVO.class);
|
||||
sc.addAnd(sc.getEntity().getLastUpdated(), SearchCriteria.Op.LT, bef);
|
||||
sc.addAnd(sc.getEntity().getState(), SearchCriteria.Op.EQ, ObjectInDataStoreStateMachine.State.Ready);
|
||||
sc.addAnd(sc.getEntity().getDataStoreId(), SearchCriteria.Op.EQ, store.getId());
|
||||
sc.addAnd(sc.getEntity().getDataStoreRole(), SearchCriteria.Op.EQ, store.getRole());
|
||||
sc.addAnd(sc.getEntity().getRefCnt(), SearchCriteria.Op.EQ, 0);
|
||||
QueryBuilder<TemplateDataStoreVO> sc = QueryBuilder.create(TemplateDataStoreVO.class);
|
||||
sc.and(sc.entity().getLastUpdated(), SearchCriteria.Op.LT, bef);
|
||||
sc.and(sc.entity().getState(), SearchCriteria.Op.EQ,ObjectInDataStoreStateMachine.State.Ready);
|
||||
sc.and(sc.entity().getDataStoreId(), SearchCriteria.Op.EQ,store.getId());
|
||||
sc.and(sc.entity().getDataStoreRole(), SearchCriteria.Op.EQ,store.getRole());
|
||||
sc.and(sc.entity().getRefCnt(), SearchCriteria.Op.EQ,0);
|
||||
TemplateDataStoreVO template = sc.find();
|
||||
if (template != null) {
|
||||
return templateFactory.getTemplate(template.getTemplateId(), store);
|
||||
}
|
||||
|
||||
GenericQueryBuilder<VolumeDataStoreVO, VolumeDataStoreVO> volSc = GenericQueryBuilder.create(VolumeDataStoreVO.class);
|
||||
volSc.addAnd(volSc.getEntity().getLastUpdated(), SearchCriteria.Op.LT, bef);
|
||||
volSc.addAnd(volSc.getEntity().getState(), SearchCriteria.Op.EQ, ObjectInDataStoreStateMachine.State.Ready);
|
||||
volSc.addAnd(volSc.getEntity().getDataStoreId(), SearchCriteria.Op.EQ, store.getId());
|
||||
volSc.addAnd(volSc.getEntity().getRefCnt(), SearchCriteria.Op.EQ, 0);
|
||||
QueryBuilder<VolumeDataStoreVO> volSc = QueryBuilder.create(VolumeDataStoreVO.class);
|
||||
volSc.and(volSc.entity().getLastUpdated(), SearchCriteria.Op.LT, bef);
|
||||
volSc.and(volSc.entity().getState(), SearchCriteria.Op.EQ,ObjectInDataStoreStateMachine.State.Ready);
|
||||
volSc.and(volSc.entity().getDataStoreId(), SearchCriteria.Op.EQ,store.getId());
|
||||
volSc.and(volSc.entity().getRefCnt(), SearchCriteria.Op.EQ,0);
|
||||
VolumeDataStoreVO volume = volSc.find();
|
||||
if (volume != null) {
|
||||
return volumeFactory.getVolume(volume.getVolumeId(), store);
|
||||
}
|
||||
|
||||
GenericQueryBuilder<SnapshotDataStoreVO, SnapshotDataStoreVO> snapshotSc = GenericQueryBuilder.create(SnapshotDataStoreVO.class);
|
||||
snapshotSc.addAnd(snapshotSc.getEntity().getLastUpdated(), SearchCriteria.Op.LT, bef);
|
||||
snapshotSc.addAnd(snapshotSc.getEntity().getState(), SearchCriteria.Op.EQ, ObjectInDataStoreStateMachine.State.Ready);
|
||||
snapshotSc.addAnd(snapshotSc.getEntity().getDataStoreId(), SearchCriteria.Op.EQ, store.getId());
|
||||
snapshotSc.addAnd(snapshotSc.getEntity().getRole(), SearchCriteria.Op.EQ, store.getRole());
|
||||
snapshotSc.addAnd(snapshotSc.getEntity().getRefCnt(), SearchCriteria.Op.EQ, 0);
|
||||
QueryBuilder<SnapshotDataStoreVO> snapshotSc = QueryBuilder.create(SnapshotDataStoreVO.class);
|
||||
snapshotSc.and(snapshotSc.entity().getLastUpdated(), SearchCriteria.Op.LT, bef);
|
||||
snapshotSc.and(snapshotSc.entity().getState(), SearchCriteria.Op.EQ,ObjectInDataStoreStateMachine.State.Ready);
|
||||
snapshotSc.and(snapshotSc.entity().getDataStoreId(), SearchCriteria.Op.EQ,store.getId());
|
||||
snapshotSc.and(snapshotSc.entity().getRole(), SearchCriteria.Op.EQ,store.getRole());
|
||||
snapshotSc.and(snapshotSc.entity().getRefCnt(), SearchCriteria.Op.EQ,0);
|
||||
SnapshotDataStoreVO snapshot = snapshotSc.find();
|
||||
if (snapshot != null) {
|
||||
return snapshotFactory.getSnapshot(snapshot.getSnapshotId(), store);
|
||||
|
||||
@ -22,14 +22,21 @@ import java.util.Date;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.*;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotDataFactory;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotInfo;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory;
|
||||
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
|
||||
import org.apache.cloudstack.storage.command.CopyCmdAnswer;
|
||||
import org.apache.cloudstack.storage.command.CreateObjectAnswer;
|
||||
import org.apache.cloudstack.storage.datastore.ObjectInDataStoreManager;
|
||||
import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreDao;
|
||||
import org.apache.cloudstack.storage.datastore.db.SnapshotDataStoreVO;
|
||||
import org.apache.cloudstack.storage.to.SnapshotObjectTO;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.agent.api.Answer;
|
||||
import com.cloud.agent.api.to.DataObjectType;
|
||||
@ -42,9 +49,8 @@ import com.cloud.storage.VolumeVO;
|
||||
import com.cloud.storage.dao.SnapshotDao;
|
||||
import com.cloud.storage.dao.VolumeDao;
|
||||
import com.cloud.utils.component.ComponentContext;
|
||||
import com.cloud.utils.db.QueryBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.utils.fsm.NoTransitionException;
|
||||
|
||||
@ -83,19 +89,19 @@ public class SnapshotObject implements SnapshotInfo {
|
||||
}
|
||||
|
||||
public DataStore getStore() {
|
||||
return this.store;
|
||||
return store;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SnapshotInfo getParent() {
|
||||
|
||||
SnapshotDataStoreVO snapStoreVO = this.snapshotStoreDao.findByStoreSnapshot(this.store.getRole(),
|
||||
this.store.getId(), this.snapshot.getId());
|
||||
SnapshotDataStoreVO snapStoreVO = snapshotStoreDao.findByStoreSnapshot(store.getRole(),
|
||||
store.getId(), snapshot.getId());
|
||||
Long parentId = null;
|
||||
if (snapStoreVO != null) {
|
||||
parentId = snapStoreVO.getParentSnapshotId();
|
||||
if (parentId != null && parentId != 0) {
|
||||
return this.snapshotFactory.getSnapshot(parentId, store);
|
||||
return snapshotFactory.getSnapshot(parentId, store);
|
||||
}
|
||||
}
|
||||
|
||||
@ -104,42 +110,41 @@ public class SnapshotObject implements SnapshotInfo {
|
||||
|
||||
@Override
|
||||
public SnapshotInfo getChild() {
|
||||
GenericQueryBuilder<SnapshotDataStoreVO, SnapshotDataStoreVO> sc = GenericQueryBuilder
|
||||
.create(SnapshotDataStoreVO.class);
|
||||
sc.addAnd(sc.getEntity().getDataStoreId(), Op.EQ, this.store.getId());
|
||||
sc.addAnd(sc.getEntity().getRole(), Op.EQ, this.store.getRole());
|
||||
sc.addAnd(sc.getEntity().getState(), Op.NIN, State.Destroying, State.Destroyed, State.Error);
|
||||
sc.addAnd(sc.getEntity().getParentSnapshotId(), Op.EQ, this.getId());
|
||||
QueryBuilder<SnapshotDataStoreVO> sc = QueryBuilder.create(SnapshotDataStoreVO.class);
|
||||
sc.and(sc.entity().getDataStoreId(), Op.EQ,store.getId());
|
||||
sc.and(sc.entity().getRole(), Op.EQ,store.getRole());
|
||||
sc.and(sc.entity().getState(), Op.NIN, State.Destroying, State.Destroyed, State.Error);
|
||||
sc.and(sc.entity().getParentSnapshotId(), Op.EQ,getId());
|
||||
SnapshotDataStoreVO vo = sc.find();
|
||||
if (vo == null) {
|
||||
return null;
|
||||
}
|
||||
return this.snapshotFactory.getSnapshot(vo.getId(), store);
|
||||
return snapshotFactory.getSnapshot(vo.getId(), store);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VolumeInfo getBaseVolume() {
|
||||
return volFactory.getVolume(this.snapshot.getVolumeId());
|
||||
return volFactory.getVolume(snapshot.getVolumeId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getId() {
|
||||
return this.snapshot.getId();
|
||||
return snapshot.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUri() {
|
||||
return this.snapshot.getUuid();
|
||||
return snapshot.getUuid();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataStore getDataStore() {
|
||||
return this.store;
|
||||
return store;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getSize() {
|
||||
return this.snapshot.getSize();
|
||||
return snapshot.getSize();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -149,7 +154,7 @@ public class SnapshotObject implements SnapshotInfo {
|
||||
|
||||
@Override
|
||||
public String getUuid() {
|
||||
return this.snapshot.getUuid();
|
||||
return snapshot.getUuid();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -168,17 +173,17 @@ public class SnapshotObject implements SnapshotInfo {
|
||||
|
||||
@Override
|
||||
public long getAccountId() {
|
||||
return this.snapshot.getAccountId();
|
||||
return snapshot.getAccountId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getVolumeId() {
|
||||
return this.snapshot.getVolumeId();
|
||||
return snapshot.getVolumeId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPath() {
|
||||
DataObjectInStore objectInStore = this.objectInStoreMgr.findObject(this, getDataStore());
|
||||
DataObjectInStore objectInStore = objectInStoreMgr.findObject(this, getDataStore());
|
||||
if (objectInStore != null) {
|
||||
return objectInStore.getInstallPath();
|
||||
}
|
||||
@ -187,60 +192,60 @@ public class SnapshotObject implements SnapshotInfo {
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return this.snapshot.getName();
|
||||
return snapshot.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Date getCreated() {
|
||||
return this.snapshot.getCreated();
|
||||
return snapshot.getCreated();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type getRecurringType() {
|
||||
return this.snapshot.getRecurringType();
|
||||
return snapshot.getRecurringType();
|
||||
}
|
||||
|
||||
@Override
|
||||
public State getState() {
|
||||
return this.snapshot.getState();
|
||||
return snapshot.getState();
|
||||
}
|
||||
|
||||
@Override
|
||||
public HypervisorType getHypervisorType() {
|
||||
return this.snapshot.getHypervisorType();
|
||||
return snapshot.getHypervisorType();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isRecursive() {
|
||||
return this.snapshot.isRecursive();
|
||||
return snapshot.isRecursive();
|
||||
}
|
||||
|
||||
@Override
|
||||
public short getsnapshotType() {
|
||||
return this.snapshot.getsnapshotType();
|
||||
return snapshot.getsnapshotType();
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getDomainId() {
|
||||
return this.snapshot.getDomainId();
|
||||
return snapshot.getDomainId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getDataCenterId() {
|
||||
return this.snapshot.getDataCenterId();
|
||||
return snapshot.getDataCenterId();
|
||||
}
|
||||
|
||||
public void processEvent(Snapshot.Event event) throws NoTransitionException {
|
||||
stateMachineMgr.processEvent(this.snapshot, event);
|
||||
stateMachineMgr.processEvent(snapshot, event);
|
||||
}
|
||||
|
||||
public SnapshotVO getSnapshotVO() {
|
||||
return this.snapshot;
|
||||
return snapshot;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataTO getTO() {
|
||||
DataTO to = this.store.getDriver().getTO(this);
|
||||
DataTO to = store.getDriver().getTO(this);
|
||||
if (to == null) {
|
||||
return new SnapshotObjectTO(this);
|
||||
}
|
||||
@ -250,28 +255,28 @@ public class SnapshotObject implements SnapshotInfo {
|
||||
@Override
|
||||
public void processEvent(ObjectInDataStoreStateMachine.Event event, Answer answer) {
|
||||
try {
|
||||
SnapshotDataStoreVO snapshotStore = this.snapshotStoreDao.findByStoreSnapshot(
|
||||
this.getDataStore().getRole(), this.getDataStore().getId(), this.getId());
|
||||
SnapshotDataStoreVO snapshotStore = snapshotStoreDao.findByStoreSnapshot(
|
||||
getDataStore().getRole(), getDataStore().getId(), getId());
|
||||
if (answer instanceof CreateObjectAnswer) {
|
||||
SnapshotObjectTO snapshotTO = (SnapshotObjectTO) ((CreateObjectAnswer) answer).getData();
|
||||
snapshotStore.setInstallPath(snapshotTO.getPath());
|
||||
this.snapshotStoreDao.update(snapshotStore.getId(), snapshotStore);
|
||||
snapshotStoreDao.update(snapshotStore.getId(), snapshotStore);
|
||||
} else if (answer instanceof CopyCmdAnswer) {
|
||||
SnapshotObjectTO snapshotTO = (SnapshotObjectTO) ((CopyCmdAnswer) answer).getNewData();
|
||||
snapshotStore.setInstallPath(snapshotTO.getPath());
|
||||
if (snapshotTO.getParentSnapshotPath() == null) {
|
||||
snapshotStore.setParentSnapshotId(0L);
|
||||
}
|
||||
this.snapshotStoreDao.update(snapshotStore.getId(), snapshotStore);
|
||||
snapshotStoreDao.update(snapshotStore.getId(), snapshotStore);
|
||||
|
||||
// update side-effect of snapshot operation
|
||||
if(snapshotTO.getVolume() != null && snapshotTO.getVolume().getPath() != null) {
|
||||
VolumeVO vol = this.volumeDao.findByUuid(snapshotTO.getVolume().getUuid());
|
||||
VolumeVO vol = volumeDao.findByUuid(snapshotTO.getVolume().getUuid());
|
||||
if(vol != null) {
|
||||
s_logger.info("Update volume path change due to snapshot operation, volume " + vol.getId() + " path: "
|
||||
+ vol.getPath() + "->" + snapshotTO.getVolume().getPath());
|
||||
vol.setPath(snapshotTO.getVolume().getPath());
|
||||
this.volumeDao.update(vol.getId(), vol);
|
||||
volumeDao.update(vol.getId(), vol);
|
||||
} else {
|
||||
s_logger.error("Cound't find the original volume with uuid: " + snapshotTO.getVolume().getUuid());
|
||||
}
|
||||
@ -290,13 +295,13 @@ public class SnapshotObject implements SnapshotInfo {
|
||||
|
||||
@Override
|
||||
public void incRefCount() {
|
||||
if (this.store == null) {
|
||||
if (store == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.store.getRole() == DataStoreRole.Image || this.store.getRole() == DataStoreRole.ImageCache) {
|
||||
if (store.getRole() == DataStoreRole.Image || store.getRole() == DataStoreRole.ImageCache) {
|
||||
SnapshotDataStoreVO store = snapshotStoreDao.findByStoreSnapshot(this.store.getRole(), this.store.getId(),
|
||||
this.getId());
|
||||
getId());
|
||||
store.incrRefCnt();
|
||||
store.setLastUpdated(new Date());
|
||||
snapshotStoreDao.update(store.getId(), store);
|
||||
@ -305,12 +310,12 @@ public class SnapshotObject implements SnapshotInfo {
|
||||
|
||||
@Override
|
||||
public void decRefCount() {
|
||||
if (this.store == null) {
|
||||
if (store == null) {
|
||||
return;
|
||||
}
|
||||
if (this.store.getRole() == DataStoreRole.Image || this.store.getRole() == DataStoreRole.ImageCache) {
|
||||
if (store.getRole() == DataStoreRole.Image || store.getRole() == DataStoreRole.ImageCache) {
|
||||
SnapshotDataStoreVO store = snapshotStoreDao.findByStoreSnapshot(this.store.getRole(), this.store.getId(),
|
||||
this.getId());
|
||||
getId());
|
||||
store.decrRefCnt();
|
||||
store.setLastUpdated(new Date());
|
||||
snapshotStoreDao.update(store.getId(), store);
|
||||
@ -319,12 +324,12 @@ public class SnapshotObject implements SnapshotInfo {
|
||||
|
||||
@Override
|
||||
public Long getRefCount() {
|
||||
if (this.store == null) {
|
||||
if (store == null) {
|
||||
return null;
|
||||
}
|
||||
if (this.store.getRole() == DataStoreRole.Image || this.store.getRole() == DataStoreRole.ImageCache) {
|
||||
if (store.getRole() == DataStoreRole.Image || store.getRole() == DataStoreRole.ImageCache) {
|
||||
SnapshotDataStoreVO store = snapshotStoreDao.findByStoreSnapshot(this.store.getRole(), this.store.getId(),
|
||||
this.getId());
|
||||
getId());
|
||||
return store.getRefCnt();
|
||||
}
|
||||
return null;
|
||||
@ -332,7 +337,7 @@ public class SnapshotObject implements SnapshotInfo {
|
||||
|
||||
@Override
|
||||
public ObjectInDataStoreStateMachine.State getStatus() {
|
||||
return this.objectInStoreMgr.findObject(this, store).getObjectInStoreState();
|
||||
return objectInStoreMgr.findObject(this, store).getObjectInStoreState();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -45,8 +45,8 @@ import com.cloud.host.dao.HostDao;
|
||||
import com.cloud.storage.DataStoreRole;
|
||||
import com.cloud.storage.ScopeType;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.QueryBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
|
||||
@ -220,12 +220,12 @@ public class DefaultEndPointSelector implements EndPointSelector {
|
||||
}
|
||||
|
||||
private List<HostVO> listUpAndConnectingSecondaryStorageVmHost(Long dcId) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
if (dcId != null) {
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId);
|
||||
sc.and(sc.entity().getDataCenterId(), Op.EQ,dcId);
|
||||
}
|
||||
sc.addAnd(sc.getEntity().getStatus(), Op.IN, com.cloud.host.Status.Up, com.cloud.host.Status.Connecting);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.SecondaryStorageVM);
|
||||
sc.and(sc.entity().getStatus(), Op.IN, Status.Up, Status.Connecting);
|
||||
sc.and(sc.entity().getType(), Op.EQ, Host.Type.SecondaryStorageVM);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@ -258,9 +258,9 @@ public class DefaultEndPointSelector implements EndPointSelector {
|
||||
endPoints.add(RemoteHostEndPoint.getHypervisorHostEndPoint(host.getId(), host.getPrivateIpAddress(),
|
||||
host.getPublicIpAddress()));
|
||||
} else if (store.getScope().getScopeType() == ScopeType.CLUSTER) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getClusterId(), Op.EQ, store.getScope().getScopeId());
|
||||
sc.addAnd(sc.getEntity().getStatus(), Op.EQ, Status.Up);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getClusterId(), Op.EQ, store.getScope().getScopeId());
|
||||
sc.and(sc.entity().getStatus(), Op.EQ, Status.Up);
|
||||
List<HostVO> hosts = sc.list();
|
||||
for (HostVO host : hosts) {
|
||||
endPoints.add(RemoteHostEndPoint.getHypervisorHostEndPoint(host.getId(), host.getPrivateIpAddress(),
|
||||
|
||||
@ -52,8 +52,8 @@ public class TemplatePrimaryDataStoreDaoImpl extends GenericDaoBase<TemplatePrim
|
||||
public TemplatePrimaryDataStoreVO findByTemplateIdAndPoolId(long templateId, long poolId) {
|
||||
GenericQueryBuilder<TemplatePrimaryDataStoreVO, TemplatePrimaryDataStoreVO> sc = GenericQueryBuilder
|
||||
.create(TemplatePrimaryDataStoreVO.class);
|
||||
sc.addAnd(sc.getEntity().getTemplateId(), Op.EQ, templateId);
|
||||
sc.addAnd(sc.getEntity().getPoolId(), Op.EQ, poolId);
|
||||
sc.and(sc.entity().getTemplateId(), Op.EQ, templateId);
|
||||
sc.and(sc.entity().getPoolId(), Op.EQ, poolId);
|
||||
return sc.find();
|
||||
}
|
||||
|
||||
@ -61,9 +61,9 @@ public class TemplatePrimaryDataStoreDaoImpl extends GenericDaoBase<TemplatePrim
|
||||
public TemplatePrimaryDataStoreVO findByTemplateIdAndPoolIdAndReady(long templateId, long poolId) {
|
||||
GenericQueryBuilder<TemplatePrimaryDataStoreVO, TemplatePrimaryDataStoreVO> sc = GenericQueryBuilder
|
||||
.create(TemplatePrimaryDataStoreVO.class);
|
||||
sc.addAnd(sc.getEntity().getTemplateId(), Op.EQ, templateId);
|
||||
sc.addAnd(sc.getEntity().getPoolId(), Op.EQ, poolId);
|
||||
sc.addAnd(sc.getEntity().getState(), Op.EQ, ObjectInDataStoreStateMachine.State.Ready);
|
||||
sc.and(sc.entity().getTemplateId(), Op.EQ, templateId);
|
||||
sc.and(sc.entity().getPoolId(), Op.EQ, poolId);
|
||||
sc.and(sc.entity().getState(), Op.EQ, ObjectInDataStoreStateMachine.State.Ready);
|
||||
return sc.find();
|
||||
}
|
||||
|
||||
|
||||
@ -66,23 +66,21 @@ public class GenericQueryBuilder<T, K> extends SearchBase<T, K> {
|
||||
_specifiedAttrs.clear();
|
||||
}
|
||||
|
||||
private void setParameters(String conditionName, Object... params) {
|
||||
assert _conditions.contains(new Condition(conditionName)) : "Couldn't find " + conditionName;
|
||||
_params.put(conditionName, params);
|
||||
}
|
||||
|
||||
public void addAnd(Object useless, Op op, Object... values) {
|
||||
public void and(Object useless, Op op, Object... values) {
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
constructCondition(uuid, " AND ", _specifiedAttrs.get(0), op);
|
||||
setParameters(uuid, values);
|
||||
Condition condition = constructCondition(uuid, " AND ", _specifiedAttrs.get(0), op);
|
||||
condition.setPresets(values);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<K> list() {
|
||||
finalize();
|
||||
SearchCriteria sc1 = create();
|
||||
if (isSelectAll()) {
|
||||
@SuppressWarnings("rawtypes")
|
||||
SearchCriteria sc1 = create();
|
||||
return (List<K>)_dao.search(sc1, null);
|
||||
} else {
|
||||
SearchCriteria<K> sc1 = create();
|
||||
return _dao.customSearch(sc1, null);
|
||||
}
|
||||
}
|
||||
@ -91,60 +89,13 @@ public class GenericQueryBuilder<T, K> extends SearchBase<T, K> {
|
||||
return _selects == null || _selects.size() == 0;
|
||||
}
|
||||
|
||||
public T getEntity() {
|
||||
return _entity;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public K find() {
|
||||
assert isSelectAll() : "find doesn't support select search";
|
||||
finalize();
|
||||
@SuppressWarnings("rawtypes")
|
||||
SearchCriteria sc1 = create();
|
||||
return (K)_dao.findOneBy(sc1);
|
||||
}
|
||||
|
||||
public Preset and(Object useless, Op op) {
|
||||
Condition condition = constructCondition(UUID.randomUUID().toString(), " AND ", _specifiedAttrs.get(0), op);
|
||||
return new Preset(this, condition);
|
||||
}
|
||||
|
||||
public Preset where(Object useless, Op op) {
|
||||
return and(useless, op);
|
||||
}
|
||||
|
||||
public Preset left(Object useless, Op op) {
|
||||
Condition condition = constructCondition(UUID.randomUUID().toString(), " ( ", _specifiedAttrs.get(0), op);
|
||||
return new Preset(this, condition);
|
||||
}
|
||||
|
||||
public Preset op(Object useless, Op op) {
|
||||
return left(useless, op);
|
||||
}
|
||||
|
||||
public Preset openParen(Object useless, Op op) {
|
||||
return left(useless, op);
|
||||
}
|
||||
|
||||
public Preset or(Object useless, Op op) {
|
||||
Condition condition = constructCondition(UUID.randomUUID().toString(), " OR ", _specifiedAttrs.get(0), op);
|
||||
return new Preset(this, condition);
|
||||
}
|
||||
|
||||
public class Preset {
|
||||
GenericQueryBuilder<T, K> builder;
|
||||
Condition condition;
|
||||
|
||||
protected Preset(GenericQueryBuilder<T, K> builder, Condition condition) {
|
||||
this.builder = builder;
|
||||
this.condition = condition;
|
||||
}
|
||||
|
||||
public GenericQueryBuilder<T, K> values(Object... params) {
|
||||
if (condition.op.getParams() > 0 && condition.op.params != params.length) {
|
||||
throw new RuntimeException("The # of parameters set " + params.length + " does not match # of parameters required by " + condition.op);
|
||||
}
|
||||
condition.setPresets(params);
|
||||
return builder;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -19,6 +19,7 @@ package com.cloud.utils.db;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.cloud.utils.db.SearchCriteria.Func;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
@ -131,6 +132,11 @@ public class GenericSearchBuilder<T, K> extends SearchBase<T, K> {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Preset and(Object useless, Op op) {
|
||||
Condition condition = constructCondition(UUID.randomUUID().toString(), " AND ", _specifiedAttrs.get(0), op);
|
||||
return new Preset(this, condition);
|
||||
}
|
||||
|
||||
public GenericSearchBuilder<T, K> and() {
|
||||
constructCondition(null, " AND ", null, null);
|
||||
return this;
|
||||
@ -153,6 +159,10 @@ public class GenericSearchBuilder<T, K> extends SearchBase<T, K> {
|
||||
return and(name, useless, op);
|
||||
}
|
||||
|
||||
public Preset where(Object useless, Op op) {
|
||||
return and(useless, op);
|
||||
}
|
||||
|
||||
public GenericSearchBuilder<T, K> left(String name, Object useless, Op op) {
|
||||
constructCondition(name, " ( ", _specifiedAttrs.get(0), op);
|
||||
return this;
|
||||
@ -163,10 +173,19 @@ public class GenericSearchBuilder<T, K> extends SearchBase<T, K> {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Preset left(Object useless, Op op) {
|
||||
Condition condition = constructCondition(UUID.randomUUID().toString(), " ( ", _specifiedAttrs.get(0), op);
|
||||
return new Preset(this, condition);
|
||||
}
|
||||
|
||||
public GenericSearchBuilder<T, K> op(Object useless, Op op, String name) {
|
||||
return left(useless, op, name);
|
||||
}
|
||||
|
||||
public Preset op(Object useless, Op op) {
|
||||
return left(useless, op);
|
||||
}
|
||||
|
||||
public GenericSearchBuilder<T, K> op(String name, Object useless, Op op) {
|
||||
return left(name, useless, op);
|
||||
}
|
||||
@ -179,6 +198,10 @@ public class GenericSearchBuilder<T, K> extends SearchBase<T, K> {
|
||||
return left(name, useless, op);
|
||||
}
|
||||
|
||||
public Preset openParen(Object useless, Op op) {
|
||||
return left(useless, op);
|
||||
}
|
||||
|
||||
public GroupBy<GenericSearchBuilder<T, K>, T, K> groupBy(Object... useless) {
|
||||
assert _groupBy == null : "Can't do more than one group bys";
|
||||
GroupBy<GenericSearchBuilder<T, K>, T, K> groupBy = new GroupBy<GenericSearchBuilder<T, K>, T, K>(this);
|
||||
@ -205,6 +228,11 @@ public class GenericSearchBuilder<T, K> extends SearchBase<T, K> {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Preset or(Object useless, Op op) {
|
||||
Condition condition = constructCondition(UUID.randomUUID().toString(), " OR ", _specifiedAttrs.get(0), op);
|
||||
return new Preset(this, condition);
|
||||
}
|
||||
|
||||
public GenericSearchBuilder<T, K> join(String name, GenericSearchBuilder<?, ?> builder, Object useless, Object useless2, JoinBuilder.JoinType joinType) {
|
||||
assert _entity != null : "SearchBuilder cannot be modified once it has been setup";
|
||||
assert _specifiedAttrs.size() == 1 : "You didn't select the attribute.";
|
||||
@ -251,4 +279,21 @@ public class GenericSearchBuilder<T, K> extends SearchBase<T, K> {
|
||||
super.finalize();
|
||||
}
|
||||
|
||||
public class Preset {
|
||||
GenericSearchBuilder<T, K> builder;
|
||||
Condition condition;
|
||||
|
||||
protected Preset(GenericSearchBuilder<T, K> builder, Condition condition) {
|
||||
this.builder = builder;
|
||||
this.condition = condition;
|
||||
}
|
||||
|
||||
public GenericSearchBuilder<T, K> values(Object... params) {
|
||||
if (condition.op.getParams() > 0 && condition.op.params != params.length) {
|
||||
throw new RuntimeException("The # of parameters set " + params.length + " does not match # of parameters required by " + condition.op);
|
||||
}
|
||||
condition.setPresets(params);
|
||||
return builder;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -85,8 +85,8 @@ public class BareMetalPingServiceImpl extends BareMetalPxeServiceBase implements
|
||||
@Override
|
||||
public boolean prepare(VirtualMachineProfile profile, NicProfile pxeNic, DeployDestination dest, ReservationContext context) {
|
||||
GenericQueryBuilder<BaremetalPxeVO, BaremetalPxeVO> sc = GenericQueryBuilder.create(BaremetalPxeVO.class);
|
||||
sc.addAnd(sc.getEntity().getDeviceType(), Op.EQ, BaremetalPxeType.PING.toString());
|
||||
sc.addAnd(sc.getEntity().getPodId(), Op.EQ, dest.getPod().getId());
|
||||
sc.and(sc.entity().getDeviceType(), Op.EQ, BaremetalPxeType.PING.toString());
|
||||
sc.and(sc.entity().getPodId(), Op.EQ, dest.getPod().getId());
|
||||
BaremetalPxeVO pxeVo = sc.find();
|
||||
if (pxeVo == null) {
|
||||
throw new CloudRuntimeException("No PING PXE server found in pod: " + dest.getPod().getId() + ", you need to add it before starting VM");
|
||||
|
||||
@ -18,6 +18,15 @@
|
||||
// Automatically generated by addcopyright.py at 01/29/2013
|
||||
package com.cloud.baremetal.networkservice;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.ejb.Local;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.baremetal.database.BaremetalDhcpVO;
|
||||
import com.cloud.dc.DataCenter.NetworkType;
|
||||
import com.cloud.dc.Pod;
|
||||
@ -39,20 +48,15 @@ import com.cloud.network.element.NetworkElement;
|
||||
import com.cloud.offering.NetworkOffering;
|
||||
import com.cloud.utils.component.AdapterBase;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.QueryBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.vm.*;
|
||||
import com.cloud.vm.NicProfile;
|
||||
import com.cloud.vm.NicVO;
|
||||
import com.cloud.vm.ReservationContext;
|
||||
import com.cloud.vm.VirtualMachine.Type;
|
||||
import com.cloud.vm.VirtualMachineProfile;
|
||||
import com.cloud.vm.dao.NicDao;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import javax.ejb.Local;
|
||||
import javax.inject.Inject;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@Local(value = NetworkElement.class)
|
||||
public class BaremetalDhcpElement extends AdapterBase implements DhcpServiceProvider {
|
||||
@ -84,8 +88,8 @@ public class BaremetalDhcpElement extends AdapterBase implements DhcpServiceProv
|
||||
private boolean canHandle(DeployDestination dest, TrafficType trafficType, GuestType networkType) {
|
||||
Pod pod = dest.getPod();
|
||||
if (pod != null && dest.getDataCenter().getNetworkType() == NetworkType.Basic && trafficType == TrafficType.Guest) {
|
||||
GenericQueryBuilder<BaremetalDhcpVO, BaremetalDhcpVO> sc = GenericQueryBuilder.create(BaremetalDhcpVO.class);
|
||||
sc.addAnd(sc.getEntity().getPodId(), Op.EQ, pod.getId());
|
||||
QueryBuilder<BaremetalDhcpVO> sc = QueryBuilder.create(BaremetalDhcpVO.class);
|
||||
sc.and(sc.entity().getPodId(), Op.EQ,pod.getId());
|
||||
return sc.find() != null;
|
||||
}
|
||||
|
||||
@ -159,6 +163,7 @@ public class BaremetalDhcpElement extends AdapterBase implements DhcpServiceProv
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addDhcpEntry(Network network, NicProfile nic, VirtualMachineProfile vm, DeployDestination dest,
|
||||
ReservationContext context) throws ConcurrentOperationException, InsufficientCapacityException, ResourceUnavailableException {
|
||||
if (vm.getHypervisorType() != HypervisorType.BareMetal || !canHandle(dest, network.getTrafficType(), network.getGuestType())) {
|
||||
|
||||
@ -313,7 +313,7 @@ public class BaremetalDhcpManagerImpl extends ManagerBase implements BaremetalDh
|
||||
|
||||
GenericQueryBuilder<BaremetalDhcpVO, BaremetalDhcpVO> sc = GenericQueryBuilder.create(BaremetalDhcpVO.class);
|
||||
if (cmd.getDeviceType() != null) {
|
||||
sc.addAnd(sc.getEntity().getDeviceType(), Op.EQ, cmd.getDeviceType());
|
||||
sc.and(sc.entity().getDeviceType(), Op.EQ, cmd.getDeviceType());
|
||||
}
|
||||
|
||||
List<BaremetalDhcpVO> vos = sc.list();
|
||||
|
||||
@ -88,8 +88,8 @@ public class BaremetalKickStartServiceImpl extends BareMetalPxeServiceBase imple
|
||||
public boolean prepare(VirtualMachineProfile profile, NicProfile nic, DeployDestination dest, ReservationContext context) {
|
||||
NetworkVO nwVO = _nwDao.findById(nic.getNetworkId());
|
||||
GenericQueryBuilder<BaremetalPxeVO, BaremetalPxeVO> sc = GenericQueryBuilder.create(BaremetalPxeVO.class);
|
||||
sc.addAnd(sc.getEntity().getDeviceType(), Op.EQ, BaremetalPxeType.KICK_START.toString());
|
||||
sc.addAnd(sc.getEntity().getPhysicalNetworkId(), Op.EQ, nwVO.getPhysicalNetworkId());
|
||||
sc.and(sc.entity().getDeviceType(), Op.EQ, BaremetalPxeType.KICK_START.toString());
|
||||
sc.and(sc.entity().getPhysicalNetworkId(), Op.EQ, nwVO.getPhysicalNetworkId());
|
||||
BaremetalPxeVO pxeVo = sc.find();
|
||||
if (pxeVo == null) {
|
||||
throw new CloudRuntimeException("No kickstart PXE server found in pod: " + dest.getPod().getId() + ", you need to add it before starting VM");
|
||||
|
||||
@ -92,7 +92,7 @@ public class BaremetalPxeElement extends AdapterBase implements NetworkElement {
|
||||
Pod pod = dest.getPod();
|
||||
if (pod != null && dest.getDataCenter().getNetworkType() == NetworkType.Basic && trafficType == TrafficType.Guest) {
|
||||
GenericQueryBuilder<BaremetalPxeVO, BaremetalPxeVO> sc = GenericQueryBuilder.create(BaremetalPxeVO.class);
|
||||
sc.addAnd(sc.getEntity().getPodId(), Op.EQ, pod.getId());
|
||||
sc.and(sc.entity().getPodId(), Op.EQ, pod.getId());
|
||||
return sc.find() != null;
|
||||
}
|
||||
|
||||
|
||||
@ -223,7 +223,7 @@ public class BaremetalPxeManagerImpl extends ManagerBase implements BaremetalPxe
|
||||
GenericQueryBuilder<BaremetalPxeVO, BaremetalPxeVO> sc = GenericQueryBuilder.create(BaremetalPxeVO.class);
|
||||
//TODO: handle both kickstart and PING
|
||||
//sc.addAnd(sc.getEntity().getPodId(), Op.EQ, vm.getPodIdToDeployIn());
|
||||
sc.addAnd(sc.getEntity().getPhysicalNetworkId(), Op.EQ, phy.getId());
|
||||
sc.and(sc.entity().getPhysicalNetworkId(), Op.EQ, phy.getId());
|
||||
BaremetalPxeVO pxeVo = sc.find();
|
||||
if (pxeVo == null) {
|
||||
throw new CloudRuntimeException("No PXE server found in pod: " + vm.getPodIdToDeployIn() + ", you need to add it before starting VM");
|
||||
|
||||
@ -31,9 +31,9 @@ import javax.naming.ConfigurationException;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.xmlrpc.XmlRpcException;
|
||||
|
||||
import com.cloud.configuration.Config;
|
||||
import com.cloud.agent.api.StartupCommand;
|
||||
import com.cloud.agent.api.StartupRoutingCommand;
|
||||
import com.cloud.configuration.Config;
|
||||
import com.cloud.dc.ClusterVO;
|
||||
import com.cloud.dc.dao.ClusterDao;
|
||||
import com.cloud.exception.DiscoveryException;
|
||||
@ -48,16 +48,14 @@ import com.cloud.resource.ResourceManager;
|
||||
import com.cloud.resource.ResourceStateAdapter;
|
||||
import com.cloud.resource.ServerResource;
|
||||
import com.cloud.resource.UnableDeleteHostException;
|
||||
import com.cloud.utils.db.QueryBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.utils.ssh.SSHCmdHelper;
|
||||
|
||||
@Local(value = Discoverer.class)
|
||||
public class OvmDiscoverer extends DiscovererBase implements Discoverer,
|
||||
ResourceStateAdapter {
|
||||
private static final Logger s_logger = Logger
|
||||
.getLogger(OvmDiscoverer.class);
|
||||
public class OvmDiscoverer extends DiscovererBase implements Discoverer, ResourceStateAdapter {
|
||||
private static final Logger s_logger = Logger.getLogger(OvmDiscoverer.class);
|
||||
protected String _publicNetworkDevice;
|
||||
protected String _privateNetworkDevice;
|
||||
protected String _guestNetworkDevice;
|
||||
@ -68,14 +66,12 @@ public class OvmDiscoverer extends DiscovererBase implements Discoverer,
|
||||
ResourceManager _resourceMgr;
|
||||
|
||||
@Override
|
||||
public boolean configure(String name, Map<String, Object> params)
|
||||
throws ConfigurationException {
|
||||
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
|
||||
super.configure(name, params);
|
||||
_publicNetworkDevice = _params.get(Config.OvmPublicNetwork.key());
|
||||
_privateNetworkDevice = _params.get(Config.OvmPrivateNetwork.key());
|
||||
_guestNetworkDevice = _params.get(Config.OvmGuestNetwork.key());
|
||||
_resourceMgr.registerResourceStateAdapter(this.getClass()
|
||||
.getSimpleName(), this);
|
||||
_resourceMgr.registerResourceStateAdapter(this.getClass().getSimpleName(), this);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -84,29 +80,25 @@ public class OvmDiscoverer extends DiscovererBase implements Discoverer,
|
||||
|
||||
@Override
|
||||
public boolean stop() {
|
||||
_resourceMgr.unregisterResourceStateAdapter(this.getClass()
|
||||
.getSimpleName());
|
||||
_resourceMgr.unregisterResourceStateAdapter(this.getClass().getSimpleName());
|
||||
return super.stop();
|
||||
}
|
||||
|
||||
private boolean checkIfExisted(String guid) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getGuid(), SearchCriteria.Op.EQ, guid);
|
||||
sc.addAnd(sc.getEntity().getHypervisorType(), SearchCriteria.Op.EQ,
|
||||
HypervisorType.Ovm);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getGuid(), SearchCriteria.Op.EQ, guid);
|
||||
sc.and(sc.entity().getHypervisorType(), SearchCriteria.Op.EQ, HypervisorType.Ovm);
|
||||
List<HostVO> hosts = sc.list();
|
||||
return !hosts.isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<? extends ServerResource, Map<String, String>> find(long dcId,
|
||||
Long podId, Long clusterId, URI url, String username,
|
||||
String password, List<String> hostTags) throws DiscoveryException {
|
||||
public Map<? extends ServerResource, Map<String, String>> find(long dcId, Long podId, Long clusterId, URI url, String username, String password, List<String> hostTags)
|
||||
throws DiscoveryException {
|
||||
Connection conn = null;
|
||||
|
||||
if (!url.getScheme().equals("http")) {
|
||||
String msg = "urlString is not http so we're not taking care of the discovery for this: "
|
||||
+ url;
|
||||
String msg = "urlString is not http so we're not taking care of the discovery for this: " + url;
|
||||
s_logger.debug(msg);
|
||||
return null;
|
||||
}
|
||||
@ -123,8 +115,7 @@ public class OvmDiscoverer extends DiscovererBase implements Discoverer,
|
||||
}
|
||||
|
||||
ClusterVO cluster = _clusterDao.findById(clusterId);
|
||||
if (cluster == null
|
||||
|| (cluster.getHypervisorType() != HypervisorType.Ovm)) {
|
||||
if (cluster == null || (cluster.getHypervisorType() != HypervisorType.Ovm)) {
|
||||
if (s_logger.isInfoEnabled())
|
||||
s_logger.info("invalid cluster id or cluster is not for Ovm hypervisors");
|
||||
return null;
|
||||
@ -147,12 +138,10 @@ public class OvmDiscoverer extends DiscovererBase implements Discoverer,
|
||||
String guid = UUID.nameUUIDFromBytes(hostIp.getBytes()).toString();
|
||||
|
||||
if (checkIfExisted(guid)) {
|
||||
throw new CloudRuntimeException("The host " + hostIp
|
||||
+ " has been added before");
|
||||
throw new CloudRuntimeException("The host " + hostIp + " has been added before");
|
||||
}
|
||||
|
||||
s_logger.debug("Ovm discover is going to disover host having guid "
|
||||
+ guid);
|
||||
s_logger.debug("Ovm discover is going to disover host having guid " + guid);
|
||||
|
||||
ClusterVO clu = _clusterDao.findById(clusterId);
|
||||
if (clu.getGuid() == null) {
|
||||
@ -160,22 +149,15 @@ public class OvmDiscoverer extends DiscovererBase implements Discoverer,
|
||||
_clusterDao.update(clusterId, clu);
|
||||
}
|
||||
|
||||
com.trilead.ssh2.Connection sshConnection = new com.trilead.ssh2.Connection(
|
||||
hostIp, 22);
|
||||
com.trilead.ssh2.Connection sshConnection = new com.trilead.ssh2.Connection(hostIp, 22);
|
||||
sshConnection.connect(null, 60000, 60000);
|
||||
sshConnection = SSHCmdHelper.acquireAuthorizedConnection(hostIp,
|
||||
username, password);
|
||||
sshConnection = SSHCmdHelper.acquireAuthorizedConnection(hostIp, username, password);
|
||||
if (sshConnection == null) {
|
||||
throw new DiscoveryException(
|
||||
String.format(
|
||||
"Cannot connect to ovm host(IP=%1$s, username=%2$s, password=%3$s, discover failed",
|
||||
hostIp, username, password));
|
||||
throw new DiscoveryException(String.format("Cannot connect to ovm host(IP=%1$s, username=%2$s, password=%3$s, discover failed", hostIp, username, password));
|
||||
}
|
||||
|
||||
if (!SSHCmdHelper.sshExecuteCmd(sshConnection,
|
||||
"[ -f '/etc/ovs-agent/agent.ini' ]")) {
|
||||
throw new DiscoveryException(
|
||||
"Can not find /etc/ovs-agent/agent.ini " + hostIp);
|
||||
if (!SSHCmdHelper.sshExecuteCmd(sshConnection, "[ -f '/etc/ovs-agent/agent.ini' ]")) {
|
||||
throw new DiscoveryException("Can not find /etc/ovs-agent/agent.ini " + hostIp);
|
||||
}
|
||||
|
||||
Map<String, String> details = new HashMap<String, String>();
|
||||
@ -215,18 +197,13 @@ public class OvmDiscoverer extends DiscovererBase implements Discoverer,
|
||||
resources.put(ovmResource, details);
|
||||
return resources;
|
||||
} catch (XmlRpcException e) {
|
||||
s_logger.debug("XmlRpc exception, Unable to discover OVM: " + url,
|
||||
e);
|
||||
s_logger.debug("XmlRpc exception, Unable to discover OVM: " + url, e);
|
||||
return null;
|
||||
} catch (UnknownHostException e) {
|
||||
s_logger.debug(
|
||||
"Host name resolve failed exception, Unable to discover OVM: "
|
||||
+ url, e);
|
||||
s_logger.debug("Host name resolve failed exception, Unable to discover OVM: " + url, e);
|
||||
return null;
|
||||
} catch (ConfigurationException e) {
|
||||
s_logger.debug(
|
||||
"Configure resource failed, Unable to discover OVM: " + url,
|
||||
e);
|
||||
s_logger.debug("Configure resource failed, Unable to discover OVM: " + url, e);
|
||||
return null;
|
||||
} catch (Exception e) {
|
||||
s_logger.debug("Unable to discover OVM: " + url, e);
|
||||
@ -235,8 +212,7 @@ public class OvmDiscoverer extends DiscovererBase implements Discoverer,
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postDiscovery(List<HostVO> hosts, long msId)
|
||||
throws DiscoveryException {
|
||||
public void postDiscovery(List<HostVO> hosts, long msId) throws DiscoveryException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
@ -252,35 +228,29 @@ public class OvmDiscoverer extends DiscovererBase implements Discoverer,
|
||||
}
|
||||
|
||||
@Override
|
||||
public HostVO createHostVOForConnectedAgent(HostVO host,
|
||||
StartupCommand[] cmd) {
|
||||
public HostVO createHostVOForConnectedAgent(HostVO host, StartupCommand[] cmd) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HostVO createHostVOForDirectConnectAgent(HostVO host,
|
||||
StartupCommand[] startup, ServerResource resource,
|
||||
Map<String, String> details, List<String> hostTags) {
|
||||
public HostVO createHostVOForDirectConnectAgent(HostVO host, StartupCommand[] startup, ServerResource resource, Map<String, String> details, List<String> hostTags) {
|
||||
StartupCommand firstCmd = startup[0];
|
||||
if (!(firstCmd instanceof StartupRoutingCommand)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
StartupRoutingCommand ssCmd = ((StartupRoutingCommand) firstCmd);
|
||||
StartupRoutingCommand ssCmd = ((StartupRoutingCommand)firstCmd);
|
||||
if (ssCmd.getHypervisorType() != HypervisorType.Ovm) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return _resourceMgr.fillRoutingHostVO(host, ssCmd, HypervisorType.Ovm,
|
||||
details, hostTags);
|
||||
return _resourceMgr.fillRoutingHostVO(host, ssCmd, HypervisorType.Ovm, details, hostTags);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DeleteHostAnswer deleteHost(HostVO host, boolean isForced,
|
||||
boolean isForceDeleteStorage) throws UnableDeleteHostException {
|
||||
if (host.getType() != com.cloud.host.Host.Type.Routing
|
||||
|| host.getHypervisorType() != HypervisorType.Ovm) {
|
||||
public DeleteHostAnswer deleteHost(HostVO host, boolean isForced, boolean isForceDeleteStorage) throws UnableDeleteHostException {
|
||||
if (host.getType() != com.cloud.host.Host.Type.Routing || host.getHypervisorType() != HypervisorType.Ovm) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@ -133,7 +133,7 @@ public class UcsManagerImpl implements UcsManager {
|
||||
|
||||
private void syncBlades(UcsManagerVO mgr) {
|
||||
GenericQueryBuilder<UcsBladeVO, UcsBladeVO> q = GenericQueryBuilder.create(UcsBladeVO.class);
|
||||
q.addAnd(q.getEntity().getUcsManagerId(), Op.EQ, mgr.getId());
|
||||
q.and(q.entity().getUcsManagerId(), Op.EQ, mgr.getId());
|
||||
List<UcsBladeVO> pblades = q.list();
|
||||
if (pblades.isEmpty()) {
|
||||
return;
|
||||
@ -211,7 +211,7 @@ public class UcsManagerImpl implements UcsManager {
|
||||
@DB
|
||||
public UcsManagerResponse addUcsManager(AddUcsManagerCmd cmd) {
|
||||
GenericQueryBuilder<UcsManagerVO, UcsManagerVO> q = GenericQueryBuilder.create(UcsManagerVO.class);
|
||||
q.addAnd(q.getEntity().getUrl(), Op.EQ, cmd.getUrl());
|
||||
q.and(q.entity().getUrl(), Op.EQ, cmd.getUrl());
|
||||
UcsManagerVO mgrvo = q.find();
|
||||
if (mgrvo != null) {
|
||||
throw new IllegalArgumentException(String.format("duplicate UCS manager. url[%s] is used by another UCS manager already", cmd.getUrl()));
|
||||
@ -343,8 +343,8 @@ public class UcsManagerImpl implements UcsManager {
|
||||
@Override
|
||||
public UcsBladeResponse associateProfileToBlade(AssociateUcsProfileToBladeCmd cmd) {
|
||||
GenericQueryBuilder<UcsBladeVO, UcsBladeVO> q = GenericQueryBuilder.create(UcsBladeVO.class);
|
||||
q.addAnd(q.getEntity().getUcsManagerId(), Op.EQ, cmd.getUcsManagerId());
|
||||
q.addAnd(q.getEntity().getId(), Op.EQ, cmd.getBladeId());
|
||||
q.and(q.entity().getUcsManagerId(), Op.EQ, cmd.getUcsManagerId());
|
||||
q.and(q.entity().getId(), Op.EQ, cmd.getBladeId());
|
||||
UcsBladeVO bvo = q.find();
|
||||
if (bvo == null) {
|
||||
throw new IllegalArgumentException(String.format("cannot find UCS blade[id:%s, ucs manager id:%s]", cmd.getBladeId(), cmd.getUcsManagerId()));
|
||||
@ -425,7 +425,7 @@ public class UcsManagerImpl implements UcsManager {
|
||||
}
|
||||
|
||||
GenericQueryBuilder<UcsManagerVO, UcsManagerVO> serv = GenericQueryBuilder.create(UcsManagerVO.class);
|
||||
serv.addAnd(serv.getEntity().getZoneId(), Op.EQ, cmd.getZoneId());
|
||||
serv.and(serv.entity().getZoneId(), Op.EQ, cmd.getZoneId());
|
||||
List<UcsManagerVO> vos = serv.list();
|
||||
|
||||
for (UcsManagerVO vo : vos) {
|
||||
@ -455,7 +455,7 @@ public class UcsManagerImpl implements UcsManager {
|
||||
@Override
|
||||
public ListResponse<UcsBladeResponse> listUcsBlades(ListUcsBladeCmd cmd) {
|
||||
GenericQueryBuilder<UcsBladeVO, UcsBladeVO> serv = GenericQueryBuilder.create(UcsBladeVO.class);
|
||||
serv.addAnd(serv.getEntity().getUcsManagerId(), Op.EQ, cmd.getUcsManagerId());
|
||||
serv.and(serv.entity().getUcsManagerId(), Op.EQ, cmd.getUcsManagerId());
|
||||
List<UcsBladeVO> vos = serv.list();
|
||||
|
||||
List<UcsBladeResponse> rsps = new ArrayList<UcsBladeResponse>(vos.size());
|
||||
@ -510,7 +510,7 @@ public class UcsManagerImpl implements UcsManager {
|
||||
@Override
|
||||
public void deleteUcsManager(Long id) {
|
||||
GenericQueryBuilder<UcsBladeVO, UcsBladeVO> serv = GenericQueryBuilder.create(UcsBladeVO.class);
|
||||
serv.addAnd(serv.getEntity().getUcsManagerId(), Op.EQ, id);
|
||||
serv.and(serv.entity().getUcsManagerId(), Op.EQ, id);
|
||||
List<UcsBladeVO> vos = serv.list();
|
||||
for (UcsBladeVO vo : vos) {
|
||||
bladeDao.remove(vo.getId());
|
||||
|
||||
@ -127,7 +127,7 @@ public class XcpServerDiscoverer extends DiscovererBase implements Discoverer, L
|
||||
_clusterDao.update(cluster.getId(), cluster);
|
||||
} catch (EntityExistsException e) {
|
||||
GenericQueryBuilder<ClusterVO, ClusterVO> sc = GenericQueryBuilder.create(ClusterVO.class);
|
||||
sc.addAnd(sc.getEntity().getGuid(), Op.EQ, guid);
|
||||
sc.and(sc.entity().getGuid(), Op.EQ, guid);
|
||||
List<ClusterVO> clusters = sc.list();
|
||||
ClusterVO clu = clusters.get(0);
|
||||
List<HostVO> clusterHosts = _resourceMgr.listAllHostsInCluster(clu.getId());
|
||||
|
||||
@ -85,7 +85,7 @@ import com.cloud.network.NetworkModel;
|
||||
import com.cloud.network.Networks.TrafficType;
|
||||
import com.cloud.network.PhysicalNetworkServiceProvider;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.VirtualRouterProvider.Type;
|
||||
import com.cloud.network.addr.PublicIp;
|
||||
import com.cloud.network.dao.IPAddressDao;
|
||||
import com.cloud.network.dao.IPAddressVO;
|
||||
@ -506,7 +506,7 @@ public class ElasticLoadBalancerManagerImpl extends ManagerBase implements Elast
|
||||
if (provider == null) {
|
||||
throw new CloudRuntimeException("Cannot find service provider " + typeString + " in physical network " + physicalNetworkId);
|
||||
}
|
||||
VirtualRouterProvider vrProvider = _vrProviderDao.findByNspIdAndType(provider.getId(), VirtualRouterProviderType.ElasticLoadBalancerVm);
|
||||
VirtualRouterProvider vrProvider = _vrProviderDao.findByNspIdAndType(provider.getId(), Type.ElasticLoadBalancerVm);
|
||||
if (vrProvider == null) {
|
||||
throw new CloudRuntimeException("Cannot find virtual router provider " + typeString + " as service provider " + provider.getId());
|
||||
}
|
||||
|
||||
@ -53,7 +53,7 @@ import com.cloud.network.Networks.TrafficType;
|
||||
import com.cloud.network.PhysicalNetworkServiceProvider;
|
||||
import com.cloud.network.PublicIpAddress;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.VirtualRouterProvider.Type;
|
||||
import com.cloud.network.dao.NetworkServiceMapDao;
|
||||
import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
|
||||
import com.cloud.network.dao.VirtualRouterProviderDao;
|
||||
@ -73,9 +73,8 @@ import com.cloud.user.AccountManager;
|
||||
import com.cloud.user.User;
|
||||
import com.cloud.utils.component.AdapterBase;
|
||||
import com.cloud.utils.db.EntityManager;
|
||||
import com.cloud.utils.db.QueryBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.utils.net.Ip;
|
||||
import com.cloud.vm.DomainRouterVO;
|
||||
@ -270,7 +269,7 @@ public class InternalLoadBalancerElement extends AdapterBase implements LoadBala
|
||||
@Override
|
||||
public boolean isReady(PhysicalNetworkServiceProvider provider) {
|
||||
VirtualRouterProviderVO element = _vrProviderDao.findByNspIdAndType(provider.getId(),
|
||||
VirtualRouterProviderType.InternalLbVm);
|
||||
Type.InternalLbVm);
|
||||
if (element == null) {
|
||||
return false;
|
||||
}
|
||||
@ -282,7 +281,7 @@ public class InternalLoadBalancerElement extends AdapterBase implements LoadBala
|
||||
public boolean shutdownProviderInstances(PhysicalNetworkServiceProvider provider, ReservationContext context)
|
||||
throws ConcurrentOperationException, ResourceUnavailableException {
|
||||
VirtualRouterProviderVO element = _vrProviderDao.findByNspIdAndType(provider.getId(),
|
||||
VirtualRouterProviderType.InternalLbVm);
|
||||
Type.InternalLbVm);
|
||||
if (element == null) {
|
||||
return true;
|
||||
}
|
||||
@ -467,7 +466,7 @@ public class InternalLoadBalancerElement extends AdapterBase implements LoadBala
|
||||
@Override
|
||||
public VirtualRouterProvider configureInternalLoadBalancerElement(long id, boolean enable) {
|
||||
VirtualRouterProviderVO element = _vrProviderDao.findById(id);
|
||||
if (element == null || element.getType() != VirtualRouterProviderType.InternalLbVm) {
|
||||
if (element == null || element.getType() != Type.InternalLbVm) {
|
||||
throw new InvalidParameterValueException("Can't find " + getName() + " element with network service provider id " + id +
|
||||
" to be used as a provider for " + getName());
|
||||
}
|
||||
@ -480,7 +479,7 @@ public class InternalLoadBalancerElement extends AdapterBase implements LoadBala
|
||||
|
||||
@Override
|
||||
public VirtualRouterProvider addInternalLoadBalancerElement(long ntwkSvcProviderId) {
|
||||
VirtualRouterProviderVO element = _vrProviderDao.findByNspIdAndType(ntwkSvcProviderId, VirtualRouterProviderType.InternalLbVm);
|
||||
VirtualRouterProviderVO element = _vrProviderDao.findByNspIdAndType(ntwkSvcProviderId, Type.InternalLbVm);
|
||||
if (element != null) {
|
||||
s_logger.debug("There is already an " + getName() + " with service provider id " + ntwkSvcProviderId);
|
||||
return null;
|
||||
@ -491,7 +490,7 @@ public class InternalLoadBalancerElement extends AdapterBase implements LoadBala
|
||||
throw new InvalidParameterValueException("Invalid network service provider is specified");
|
||||
}
|
||||
|
||||
element = new VirtualRouterProviderVO(ntwkSvcProviderId, VirtualRouterProviderType.InternalLbVm);
|
||||
element = new VirtualRouterProviderVO(ntwkSvcProviderId, Type.InternalLbVm);
|
||||
element = _vrProviderDao.persist(element);
|
||||
return element;
|
||||
}
|
||||
@ -500,7 +499,7 @@ public class InternalLoadBalancerElement extends AdapterBase implements LoadBala
|
||||
@Override
|
||||
public VirtualRouterProvider getInternalLoadBalancerElement(long id) {
|
||||
VirtualRouterProvider provider = _vrProviderDao.findById(id);
|
||||
if (provider == null || provider.getType() != VirtualRouterProviderType.InternalLbVm) {
|
||||
if (provider == null || provider.getType() != Type.InternalLbVm) {
|
||||
throw new InvalidParameterValueException("Unable to find " + getName() + " by id");
|
||||
}
|
||||
return provider;
|
||||
@ -509,19 +508,19 @@ public class InternalLoadBalancerElement extends AdapterBase implements LoadBala
|
||||
@Override
|
||||
public List<? extends VirtualRouterProvider> searchForInternalLoadBalancerElements(Long id, Long ntwkSvsProviderId, Boolean enabled) {
|
||||
|
||||
GenericQueryBuilder<VirtualRouterProviderVO, VirtualRouterProviderVO> sc = GenericQueryBuilder.create(VirtualRouterProviderVO.class);
|
||||
QueryBuilder<VirtualRouterProviderVO> sc = QueryBuilder.create(VirtualRouterProviderVO.class);
|
||||
if (id != null) {
|
||||
sc.addAnd(sc.getEntity().getId(), Op.EQ, id);
|
||||
sc.and(sc.entity().getId(), Op.EQ, id);
|
||||
}
|
||||
if (ntwkSvsProviderId != null) {
|
||||
sc.addAnd(sc.getEntity().getNspId(), Op.EQ, ntwkSvsProviderId);
|
||||
sc.and(sc.entity().getNspId(), Op.EQ, ntwkSvsProviderId);
|
||||
}
|
||||
if (enabled != null) {
|
||||
sc.addAnd(sc.getEntity().isEnabled(), Op.EQ, enabled);
|
||||
sc.and(sc.entity().isEnabled(), Op.EQ, enabled);
|
||||
}
|
||||
|
||||
//return only Internal LB elements
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, VirtualRouterProvider.VirtualRouterProviderType.InternalLbVm);
|
||||
sc.and(sc.entity().getType(), Op.EQ, VirtualRouterProvider.Type.InternalLbVm);
|
||||
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ import com.cloud.network.NetworkModel;
|
||||
import com.cloud.network.Networks.TrafficType;
|
||||
import com.cloud.network.PhysicalNetworkServiceProvider;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.VirtualRouterProvider.Type;
|
||||
import com.cloud.network.dao.NetworkDao;
|
||||
import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
|
||||
import com.cloud.network.dao.VirtualRouterProviderDao;
|
||||
@ -310,7 +310,7 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In
|
||||
|
||||
VirtualRouterProvider lbProvider = _vrProviderDao.findById(internalLbVm.getElementId());
|
||||
if (lbProvider == null) {
|
||||
throw new CloudRuntimeException("Cannot find related element " + VirtualRouterProviderType.InternalLbVm + " of vm: " + internalLbVm.getHostName());
|
||||
throw new CloudRuntimeException("Cannot find related element " + Type.InternalLbVm + " of vm: " + internalLbVm.getHostName());
|
||||
}
|
||||
|
||||
Provider provider = Network.Provider.getProvider(lbProvider.getType().toString());
|
||||
@ -629,7 +629,7 @@ public class InternalLoadBalancerVMManagerImpl extends ManagerBase implements In
|
||||
}
|
||||
|
||||
protected long getInternalLbProviderId(Network guestNetwork) {
|
||||
VirtualRouterProviderType type = VirtualRouterProviderType.InternalLbVm;
|
||||
Type type = Type.InternalLbVm;
|
||||
long physicalNetworkId = _ntwkModel.getPhysicalNetworkId(guestNetwork);
|
||||
|
||||
PhysicalNetworkServiceProvider provider = _physicalProviderDao.findByServiceProvider(physicalNetworkId, type.toString());
|
||||
|
||||
@ -33,7 +33,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
import com.cloud.exception.InvalidParameterValueException;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.VirtualRouterProvider.Type;
|
||||
import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
|
||||
import com.cloud.network.dao.PhysicalNetworkServiceProviderVO;
|
||||
import com.cloud.network.dao.VirtualRouterProviderDao;
|
||||
@ -65,15 +65,15 @@ public class InternalLbElementServiceTest {
|
||||
public void setUp() {
|
||||
|
||||
ComponentContext.initComponentsLifeCycle();
|
||||
VirtualRouterProviderVO validElement = new VirtualRouterProviderVO(1, VirtualRouterProviderType.InternalLbVm);
|
||||
VirtualRouterProviderVO invalidElement = new VirtualRouterProviderVO(1, VirtualRouterProviderType.VirtualRouter);
|
||||
VirtualRouterProviderVO validElement = new VirtualRouterProviderVO(1, Type.InternalLbVm);
|
||||
VirtualRouterProviderVO invalidElement = new VirtualRouterProviderVO(1, Type.VirtualRouter);
|
||||
|
||||
Mockito.when(_vrProviderDao.findById(validElId)).thenReturn(validElement);
|
||||
Mockito.when(_vrProviderDao.findById(invalidElId)).thenReturn(invalidElement);
|
||||
|
||||
Mockito.when(_vrProviderDao.persist(validElement)).thenReturn(validElement);
|
||||
|
||||
Mockito.when(_vrProviderDao.findByNspIdAndType(validProviderId, VirtualRouterProviderType.InternalLbVm)).thenReturn(validElement);
|
||||
Mockito.when(_vrProviderDao.findByNspIdAndType(validProviderId, Type.InternalLbVm)).thenReturn(validElement);
|
||||
|
||||
PhysicalNetworkServiceProviderVO validProvider = new PhysicalNetworkServiceProviderVO(1, "InternalLoadBalancerElement");
|
||||
PhysicalNetworkServiceProviderVO invalidProvider = new PhysicalNetworkServiceProviderVO(1, "Invalid name!");
|
||||
|
||||
@ -47,7 +47,7 @@ import com.cloud.dc.DataCenterVO;
|
||||
import com.cloud.exception.ResourceUnavailableException;
|
||||
import com.cloud.network.Network.Provider;
|
||||
import com.cloud.network.Network.Service;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.VirtualRouterProvider.Type;
|
||||
import com.cloud.network.addr.PublicIp;
|
||||
import com.cloud.network.dao.NetworkVO;
|
||||
import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
|
||||
@ -91,18 +91,18 @@ public class InternalLbElementTest {
|
||||
public void setUp() {
|
||||
|
||||
ComponentContext.initComponentsLifeCycle();
|
||||
VirtualRouterProviderVO validElement = new VirtualRouterProviderVO(1, VirtualRouterProviderType.InternalLbVm);
|
||||
VirtualRouterProviderVO validElement = new VirtualRouterProviderVO(1, Type.InternalLbVm);
|
||||
validElement.setEnabled(true);
|
||||
VirtualRouterProviderVO invalidElement = new VirtualRouterProviderVO(1, VirtualRouterProviderType.VirtualRouter);
|
||||
VirtualRouterProviderVO notEnabledElement = new VirtualRouterProviderVO(1, VirtualRouterProviderType.InternalLbVm);
|
||||
VirtualRouterProviderVO invalidElement = new VirtualRouterProviderVO(1, Type.VirtualRouter);
|
||||
VirtualRouterProviderVO notEnabledElement = new VirtualRouterProviderVO(1, Type.InternalLbVm);
|
||||
|
||||
Mockito.when(_vrProviderDao.findByNspIdAndType(validElId, VirtualRouterProviderType.InternalLbVm)).thenReturn(validElement);
|
||||
Mockito.when(_vrProviderDao.findByNspIdAndType(invalidElId, VirtualRouterProviderType.InternalLbVm)).thenReturn(invalidElement);
|
||||
Mockito.when(_vrProviderDao.findByNspIdAndType(notEnabledElId, VirtualRouterProviderType.InternalLbVm)).thenReturn(notEnabledElement);
|
||||
Mockito.when(_vrProviderDao.findByNspIdAndType(validElId, Type.InternalLbVm)).thenReturn(validElement);
|
||||
Mockito.when(_vrProviderDao.findByNspIdAndType(invalidElId, Type.InternalLbVm)).thenReturn(invalidElement);
|
||||
Mockito.when(_vrProviderDao.findByNspIdAndType(notEnabledElId, Type.InternalLbVm)).thenReturn(notEnabledElement);
|
||||
|
||||
Mockito.when(_vrProviderDao.persist(validElement)).thenReturn(validElement);
|
||||
|
||||
Mockito.when(_vrProviderDao.findByNspIdAndType(validProviderId, VirtualRouterProviderType.InternalLbVm)).thenReturn(validElement);
|
||||
Mockito.when(_vrProviderDao.findByNspIdAndType(validProviderId, Type.InternalLbVm)).thenReturn(validElement);
|
||||
|
||||
PhysicalNetworkServiceProviderVO validProvider = new PhysicalNetworkServiceProviderVO(1, "InternalLoadBalancerElement");
|
||||
PhysicalNetworkServiceProviderVO invalidProvider = new PhysicalNetworkServiceProviderVO(1, "Invalid name!");
|
||||
|
||||
@ -2681,8 +2681,8 @@ public class ApiResponseHelper implements ResponseGenerator {
|
||||
@Override
|
||||
public VirtualRouterProviderResponse createVirtualRouterProviderResponse(VirtualRouterProvider result) {
|
||||
//generate only response of the VR/VPCVR provider type
|
||||
if (!(result.getType() == VirtualRouterProvider.VirtualRouterProviderType.VirtualRouter
|
||||
|| result.getType() == VirtualRouterProvider.VirtualRouterProviderType.VPCVirtualRouter)) {
|
||||
if (!(result.getType() == VirtualRouterProvider.Type.VirtualRouter
|
||||
|| result.getType() == VirtualRouterProvider.Type.VPCVirtualRouter)) {
|
||||
return null;
|
||||
}
|
||||
VirtualRouterProviderResponse response = new VirtualRouterProviderResponse();
|
||||
@ -3734,7 +3734,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
||||
|
||||
@Override
|
||||
public InternalLoadBalancerElementResponse createInternalLbElementResponse(VirtualRouterProvider result) {
|
||||
if (result.getType() != VirtualRouterProvider.VirtualRouterProviderType.InternalLbVm) {
|
||||
if (result.getType() != VirtualRouterProvider.Type.InternalLbVm) {
|
||||
return null;
|
||||
}
|
||||
InternalLoadBalancerElementResponse response = new InternalLoadBalancerElementResponse();
|
||||
|
||||
@ -1694,8 +1694,8 @@ VirtualMachineGuru, SystemVmLoadScanHandler<Long>, ResourceStateAdapter {
|
||||
|
||||
protected HostVO findConsoleProxyHostByName(String name) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.ConsoleProxy);
|
||||
sc.addAnd(sc.getEntity().getName(), Op.EQ, name);
|
||||
sc.and(sc.entity().getType(), Op.EQ, Host.Type.ConsoleProxy);
|
||||
sc.and(sc.entity().getName(), Op.EQ, name);
|
||||
return sc.find();
|
||||
}
|
||||
|
||||
|
||||
@ -21,7 +21,6 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.naming.ConfigurationException;
|
||||
|
||||
@ -38,16 +37,15 @@ import com.cloud.host.Status;
|
||||
import com.cloud.host.dao.HostDao;
|
||||
import com.cloud.resource.ResourceManager;
|
||||
import com.cloud.utils.component.AdapterBase;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.QueryBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
|
||||
public abstract class AbstractInvestigatorImpl extends AdapterBase implements Investigator {
|
||||
private static final Logger s_logger = Logger.getLogger(AbstractInvestigatorImpl.class);
|
||||
|
||||
@Inject private HostDao _hostDao = null;
|
||||
@Inject private AgentManager _agentMgr = null;
|
||||
@Inject private ResourceManager _resourceMgr = null;
|
||||
@Inject private final HostDao _hostDao = null;
|
||||
@Inject private final AgentManager _agentMgr = null;
|
||||
@Inject private final ResourceManager _resourceMgr = null;
|
||||
|
||||
|
||||
@Override
|
||||
@ -68,10 +66,10 @@ public abstract class AbstractInvestigatorImpl extends AdapterBase implements In
|
||||
|
||||
// Host.status is up and Host.type is routing
|
||||
protected List<Long> findHostByPod(long podId, Long excludeHostId) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.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);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getType(), Op.EQ, Type.Routing);
|
||||
sc.and(sc.entity().getPodId(), Op.EQ, podId);
|
||||
sc.and(sc.entity().getStatus(), Op.EQ, Status.Up);
|
||||
List<HostVO> hosts = sc.list();
|
||||
|
||||
List<Long> hostIds = new ArrayList<Long>(hosts.size());
|
||||
|
||||
@ -97,7 +97,7 @@ import com.cloud.network.Network.Service;
|
||||
import com.cloud.network.Networks.BroadcastDomainType;
|
||||
import com.cloud.network.Networks.TrafficType;
|
||||
import com.cloud.network.PhysicalNetwork.BroadcastDomainRange;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.VirtualRouterProvider.Type;
|
||||
import com.cloud.network.addr.PublicIp;
|
||||
import com.cloud.network.dao.AccountGuestVlanMapDao;
|
||||
import com.cloud.network.dao.AccountGuestVlanMapVO;
|
||||
@ -3685,7 +3685,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService {
|
||||
}
|
||||
|
||||
VirtualRouterElement element = (VirtualRouterElement)networkElement;
|
||||
element.addElement(nsp.getId(), VirtualRouterProviderType.VirtualRouter);
|
||||
element.addElement(nsp.getId(), Type.VirtualRouter);
|
||||
|
||||
return nsp;
|
||||
}
|
||||
@ -3701,7 +3701,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService {
|
||||
}
|
||||
|
||||
VpcVirtualRouterElement element = (VpcVirtualRouterElement)networkElement;
|
||||
element.addElement(nsp.getId(), VirtualRouterProviderType.VPCVirtualRouter);
|
||||
element.addElement(nsp.getId(), Type.VPCVirtualRouter);
|
||||
|
||||
return nsp;
|
||||
}
|
||||
|
||||
@ -340,7 +340,7 @@ public class StorageNetworkManagerImpl extends ManagerBase implements StorageNet
|
||||
@Override
|
||||
public boolean isStorageIpRangeAvailable(long zoneId) {
|
||||
GenericQueryBuilder<StorageNetworkIpRangeVO, StorageNetworkIpRangeVO> sc = GenericQueryBuilder.create(StorageNetworkIpRangeVO.class);
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, zoneId);
|
||||
sc.and(sc.entity().getDataCenterId(), Op.EQ, zoneId);
|
||||
List<StorageNetworkIpRangeVO> entries = sc.list();
|
||||
return entries.size() > 0;
|
||||
}
|
||||
|
||||
@ -25,13 +25,15 @@ import java.util.Set;
|
||||
import javax.ejb.Local;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
|
||||
import org.apache.cloudstack.api.command.admin.router.ConfigureVirtualRouterElementCmd;
|
||||
import org.apache.cloudstack.api.command.admin.router.CreateVirtualRouterElementCmd;
|
||||
import org.apache.cloudstack.api.command.admin.router.ListVirtualRouterElementsCmd;
|
||||
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.agent.api.to.LoadBalancerTO;
|
||||
import com.cloud.configuration.ConfigurationManager;
|
||||
import com.cloud.dc.DataCenter;
|
||||
@ -55,7 +57,7 @@ import com.cloud.network.PhysicalNetworkServiceProvider;
|
||||
import com.cloud.network.PublicIpAddress;
|
||||
import com.cloud.network.RemoteAccessVpn;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.VirtualRouterProvider.Type;
|
||||
import com.cloud.network.VpnUser;
|
||||
import com.cloud.network.dao.IPAddressDao;
|
||||
import com.cloud.network.dao.LoadBalancerDao;
|
||||
@ -77,12 +79,10 @@ import com.cloud.offering.NetworkOffering;
|
||||
import com.cloud.offerings.NetworkOfferingVO;
|
||||
import com.cloud.offerings.dao.NetworkOfferingDao;
|
||||
import com.cloud.user.AccountManager;
|
||||
import com.cloud.uservm.UserVm;
|
||||
import com.cloud.utils.Pair;
|
||||
import com.cloud.utils.component.AdapterBase;
|
||||
import com.cloud.utils.db.QueryBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.vm.DomainRouterVO;
|
||||
import com.cloud.vm.NicProfile;
|
||||
@ -91,13 +91,10 @@ import com.cloud.vm.UserVmManager;
|
||||
import com.cloud.vm.UserVmVO;
|
||||
import com.cloud.vm.VirtualMachine;
|
||||
import com.cloud.vm.VirtualMachine.State;
|
||||
import com.cloud.vm.VirtualMachine.Type;
|
||||
import com.cloud.vm.VirtualMachineProfile;
|
||||
import com.cloud.vm.dao.DomainRouterDao;
|
||||
import com.cloud.vm.dao.UserVmDao;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
|
||||
@Local(value = {NetworkElement.class, FirewallServiceProvider.class,
|
||||
DhcpServiceProvider.class, UserDataServiceProvider.class,
|
||||
StaticNatServiceProvider.class, LoadBalancingServiceProvider.class,
|
||||
@ -219,7 +216,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
VirtualMachineProfile uservm = (VirtualMachineProfile) vm;
|
||||
VirtualMachineProfile uservm = vm;
|
||||
List<DomainRouterVO> routers = _routerMgr.deployVirtualRouterInGuestNetwork(network, dest,
|
||||
_accountMgr.getAccount(network.getAccountId()),
|
||||
uservm.getParameters(), offering.getRedundantRouter());
|
||||
@ -400,7 +397,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
}
|
||||
return _routerMgr.applyVpnUsers(network, users, routers);
|
||||
} else {
|
||||
s_logger.debug("Element " + this.getName() + " doesn't handle applyVpnUsers command");
|
||||
s_logger.debug("Element " + getName() + " doesn't handle applyVpnUsers command");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -416,7 +413,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
}
|
||||
return _routerMgr.startRemoteAccessVpn(network, vpn, routers);
|
||||
} else {
|
||||
s_logger.debug("Element " + this.getName() + " doesn't handle createVpn command");
|
||||
s_logger.debug("Element " + getName() + " doesn't handle createVpn command");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -432,7 +429,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
}
|
||||
return _routerMgr.deleteRemoteAccessVpn(network, vpn, routers);
|
||||
} else {
|
||||
s_logger.debug("Element " + this.getName() + " doesn't handle removeVpn command");
|
||||
s_logger.debug("Element " + getName() + " doesn't handle removeVpn command");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -684,7 +681,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
VirtualMachineProfile uservm = (VirtualMachineProfile) vm;
|
||||
VirtualMachineProfile uservm = vm;
|
||||
|
||||
return _routerMgr.savePasswordToRouter(network, nic, uservm, routers);
|
||||
}
|
||||
@ -702,7 +699,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
VirtualMachineProfile uservm = (VirtualMachineProfile) vm;
|
||||
VirtualMachineProfile uservm = vm;
|
||||
|
||||
return _routerMgr.saveSSHPublicKeyToRouter(network, nic, uservm, routers, SSHPublicKey);
|
||||
}
|
||||
@ -720,7 +717,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
VirtualMachineProfile uservm = (VirtualMachineProfile) vm;
|
||||
VirtualMachineProfile uservm = vm;
|
||||
|
||||
return _routerMgr.saveUserDataToRouter(network, nic, uservm, routers);
|
||||
}
|
||||
@ -737,7 +734,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
@Override
|
||||
public VirtualRouterProvider configure(ConfigureVirtualRouterElementCmd cmd) {
|
||||
VirtualRouterProviderVO element = _vrProviderDao.findById(cmd.getId());
|
||||
if (element == null || !(element.getType() == VirtualRouterProviderType.VirtualRouter || element.getType() == VirtualRouterProviderType.VPCVirtualRouter)) {
|
||||
if (element == null || !(element.getType() == Type.VirtualRouter || element.getType() == Type.VPCVirtualRouter)) {
|
||||
s_logger.debug("Can't find Virtual Router element with network service provider id " + cmd.getId());
|
||||
return null;
|
||||
}
|
||||
@ -749,10 +746,10 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
}
|
||||
|
||||
@Override
|
||||
public VirtualRouterProvider addElement(Long nspId, VirtualRouterProviderType providerType) {
|
||||
if (!(providerType == VirtualRouterProviderType.VirtualRouter || providerType == VirtualRouterProviderType.VPCVirtualRouter)) {
|
||||
throw new InvalidParameterValueException("Element " + this.getName() + " supports only providerTypes: " +
|
||||
VirtualRouterProviderType.VirtualRouter.toString() + " and " + VirtualRouterProviderType.VPCVirtualRouter);
|
||||
public VirtualRouterProvider addElement(Long nspId, Type providerType) {
|
||||
if (!(providerType == Type.VirtualRouter || providerType == Type.VPCVirtualRouter)) {
|
||||
throw new InvalidParameterValueException("Element " + getName() + " supports only providerTypes: " +
|
||||
Type.VirtualRouter.toString() + " and " + Type.VPCVirtualRouter);
|
||||
}
|
||||
VirtualRouterProviderVO element = _vrProviderDao.findByNspIdAndType(nspId, providerType);
|
||||
if (element != null) {
|
||||
@ -821,14 +818,14 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
}
|
||||
|
||||
public Long getIdByNspId(Long nspId) {
|
||||
VirtualRouterProviderVO vr = _vrProviderDao.findByNspIdAndType(nspId, VirtualRouterProviderType.VirtualRouter);
|
||||
VirtualRouterProviderVO vr = _vrProviderDao.findByNspIdAndType(nspId, Type.VirtualRouter);
|
||||
return vr.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public VirtualRouterProvider getCreatedElement(long id) {
|
||||
VirtualRouterProvider provider = _vrProviderDao.findById(id);
|
||||
if (!(provider.getType() == VirtualRouterProviderType.VirtualRouter || provider.getType() == VirtualRouterProviderType.VPCVirtualRouter)) {
|
||||
if (!(provider.getType() == Type.VirtualRouter || provider.getType() == Type.VPCVirtualRouter)) {
|
||||
throw new InvalidParameterValueException("Unable to find provider by id");
|
||||
}
|
||||
return provider;
|
||||
@ -849,7 +846,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
return false;
|
||||
}
|
||||
@SuppressWarnings("unchecked")
|
||||
VirtualMachineProfile uservm = (VirtualMachineProfile) vm;
|
||||
VirtualMachineProfile uservm = vm;
|
||||
|
||||
List<DomainRouterVO> routers = getRouters(network, dest);
|
||||
|
||||
@ -889,7 +886,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
VirtualMachineProfile uservm = (VirtualMachineProfile) vm;
|
||||
VirtualMachineProfile uservm = vm;
|
||||
|
||||
List<DomainRouterVO> routers = getRouters(network, dest);
|
||||
|
||||
@ -917,7 +914,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
VirtualMachineProfile uservm = (VirtualMachineProfile) vm;
|
||||
VirtualMachineProfile uservm = vm;
|
||||
|
||||
List<DomainRouterVO> routers = getRouters(network, dest);
|
||||
|
||||
@ -969,19 +966,19 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
Long nspId = cmd.getNspId();
|
||||
Boolean enabled = cmd.getEnabled();
|
||||
|
||||
GenericQueryBuilder<VirtualRouterProviderVO, VirtualRouterProviderVO> sc = GenericQueryBuilder.create(VirtualRouterProviderVO.class);
|
||||
QueryBuilder<VirtualRouterProviderVO> sc = QueryBuilder.create(VirtualRouterProviderVO.class);
|
||||
if (id != null) {
|
||||
sc.addAnd(sc.getEntity().getId(), Op.EQ, id);
|
||||
sc.and(sc.entity().getId(), Op.EQ, id);
|
||||
}
|
||||
if (nspId != null) {
|
||||
sc.addAnd(sc.getEntity().getNspId(), Op.EQ, nspId);
|
||||
sc.and(sc.entity().getNspId(), Op.EQ, nspId);
|
||||
}
|
||||
if (enabled != null) {
|
||||
sc.addAnd(sc.getEntity().isEnabled(), Op.EQ, enabled);
|
||||
sc.and(sc.entity().isEnabled(), Op.EQ, enabled);
|
||||
}
|
||||
|
||||
//return only VR and VPC VR
|
||||
sc.addAnd(sc.getEntity().getType(), Op.IN, VirtualRouterProvider.VirtualRouterProviderType.VPCVirtualRouter, VirtualRouterProvider.VirtualRouterProviderType.VirtualRouter);
|
||||
sc.and(sc.entity().getType(), Op.IN, VirtualRouterProvider.Type.VPCVirtualRouter, VirtualRouterProvider.Type.VirtualRouter);
|
||||
|
||||
return sc.list();
|
||||
}
|
||||
@ -1008,8 +1005,8 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
return this;
|
||||
}
|
||||
|
||||
protected VirtualRouterProviderType getVirtualRouterProvider() {
|
||||
return VirtualRouterProviderType.VirtualRouter;
|
||||
protected VirtualRouterProvider.Type getVirtualRouterProvider() {
|
||||
return VirtualRouterProvider.Type.VirtualRouter;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -1019,13 +1016,13 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
return null;
|
||||
}
|
||||
private boolean canHandleLbRules(List<LoadBalancingRule> rules) {
|
||||
Map<Capability, String> lbCaps = this.getCapabilities().get(Service.Lb);
|
||||
Map<Capability, String> lbCaps = getCapabilities().get(Service.Lb);
|
||||
if (!lbCaps.isEmpty()) {
|
||||
String schemeCaps = lbCaps.get(Capability.LbSchemes);
|
||||
if (schemeCaps != null) {
|
||||
for (LoadBalancingRule rule : rules) {
|
||||
if (!schemeCaps.contains(rule.getScheme().toString())) {
|
||||
s_logger.debug("Scheme " + rules.get(0).getScheme() + " is not supported by the provider " + this.getName());
|
||||
s_logger.debug("Scheme " + rules.get(0).getScheme() + " is not supported by the provider " + getName());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -1041,11 +1038,11 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
if (nic.getBroadcastType() != Networks.BroadcastDomainType.Pvlan) {
|
||||
return true;
|
||||
}
|
||||
if (vm.getType() == Type.DomainRouter) {
|
||||
if (vm.getType() == VirtualMachine.Type.DomainRouter) {
|
||||
assert vm instanceof DomainRouterVO;
|
||||
DomainRouterVO router = (DomainRouterVO)vm.getVirtualMachine();
|
||||
_routerMgr.setupDhcpForPvlan(false, router, router.getHostId(), nic);
|
||||
} else if (vm.getType() == Type.User){
|
||||
} else if (vm.getType() == VirtualMachine.Type.User) {
|
||||
assert vm instanceof UserVmVO;
|
||||
UserVmVO userVm = (UserVmVO)vm.getVirtualMachine();
|
||||
_userVmMgr.setupVmForPvlan(false, userVm.getHostId(), nic);
|
||||
@ -1060,11 +1057,11 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
if (nic.getBroadcastType() != Networks.BroadcastDomainType.Pvlan) {
|
||||
return;
|
||||
}
|
||||
if (vm.getType() == Type.DomainRouter) {
|
||||
if (vm.getType() == VirtualMachine.Type.DomainRouter) {
|
||||
assert vm instanceof DomainRouterVO;
|
||||
DomainRouterVO router = (DomainRouterVO)vm.getVirtualMachine();
|
||||
_routerMgr.setupDhcpForPvlan(true, router, router.getHostId(), nic);
|
||||
} else if (vm.getType() == Type.User){
|
||||
} else if (vm.getType() == VirtualMachine.Type.User) {
|
||||
assert vm instanceof UserVmVO;
|
||||
UserVmVO userVm = (UserVmVO)vm.getVirtualMachine();
|
||||
_userVmMgr.setupVmForPvlan(true, userVm.getHostId(), nic);
|
||||
@ -1078,11 +1075,11 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
||||
if (nic.getBroadcastType() != Networks.BroadcastDomainType.Pvlan) {
|
||||
return;
|
||||
}
|
||||
if (vm.getType() == Type.DomainRouter) {
|
||||
if (vm.getType() == VirtualMachine.Type.DomainRouter) {
|
||||
assert vm instanceof DomainRouterVO;
|
||||
DomainRouterVO router = (DomainRouterVO)vm.getVirtualMachine();
|
||||
_routerMgr.setupDhcpForPvlan(true, router, router.getHostId(), nic);
|
||||
} else if (vm.getType() == Type.User){
|
||||
} else if (vm.getType() == VirtualMachine.Type.User) {
|
||||
assert vm instanceof UserVmVO;
|
||||
UserVmVO userVm = (UserVmVO)vm.getVirtualMachine();
|
||||
_userVmMgr.setupVmForPvlan(true, userVm.getHostId(), nic);
|
||||
|
||||
@ -41,7 +41,7 @@ import com.cloud.network.NetworkModel;
|
||||
import com.cloud.network.PublicIpAddress;
|
||||
import com.cloud.network.Site2SiteVpnConnection;
|
||||
import com.cloud.network.Site2SiteVpnGateway;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.VirtualRouterProvider.Type;
|
||||
import com.cloud.network.dao.IPAddressDao;
|
||||
import com.cloud.network.dao.NetworkDao;
|
||||
import com.cloud.network.dao.Site2SiteVpnGatewayDao;
|
||||
@ -63,7 +63,7 @@ import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.vm.DomainRouterVO;
|
||||
import com.cloud.vm.NicProfile;
|
||||
import com.cloud.vm.ReservationContext;
|
||||
import com.cloud.vm.VirtualMachine.Type;
|
||||
import com.cloud.vm.VirtualMachine;
|
||||
import com.cloud.vm.VirtualMachineProfile;
|
||||
|
||||
@Local(value = {NetworkElement.class, FirewallServiceProvider.class,
|
||||
@ -210,7 +210,7 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
|
||||
return false;
|
||||
}
|
||||
|
||||
if (vm.getType() == Type.User) {
|
||||
if (vm.getType() == VirtualMachine.Type.User) {
|
||||
Map<VirtualMachineProfile.Param, Object> params = new HashMap<VirtualMachineProfile.Param, Object>(1);
|
||||
params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true);
|
||||
List<DomainRouterVO> routers = _vpcRouterMgr.deployVirtualRouterInVpc(vpc, dest,
|
||||
@ -434,8 +434,8 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
|
||||
}
|
||||
|
||||
@Override
|
||||
protected VirtualRouterProviderType getVirtualRouterProvider() {
|
||||
return VirtualRouterProviderType.VPCVirtualRouter;
|
||||
protected Type getVirtualRouterProvider() {
|
||||
return Type.VPCVirtualRouter;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -155,7 +155,7 @@ import com.cloud.network.Site2SiteVpnConnection;
|
||||
import com.cloud.network.SshKeysDistriMonitor;
|
||||
import com.cloud.network.VirtualNetworkApplianceService;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.VirtualRouterProvider.Type;
|
||||
import com.cloud.network.VpnUser;
|
||||
import com.cloud.network.VpnUserVO;
|
||||
import com.cloud.network.addr.PublicIp;
|
||||
@ -202,7 +202,7 @@ import com.cloud.server.ConfigurationServer;
|
||||
import com.cloud.service.ServiceOfferingVO;
|
||||
import com.cloud.service.dao.ServiceOfferingDao;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.storage.Volume.Type;
|
||||
import com.cloud.storage.Volume;
|
||||
import com.cloud.storage.VolumeVO;
|
||||
import com.cloud.storage.dao.GuestOSDao;
|
||||
import com.cloud.storage.dao.VMTemplateDao;
|
||||
@ -1506,7 +1506,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
|
||||
}
|
||||
|
||||
// Check if providers are supported in the physical networks
|
||||
VirtualRouterProviderType type = VirtualRouterProviderType.VirtualRouter;
|
||||
Type type = Type.VirtualRouter;
|
||||
Long physicalNetworkId = _networkModel.getPhysicalNetworkId(guestNetwork);
|
||||
PhysicalNetworkServiceProvider provider = _physicalProviderDao.findByServiceProvider(physicalNetworkId, type.toString());
|
||||
if (provider == null) {
|
||||
@ -1930,7 +1930,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
|
||||
avoids[1] = new ExcludeList();
|
||||
avoids[1].addCluster(_hostDao.findById(routerToBeAvoid.getHostId()).getClusterId());
|
||||
avoids[2] = new ExcludeList();
|
||||
List<VolumeVO> volumes = _volumeDao.findByInstanceAndType(routerToBeAvoid.getId(), Type.ROOT);
|
||||
List<VolumeVO> volumes = _volumeDao.findByInstanceAndType(routerToBeAvoid.getId(), Volume.Type.ROOT);
|
||||
if (volumes != null && volumes.size() != 0) {
|
||||
avoids[2].addPool(volumes.get(0).getPoolId());
|
||||
}
|
||||
|
||||
@ -72,7 +72,7 @@ import com.cloud.network.PhysicalNetworkServiceProvider;
|
||||
import com.cloud.network.PublicIpAddress;
|
||||
import com.cloud.network.Site2SiteVpnConnection;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.network.VirtualRouterProvider.Type;
|
||||
import com.cloud.network.VpcVirtualNetworkApplianceService;
|
||||
import com.cloud.network.addr.PublicIp;
|
||||
import com.cloud.network.dao.FirewallRulesDao;
|
||||
@ -203,13 +203,13 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
|
||||
|
||||
for (PhysicalNetwork pNtwk : pNtwks) {
|
||||
PhysicalNetworkServiceProvider provider = _physicalProviderDao.findByServiceProvider(pNtwk.getId(),
|
||||
VirtualRouterProviderType.VPCVirtualRouter.toString());
|
||||
Type.VPCVirtualRouter.toString());
|
||||
if (provider == null) {
|
||||
throw new CloudRuntimeException("Cannot find service provider " +
|
||||
VirtualRouterProviderType.VPCVirtualRouter.toString() + " in physical network " + pNtwk.getId());
|
||||
Type.VPCVirtualRouter.toString() + " in physical network " + pNtwk.getId());
|
||||
}
|
||||
vpcVrProvider = _vrProviderDao.findByNspIdAndType(provider.getId(),
|
||||
VirtualRouterProviderType.VPCVirtualRouter);
|
||||
Type.VPCVirtualRouter);
|
||||
if (vpcVrProvider != null) {
|
||||
break;
|
||||
}
|
||||
|
||||
@ -140,12 +140,11 @@ import com.cloud.utils.component.ManagerBase;
|
||||
import com.cloud.utils.db.DB;
|
||||
import com.cloud.utils.db.GenericSearchBuilder;
|
||||
import com.cloud.utils.db.GlobalLock;
|
||||
import com.cloud.utils.db.QueryBuilder;
|
||||
import com.cloud.utils.db.SearchBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.cloud.utils.db.SearchCriteria.Func;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.utils.fsm.NoTransitionException;
|
||||
@ -2256,27 +2255,27 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager,
|
||||
@Override
|
||||
public List<HostVO> findDirectlyConnectedHosts() {
|
||||
/* The resource column is not null for direct connected resource */
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getResource(), Op.NNULL);
|
||||
sc.addAnd(sc.getEntity().getResourceState(), Op.NIN, ResourceState.Disabled);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getResource(), Op.NNULL);
|
||||
sc.and(sc.entity().getResourceState(), Op.NIN, ResourceState.Disabled);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HostVO> listAllUpAndEnabledHosts(Type type, Long clusterId, Long podId, long dcId) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
if (type != null) {
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, type);
|
||||
sc.and(sc.entity().getType(), Op.EQ,type);
|
||||
}
|
||||
if (clusterId != null) {
|
||||
sc.addAnd(sc.getEntity().getClusterId(), Op.EQ, clusterId);
|
||||
sc.and(sc.entity().getClusterId(), Op.EQ,clusterId);
|
||||
}
|
||||
if (podId != null) {
|
||||
sc.addAnd(sc.getEntity().getPodId(), Op.EQ, podId);
|
||||
sc.and(sc.entity().getPodId(), Op.EQ,podId);
|
||||
}
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId);
|
||||
sc.addAnd(sc.getEntity().getStatus(), Op.EQ, Status.Up);
|
||||
sc.addAnd(sc.getEntity().getResourceState(), Op.EQ, ResourceState.Enabled);
|
||||
sc.and(sc.entity().getDataCenterId(), Op.EQ,dcId);
|
||||
sc.and(sc.entity().getStatus(), Op.EQ,Status.Up);
|
||||
sc.and(sc.entity().getResourceState(), Op.EQ,ResourceState.Enabled);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@ -2288,60 +2287,60 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager,
|
||||
|
||||
@Override
|
||||
public List<HostVO> findHostByGuid(long dcId, String guid) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId);
|
||||
sc.addAnd(sc.getEntity().getGuid(), Op.EQ, guid);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getDataCenterId(), Op.EQ,dcId);
|
||||
sc.and(sc.entity().getGuid(), Op.EQ,guid);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HostVO> listAllHostsInCluster(long clusterId) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getClusterId(), Op.EQ, clusterId);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getClusterId(), Op.EQ,clusterId);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HostVO> listHostsInClusterByStatus(long clusterId, Status status) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getClusterId(), Op.EQ, clusterId);
|
||||
sc.addAnd(sc.getEntity().getStatus(), Op.EQ, status);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getClusterId(), Op.EQ,clusterId);
|
||||
sc.and(sc.entity().getStatus(), Op.EQ,status);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HostVO> listAllUpAndEnabledHostsInOneZoneByType(Type type, long dcId) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.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);
|
||||
sc.addAnd(sc.getEntity().getResourceState(), Op.EQ, ResourceState.Enabled);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getType(), Op.EQ,type);
|
||||
sc.and(sc.entity().getDataCenterId(), Op.EQ,dcId);
|
||||
sc.and(sc.entity().getStatus(), Op.EQ,Status.Up);
|
||||
sc.and(sc.entity().getResourceState(), Op.EQ,ResourceState.Enabled);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HostVO> listAllNotInMaintenanceHostsInOneZone(Type type, Long dcId) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
if (dcId != null) {
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId);
|
||||
sc.and(sc.entity().getDataCenterId(), Op.EQ,dcId);
|
||||
}
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, type);
|
||||
sc.addAnd(sc.getEntity().getResourceState(), Op.NIN, ResourceState.Maintenance, ResourceState.ErrorInMaintenance, ResourceState.PrepareForMaintenance, ResourceState.Error);
|
||||
sc.and(sc.entity().getType(), Op.EQ,type);
|
||||
sc.and(sc.entity().getResourceState(), Op.NIN, ResourceState.Maintenance, ResourceState.ErrorInMaintenance, ResourceState.PrepareForMaintenance, ResourceState.Error);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HostVO> listAllHostsInOneZoneByType(Type type, long dcId) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, type);
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getType(), Op.EQ,type);
|
||||
sc.and(sc.entity().getDataCenterId(), Op.EQ,dcId);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HostVO> listAllHostsInAllZonesByType(Type type) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, type);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getType(), Op.EQ,type);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@ -2370,15 +2369,15 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager,
|
||||
|
||||
@Override
|
||||
public HostVO findHostByGuid(String guid) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getGuid(), Op.EQ, guid);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getGuid(), Op.EQ,guid);
|
||||
return sc.find();
|
||||
}
|
||||
|
||||
@Override
|
||||
public HostVO findHostByName(String name) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getName(), Op.EQ, name);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getName(), Op.EQ,name);
|
||||
return sc.find();
|
||||
}
|
||||
|
||||
@ -2449,11 +2448,11 @@ public class ResourceManagerImpl extends ManagerBase implements ResourceManager,
|
||||
|
||||
@Override
|
||||
public List<HostVO> listAllUpAndEnabledHostsInOneZoneByHypervisor(HypervisorType type, long dcId) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getHypervisorType(), Op.EQ, type);
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId);
|
||||
sc.addAnd(sc.getEntity().getStatus(), Op.EQ, Status.Up);
|
||||
sc.addAnd(sc.getEntity().getResourceState(), Op.EQ, ResourceState.Enabled);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getHypervisorType(), Op.EQ,type);
|
||||
sc.and(sc.entity().getDataCenterId(), Op.EQ,dcId);
|
||||
sc.and(sc.entity().getStatus(), Op.EQ,Status.Up);
|
||||
sc.and(sc.entity().getResourceState(), Op.EQ,ResourceState.Enabled);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
|
||||
@ -142,10 +142,10 @@ public class OCFS2ManagerImpl extends ManagerBase implements OCFS2Manager, Resou
|
||||
}
|
||||
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.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());
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.Routing);
|
||||
sc.and(sc.entity().getClusterId(), Op.EQ, clusterId);
|
||||
sc.and(sc.entity().getPodId(), Op.EQ, cluster.getPodId());
|
||||
sc.and(sc.entity().getDataCenterId(), Op.EQ, cluster.getDataCenterId());
|
||||
sc.and(sc.entity().getType(), Op.EQ, Host.Type.Routing);
|
||||
List<HostVO> hosts = sc.list();
|
||||
if (hosts.isEmpty()) {
|
||||
s_logger.debug("There is no host in cluster " + clusterId + ", no need to prepare OCFS2 nodes");
|
||||
|
||||
@ -75,6 +75,7 @@ import com.cloud.exception.ResourceUnavailableException;
|
||||
import com.cloud.exception.StorageUnavailableException;
|
||||
import com.cloud.host.Host;
|
||||
import com.cloud.host.HostVO;
|
||||
import com.cloud.host.Status;
|
||||
import com.cloud.host.dao.HostDao;
|
||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||
import com.cloud.info.RunningHostCountInfo;
|
||||
@ -114,9 +115,8 @@ import com.cloud.utils.NumbersUtil;
|
||||
import com.cloud.utils.Pair;
|
||||
import com.cloud.utils.component.ManagerBase;
|
||||
import com.cloud.utils.db.GlobalLock;
|
||||
import com.cloud.utils.db.QueryBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.db.GenericQueryBuilder;
|
||||
import com.cloud.utils.events.SubscriptionMgr;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.utils.net.NetUtils;
|
||||
@ -420,9 +420,9 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
|
||||
SecStorageFirewallCfgCommand thiscpc = new SecStorageFirewallCfgCommand(true);
|
||||
thiscpc.addPortConfig(thisSecStorageVm.getPublicIpAddress(), copyPort, true, TemplateConstants.DEFAULT_TMPLT_COPY_INTF);
|
||||
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.SecondaryStorageVM);
|
||||
sc.addAnd(sc.getEntity().getStatus(), Op.IN, com.cloud.host.Status.Up, com.cloud.host.Status.Connecting);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
sc.and(sc.entity().getType(), Op.EQ,Host.Type.SecondaryStorageVM);
|
||||
sc.and(sc.entity().getStatus(), Op.IN, Status.Up, Status.Connecting);
|
||||
List<HostVO> ssvms = sc.list();
|
||||
for (HostVO ssvm : ssvms) {
|
||||
if (ssvm.getId() == ssAHostId) {
|
||||
@ -1345,12 +1345,12 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
|
||||
|
||||
@Override
|
||||
public List<HostVO> listUpAndConnectingSecondaryStorageVmHost(Long dcId) {
|
||||
GenericQueryBuilder<HostVO, HostVO> sc = GenericQueryBuilder.create(HostVO.class);
|
||||
QueryBuilder<HostVO> sc = QueryBuilder.create(HostVO.class);
|
||||
if (dcId != null) {
|
||||
sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId);
|
||||
sc.and(sc.entity().getDataCenterId(), Op.EQ,dcId);
|
||||
}
|
||||
sc.addAnd(sc.getEntity().getState(), Op.IN, com.cloud.host.Status.Up, com.cloud.host.Status.Connecting);
|
||||
sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.SecondaryStorageVM);
|
||||
sc.and(sc.entity().getState(), Op.IN, Status.Up, Status.Connecting);
|
||||
sc.and(sc.entity().getType(), Op.EQ,Host.Type.SecondaryStorageVM);
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user