From e8cac2c5d8b9fa8d1aac2aedc4ad473534f43ad8 Mon Sep 17 00:00:00 2001 From: Alex Huang Date: Fri, 27 Sep 2013 16:57:25 -0700 Subject: [PATCH] Changed SearchCriteria2 to GenericQueryBuilder to reflect the same placement --- .../cloud/network/VirtualRouterProvider.java | 4 +- .../element/VirtualRouterElementService.java | 4 +- .../router/CreateVirtualRouterElementCmd.java | 14 +- .../cloud/agent/manager/AgentManagerImpl.java | 4 +- .../manager/ClusteredAgentManagerImpl.java | 19 +- .../ClusterBasedAgentLoadBalancerPlanner.java | 22 +- .../dc/dao/StorageNetworkIpRangeDaoImpl.java | 6 +- .../network/dao/VirtualRouterProviderDao.java | 10 +- .../dao/VirtualRouterProviderDaoImpl.java | 10 +- .../element/VirtualRouterProviderVO.java | 8 +- .../com/cloud/user/AccountDetailsDaoImpl.java | 6 +- .../datastore/db/PrimaryDataStoreDaoImpl.java | 21 +- .../manager/StorageCacheManagerImpl.java | 61 +-- .../StorageCacheReplacementAlgorithmLRU.java | 66 +-- .../storage/snapshot/SnapshotObject.java | 109 ++--- .../endpoint/DefaultEndPointSelector.java | 16 +- .../db/TemplatePrimaryDataStoreDaoImpl.java | 10 +- .../cloud/utils/db/GenericQueryBuilder.java | 67 +--- .../cloud/utils/db/GenericSearchBuilder.java | 45 +++ .../BareMetalPingServiceImpl.java | 4 +- .../networkservice/BaremetalDhcpElement.java | 35 +- .../BaremetalDhcpManagerImpl.java | 2 +- .../BaremetalKickStartServiceImpl.java | 4 +- .../networkservice/BaremetalPxeElement.java | 2 +- .../BaremetalPxeManagerImpl.java | 2 +- .../cloud/ovm/hypervisor/OvmDiscoverer.java | 378 ++++++++---------- .../com/cloud/ucs/manager/UcsManagerImpl.java | 14 +- .../xen/discoverer/XcpServerDiscoverer.java | 2 +- .../lb/ElasticLoadBalancerManagerImpl.java | 4 +- .../element/InternalLoadBalancerElement.java | 27 +- .../lb/InternalLoadBalancerVMManagerImpl.java | 6 +- .../InternalLbElementServiceTest.java | 8 +- .../InternalLbElementTest.java | 16 +- .../src/com/cloud/api/ApiResponseHelper.java | 6 +- .../consoleproxy/ConsoleProxyManagerImpl.java | 4 +- .../cloud/ha/AbstractInvestigatorImpl.java | 18 +- .../com/cloud/network/NetworkServiceImpl.java | 6 +- .../network/StorageNetworkManagerImpl.java | 2 +- .../network/element/VirtualRouterElement.java | 127 +++--- .../element/VpcVirtualRouterElement.java | 10 +- .../VirtualNetworkApplianceManagerImpl.java | 8 +- ...VpcVirtualNetworkApplianceManagerImpl.java | 8 +- .../cloud/resource/ResourceManagerImpl.java | 85 ++-- .../com/cloud/storage/OCFS2ManagerImpl.java | 8 +- .../SecondaryStorageManagerImpl.java | 18 +- 45 files changed, 642 insertions(+), 664 deletions(-) diff --git a/api/src/com/cloud/network/VirtualRouterProvider.java b/api/src/com/cloud/network/VirtualRouterProvider.java index f67686e6b08..02efb93db5a 100644 --- a/api/src/com/cloud/network/VirtualRouterProvider.java +++ b/api/src/com/cloud/network/VirtualRouterProvider.java @@ -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(); diff --git a/api/src/com/cloud/network/element/VirtualRouterElementService.java b/api/src/com/cloud/network/element/VirtualRouterElementService.java index ea971b89c5d..b0db3d9bce2 100644 --- a/api/src/com/cloud/network/element/VirtualRouterElementService.java +++ b/api/src/com/cloud/network/element/VirtualRouterElementService.java @@ -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 searchForVirtualRouterElement(ListVirtualRouterElementsCmd cmd); } diff --git a/api/src/org/apache/cloudstack/api/command/admin/router/CreateVirtualRouterElementCmd.java b/api/src/org/apache/cloudstack/api/command/admin/router/CreateVirtualRouterElementCmd.java index 66c8ae5cb74..35da69778f3 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/router/CreateVirtualRouterElementCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/router/CreateVirtualRouterElementCmd.java @@ -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; } ///////////////////////////////////////////////////// diff --git a/engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java b/engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java index 4e117723c8e..9c187535794 100755 --- a/engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java +++ b/engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java @@ -1449,7 +1449,7 @@ public class AgentManagerImpl extends ManagerBase implements AgentManager, Handl List behindAgents = findAgentsBehindOnPing(); for (Long agentId : behindAgents) { GenericQueryBuilder 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 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 hosts = sc.list(); for (HostVO host : hosts) { diff --git a/engine/orchestration/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java b/engine/orchestration/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java index 3fcd65669cc..76e1d8e33b6 100755 --- a/engine/orchestration/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java +++ b/engine/orchestration/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java @@ -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 allMS = _mshostDao.listBy(ManagementServerHost.State.Up); - GenericQueryBuilder sc = GenericQueryBuilder.create(HostVO.class); - sc.addAnd(sc.getEntity().getManagementServerId(), Op.NNULL); - sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.Routing); + QueryBuilder sc = QueryBuilder.create(HostVO.class); + sc.and(sc.entity().getManagementServerId(), Op.NNULL); + sc.and(sc.entity().getType(), Op.EQ, Host.Type.Routing); List 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 sc = GenericQueryBuilder.create(HostVO.class); - sc.addAnd(sc.getEntity().getManagementServerId(), Op.NNULL); - sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.Routing); + QueryBuilder sc = QueryBuilder.create(HostVO.class); + sc.and(sc.entity().getManagementServerId(), Op.NNULL); + sc.and(sc.entity().getType(), Op.EQ, Host.Type.Routing); List 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 allAgents = sc.list(); double allHostsCount = allAgents.size(); double managedHostsCount = allManagedRoutingAgents.size(); diff --git a/engine/orchestration/src/com/cloud/cluster/agentlb/ClusterBasedAgentLoadBalancerPlanner.java b/engine/orchestration/src/com/cloud/cluster/agentlb/ClusterBasedAgentLoadBalancerPlanner.java index 429e82489ea..1d744b79228 100755 --- a/engine/orchestration/src/com/cloud/cluster/agentlb/ClusterBasedAgentLoadBalancerPlanner.java +++ b/engine/orchestration/src/com/cloud/cluster/agentlb/ClusterBasedAgentLoadBalancerPlanner.java @@ -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 getHostsToRebalance(long msId, int avLoad) { - GenericQueryBuilder sc = GenericQueryBuilder.create(HostVO.class); - sc.addAnd(sc.getEntity().getType(), Op.EQ, Host.Type.Routing); - sc.addAnd(sc.getEntity().getManagementServerId(), Op.EQ, msId); + QueryBuilder sc = QueryBuilder.create(HostVO.class); + sc.and(sc.entity().getType(), Op.EQ, Host.Type.Routing); + sc.and(sc.entity().getManagementServerId(), Op.EQ, msId); List allHosts = sc.list(); if (allHosts.size() <= avLoad) { @@ -59,15 +57,15 @@ 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 directHosts = sc.list(); if (directHosts.isEmpty()) { s_logger.debug("No direct agents in status " + Status.Up + " exist for the management server " + msId + "; so it doesn't participate in agent rebalancing process"); return null; - } + } Map> hostToClusterMap = new HashMap>(); @@ -91,7 +89,7 @@ public class ClusterBasedAgentLoadBalancerPlanner extends AdapterBase implements int hostsLeft = directHosts.size(); List hostsToReturn = new ArrayList(); - s_logger.debug("Management server " + msId + " can give away " + hostsToGive + " as it currently owns " + allHosts.size() + + s_logger.debug("Management server " + msId + " can give away " + hostsToGive + " as it currently owns " + allHosts.size() + " and the average agent load in the system is " + avLoad + "; finalyzing list of hosts to give away..."); for (Long cluster : hostToClusterMap.keySet()) { List hostsInCluster = hostToClusterMap.get(cluster); @@ -105,7 +103,7 @@ public class ClusterBasedAgentLoadBalancerPlanner extends AdapterBase implements continue; } else { break; - } + } } else { s_logger.debug("Taking all " + hostsInCluster.size() + " hosts: " + hostsInCluster + " from cluster id=" + cluster); hostsToReturn.addAll(hostsInCluster); diff --git a/engine/schema/src/com/cloud/dc/dao/StorageNetworkIpRangeDaoImpl.java b/engine/schema/src/com/cloud/dc/dao/StorageNetworkIpRangeDaoImpl.java index 04bac512465..f57acce1080 100755 --- a/engine/schema/src/com/cloud/dc/dao/StorageNetworkIpRangeDaoImpl.java +++ b/engine/schema/src/com/cloud/dc/dao/StorageNetworkIpRangeDaoImpl.java @@ -51,21 +51,21 @@ public class StorageNetworkIpRangeDaoImpl extends GenericDaoBase listByPodId(long podId) { GenericQueryBuilder 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 listByRangeId(long rangeId) { GenericQueryBuilder 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 listByDataCenterId(long dcId) { GenericQueryBuilder sc = GenericQueryBuilder.create(StorageNetworkIpRangeVO.class); - sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId); + sc.and(sc.entity().getDataCenterId(), Op.EQ, dcId); return sc.list(); } diff --git a/engine/schema/src/com/cloud/network/dao/VirtualRouterProviderDao.java b/engine/schema/src/com/cloud/network/dao/VirtualRouterProviderDao.java index d929293c56d..70d71308904 100644 --- a/engine/schema/src/com/cloud/network/dao/VirtualRouterProviderDao.java +++ b/engine/schema/src/com/cloud/network/dao/VirtualRouterProviderDao.java @@ -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 { - public VirtualRouterProviderVO findByNspIdAndType(long nspId, VirtualRouterProviderType type); - public List listByEnabledAndType(boolean enabled, VirtualRouterProviderType type); - public VirtualRouterProviderVO findByIdAndEnabledAndType(long id, boolean enabled, VirtualRouterProviderType type); - public List listByType(VirtualRouterProviderType type); + public VirtualRouterProviderVO findByNspIdAndType(long nspId, Type type); + public List listByEnabledAndType(boolean enabled, Type type); + public VirtualRouterProviderVO findByIdAndEnabledAndType(long id, boolean enabled, Type type); + public List listByType(Type type); } diff --git a/engine/schema/src/com/cloud/network/dao/VirtualRouterProviderDaoImpl.java b/engine/schema/src/com/cloud/network/dao/VirtualRouterProviderDaoImpl.java index dba835f9e1c..1c5d27e265f 100644 --- a/engine/schema/src/com/cloud/network/dao/VirtualRouterProviderDaoImpl.java +++ b/engine/schema/src/com/cloud/network/dao/VirtualRouterProviderDaoImpl.java @@ -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 sc = AllFieldsSearch.create(); sc.setParameters("nsp_id", nspId); sc.setParameters("type", type); @@ -54,7 +54,7 @@ public class VirtualRouterProviderDaoImpl extends GenericDaoBase listByEnabledAndType(boolean enabled, VirtualRouterProviderType type) { + public List listByEnabledAndType(boolean enabled, Type type) { SearchCriteria sc = AllFieldsSearch.create(); sc.setParameters("enabled", enabled); sc.setParameters("type", type); @@ -62,7 +62,7 @@ public class VirtualRouterProviderDaoImpl extends GenericDaoBase sc = AllFieldsSearch.create(); sc.setParameters("id", id); sc.setParameters("enabled", enabled); @@ -71,7 +71,7 @@ public class VirtualRouterProviderDaoImpl extends GenericDaoBase listByType(VirtualRouterProviderType type) { + public List listByType(Type type) { SearchCriteria sc = AllFieldsSearch.create(); sc.setParameters("type", type); return listBy(sc); diff --git a/engine/schema/src/com/cloud/network/element/VirtualRouterProviderVO.java b/engine/schema/src/com/cloud/network/element/VirtualRouterProviderVO.java index ff2b6210504..62a25c1bc05 100644 --- a/engine/schema/src/com/cloud/network/element/VirtualRouterProviderVO.java +++ b/engine/schema/src/com/cloud/network/element/VirtualRouterProviderVO.java @@ -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; } diff --git a/engine/schema/src/com/cloud/user/AccountDetailsDaoImpl.java b/engine/schema/src/com/cloud/user/AccountDetailsDaoImpl.java index 1d47fb6282d..81ae6368407 100755 --- a/engine/schema/src/com/cloud/user/AccountDetailsDaoImpl.java +++ b/engine/schema/src/com/cloud/user/AccountDetailsDaoImpl.java @@ -47,7 +47,7 @@ public class AccountDetailsDaoImpl extends GenericDaoBase @Override public Map findDetails(long accountId) { GenericQueryBuilder sc = GenericQueryBuilder.create(AccountDetailVO.class); - sc.addAnd(sc.getEntity().getAccountId(), Op.EQ, accountId); + sc.and(sc.entity().getAccountId(), Op.EQ, accountId); List results = sc.list(); Map details = new HashMap(results.size()); for (AccountDetailVO r : results) { @@ -73,8 +73,8 @@ public class AccountDetailsDaoImpl extends GenericDaoBase @Override public AccountDetailVO findDetail(long accountId, String name) { GenericQueryBuilder 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(); } diff --git a/engine/schema/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java b/engine/schema/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java index ccf9a1f93f1..54a107b5a92 100644 --- a/engine/schema/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java +++ b/engine/schema/src/org/apache/cloudstack/storage/datastore/db/PrimaryDataStoreDaoImpl.java @@ -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 public List findZoneWideStoragePoolsByTags(long dcId, String[] tags) { List storagePools = null; if (tags == null || tags.length == 0) { - GenericQueryBuilder 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 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 details = tagsToDetails(tags); @@ -421,11 +420,11 @@ public class PrimaryDataStoreDaoImpl extends GenericDaoBase @Override public List findZoneWideStoragePoolsByHypervisor(long dataCenterId, HypervisorType hypervisorType) { - GenericQueryBuilder 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 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(); } } diff --git a/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheManagerImpl.java b/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheManagerImpl.java index e869714783d..7f335c53315 100644 --- a/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheManagerImpl.java +++ b/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheManagerImpl.java @@ -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 getCacheStores() { - GenericQueryBuilder sc = GenericQueryBuilder.create(ImageStoreVO.class); - sc.addAnd(sc.getEntity().getRole(), SearchCriteria.Op.EQ, DataStoreRole.ImageCache); + QueryBuilder sc = QueryBuilder.create(ImageStoreVO.class); + sc.and(sc.entity().getRole(), SearchCriteria.Op.EQ,DataStoreRole.ImageCache); List imageStoreVOs = sc.list(); List stores = new ArrayList(); 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; diff --git a/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheReplacementAlgorithmLRU.java b/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheReplacementAlgorithmLRU.java index c59b0604b93..fc96a0da5ea 100644 --- a/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheReplacementAlgorithmLRU.java +++ b/engine/storage/cache/src/org/apache/cloudstack/storage/cache/manager/StorageCacheReplacementAlgorithmLRU.java @@ -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 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 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 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 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 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 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); diff --git a/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotObject.java b/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotObject.java index dcdc9382800..3f35e1dd5bc 100644 --- a/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotObject.java +++ b/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotObject.java @@ -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 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 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 diff --git a/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java b/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java index 118db802060..fdc12bf1cee 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java +++ b/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java @@ -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 listUpAndConnectingSecondaryStorageVmHost(Long dcId) { - GenericQueryBuilder sc = GenericQueryBuilder.create(HostVO.class); + QueryBuilder 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 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 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 hosts = sc.list(); for (HostVO host : hosts) { endPoints.add(RemoteHostEndPoint.getHypervisorHostEndPoint(host.getId(), host.getPrivateIpAddress(), diff --git a/engine/storage/src/org/apache/cloudstack/storage/volume/db/TemplatePrimaryDataStoreDaoImpl.java b/engine/storage/src/org/apache/cloudstack/storage/volume/db/TemplatePrimaryDataStoreDaoImpl.java index 20bc7095149..456471bb93c 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/volume/db/TemplatePrimaryDataStoreDaoImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/volume/db/TemplatePrimaryDataStoreDaoImpl.java @@ -52,8 +52,8 @@ public class TemplatePrimaryDataStoreDaoImpl extends GenericDaoBase 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 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(); } diff --git a/framework/db/src/com/cloud/utils/db/GenericQueryBuilder.java b/framework/db/src/com/cloud/utils/db/GenericQueryBuilder.java index 1dabbf81a48..8581d80dc63 100755 --- a/framework/db/src/com/cloud/utils/db/GenericQueryBuilder.java +++ b/framework/db/src/com/cloud/utils/db/GenericQueryBuilder.java @@ -66,23 +66,21 @@ public class GenericQueryBuilder extends SearchBase { _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 list() { finalize(); - SearchCriteria sc1 = create(); if (isSelectAll()) { + @SuppressWarnings("rawtypes") + SearchCriteria sc1 = create(); return (List)_dao.search(sc1, null); } else { + SearchCriteria sc1 = create(); return _dao.customSearch(sc1, null); } } @@ -91,60 +89,13 @@ public class GenericQueryBuilder extends SearchBase { 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 builder; - Condition condition; - - protected Preset(GenericQueryBuilder builder, Condition condition) { - this.builder = builder; - this.condition = condition; - } - - public GenericQueryBuilder 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; - } - } } diff --git a/framework/db/src/com/cloud/utils/db/GenericSearchBuilder.java b/framework/db/src/com/cloud/utils/db/GenericSearchBuilder.java index 16c77f1205e..8e46c30ebf7 100755 --- a/framework/db/src/com/cloud/utils/db/GenericSearchBuilder.java +++ b/framework/db/src/com/cloud/utils/db/GenericSearchBuilder.java @@ -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 extends SearchBase { 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 and() { constructCondition(null, " AND ", null, null); return this; @@ -153,6 +159,10 @@ public class GenericSearchBuilder extends SearchBase { return and(name, useless, op); } + public Preset where(Object useless, Op op) { + return and(useless, op); + } + public GenericSearchBuilder left(String name, Object useless, Op op) { constructCondition(name, " ( ", _specifiedAttrs.get(0), op); return this; @@ -163,10 +173,19 @@ public class GenericSearchBuilder extends SearchBase { 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 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 op(String name, Object useless, Op op) { return left(name, useless, op); } @@ -179,6 +198,10 @@ public class GenericSearchBuilder extends SearchBase { return left(name, useless, op); } + public Preset openParen(Object useless, Op op) { + return left(useless, op); + } + public GroupBy, T, K> groupBy(Object... useless) { assert _groupBy == null : "Can't do more than one group bys"; GroupBy, T, K> groupBy = new GroupBy, T, K>(this); @@ -205,6 +228,11 @@ public class GenericSearchBuilder extends SearchBase { 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 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 extends SearchBase { super.finalize(); } + public class Preset { + GenericSearchBuilder builder; + Condition condition; + + protected Preset(GenericSearchBuilder builder, Condition condition) { + this.builder = builder; + this.condition = condition; + } + + public GenericSearchBuilder 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; + } + } } diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BareMetalPingServiceImpl.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BareMetalPingServiceImpl.java index 783755d2fde..c8a178e6a41 100755 --- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BareMetalPingServiceImpl.java +++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BareMetalPingServiceImpl.java @@ -85,8 +85,8 @@ public class BareMetalPingServiceImpl extends BareMetalPxeServiceBase implements @Override public boolean prepare(VirtualMachineProfile profile, NicProfile pxeNic, DeployDestination dest, ReservationContext context) { GenericQueryBuilder 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"); diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java index 5459918b14a..6cf94f2db94 100755 --- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java +++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java @@ -5,19 +5,28 @@ // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at -// +// // http://www.apache.org/licenses/LICENSE-2.0 -// +// // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. -// +// // 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 sc = GenericQueryBuilder.create(BaremetalDhcpVO.class); - sc.addAnd(sc.getEntity().getPodId(), Op.EQ, pod.getId()); + QueryBuilder 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())) { diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManagerImpl.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManagerImpl.java index 9ab714dfe88..930ca1bf609 100755 --- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManagerImpl.java +++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManagerImpl.java @@ -313,7 +313,7 @@ public class BaremetalDhcpManagerImpl extends ManagerBase implements BaremetalDh GenericQueryBuilder 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 vos = sc.list(); diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalKickStartServiceImpl.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalKickStartServiceImpl.java index b4af709965f..661f39134c7 100755 --- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalKickStartServiceImpl.java +++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalKickStartServiceImpl.java @@ -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 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"); diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeElement.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeElement.java index 3e0572ad0e7..f869fe65461 100755 --- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeElement.java +++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeElement.java @@ -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 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; } diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java index 16147562156..ae3898bc315 100755 --- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java +++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java @@ -223,7 +223,7 @@ public class BaremetalPxeManagerImpl extends ManagerBase implements BaremetalPxe GenericQueryBuilder 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"); diff --git a/plugins/hypervisors/ovm/src/com/cloud/ovm/hypervisor/OvmDiscoverer.java b/plugins/hypervisors/ovm/src/com/cloud/ovm/hypervisor/OvmDiscoverer.java index d8b83109359..eba7ae56ef6 100755 --- a/plugins/hypervisors/ovm/src/com/cloud/ovm/hypervisor/OvmDiscoverer.java +++ b/plugins/hypervisors/ovm/src/com/cloud/ovm/hypervisor/OvmDiscoverer.java @@ -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,244 +48,214 @@ 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); - protected String _publicNetworkDevice; - protected String _privateNetworkDevice; - protected String _guestNetworkDevice; +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; - @Inject - ClusterDao _clusterDao; - @Inject - ResourceManager _resourceMgr; + @Inject + ClusterDao _clusterDao; + @Inject + ResourceManager _resourceMgr; - @Override - public boolean configure(String name, Map 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); - return true; - } + @Override + public boolean configure(String name, Map 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); + return true; + } - protected OvmDiscoverer() { - } + protected OvmDiscoverer() { + } - @Override - public boolean stop() { - _resourceMgr.unregisterResourceStateAdapter(this.getClass() - .getSimpleName()); - return super.stop(); - } + @Override + public boolean stop() { + _resourceMgr.unregisterResourceStateAdapter(this.getClass().getSimpleName()); + return super.stop(); + } - private boolean checkIfExisted(String guid) { - GenericQueryBuilder sc = GenericQueryBuilder.create(HostVO.class); - sc.addAnd(sc.getEntity().getGuid(), SearchCriteria.Op.EQ, guid); - sc.addAnd(sc.getEntity().getHypervisorType(), SearchCriteria.Op.EQ, - HypervisorType.Ovm); - List hosts = sc.list(); - return !hosts.isEmpty(); - } + private boolean checkIfExisted(String guid) { + QueryBuilder 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 hosts = sc.list(); + return !hosts.isEmpty(); + } - @Override - public Map> find(long dcId, - Long podId, Long clusterId, URI url, String username, - String password, List hostTags) throws DiscoveryException { - Connection conn = null; + @Override + public Map> find(long dcId, Long podId, Long clusterId, URI url, String username, String password, List 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; - s_logger.debug(msg); - return null; - } - if (clusterId == null) { - String msg = "must specify cluster Id when add host"; - s_logger.debug(msg); - throw new CloudRuntimeException(msg); - } + if (!url.getScheme().equals("http")) { + String msg = "urlString is not http so we're not taking care of the discovery for this: " + url; + s_logger.debug(msg); + return null; + } + if (clusterId == null) { + String msg = "must specify cluster Id when add host"; + s_logger.debug(msg); + throw new CloudRuntimeException(msg); + } - if (podId == null) { - String msg = "must specify pod Id when add host"; - s_logger.debug(msg); - throw new CloudRuntimeException(msg); - } + if (podId == null) { + String msg = "must specify pod Id when add host"; + s_logger.debug(msg); + throw new CloudRuntimeException(msg); + } - ClusterVO cluster = _clusterDao.findById(clusterId); - 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; - } + ClusterVO cluster = _clusterDao.findById(clusterId); + 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; + } - String agentUsername = _params.get("agentusername"); - if (agentUsername == null) { - throw new CloudRuntimeException("Agent user name must be specified"); - } + String agentUsername = _params.get("agentusername"); + if (agentUsername == null) { + throw new CloudRuntimeException("Agent user name must be specified"); + } - String agentPassword = _params.get("agentpassword"); - if (agentPassword == null) { - throw new CloudRuntimeException("Agent password must be specified"); - } + String agentPassword = _params.get("agentpassword"); + if (agentPassword == null) { + throw new CloudRuntimeException("Agent password must be specified"); + } - try { - String hostname = url.getHost(); - InetAddress ia = InetAddress.getByName(hostname); - String hostIp = ia.getHostAddress(); - String guid = UUID.nameUUIDFromBytes(hostIp.getBytes()).toString(); + try { + String hostname = url.getHost(); + InetAddress ia = InetAddress.getByName(hostname); + String hostIp = ia.getHostAddress(); + String guid = UUID.nameUUIDFromBytes(hostIp.getBytes()).toString(); - if (checkIfExisted(guid)) { - throw new CloudRuntimeException("The host " + hostIp - + " has been added before"); - } + if (checkIfExisted(guid)) { + 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) { - clu.setGuid(UUID.randomUUID().toString()); - _clusterDao.update(clusterId, clu); - } + ClusterVO clu = _clusterDao.findById(clusterId); + if (clu.getGuid() == null) { + clu.setGuid(UUID.randomUUID().toString()); + _clusterDao.update(clusterId, clu); + } - com.trilead.ssh2.Connection sshConnection = new com.trilead.ssh2.Connection( - hostIp, 22); - sshConnection.connect(null, 60000, 60000); - 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)); - } + com.trilead.ssh2.Connection sshConnection = new com.trilead.ssh2.Connection(hostIp, 22); + sshConnection.connect(null, 60000, 60000); + 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)); + } - 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 details = new HashMap(); - OvmResourceBase ovmResource = new OvmResourceBase(); - details.put("ip", hostIp); - details.put("username", username); - details.put("password", password); - details.put("zone", Long.toString(dcId)); - details.put("guid", guid); - details.put("pod", Long.toString(podId)); - details.put("cluster", Long.toString(clusterId)); - details.put("agentusername", agentUsername); - details.put("agentpassword", agentPassword); - if (_publicNetworkDevice != null) { - details.put("public.network.device", _publicNetworkDevice); - } - if (_privateNetworkDevice != null) { - details.put("private.network.device", _privateNetworkDevice); - } - if (_guestNetworkDevice != null) { - details.put("guest.network.device", _guestNetworkDevice); - } + Map details = new HashMap(); + OvmResourceBase ovmResource = new OvmResourceBase(); + details.put("ip", hostIp); + details.put("username", username); + details.put("password", password); + details.put("zone", Long.toString(dcId)); + details.put("guid", guid); + details.put("pod", Long.toString(podId)); + details.put("cluster", Long.toString(clusterId)); + details.put("agentusername", agentUsername); + details.put("agentpassword", agentPassword); + if (_publicNetworkDevice != null) { + details.put("public.network.device", _publicNetworkDevice); + } + if (_privateNetworkDevice != null) { + details.put("private.network.device", _privateNetworkDevice); + } + if (_guestNetworkDevice != null) { + details.put("guest.network.device", _guestNetworkDevice); + } - Map params = new HashMap(); - params.putAll(details); - ovmResource.configure("Ovm Server", params); - ovmResource.start(); + Map params = new HashMap(); + params.putAll(details); + ovmResource.configure("Ovm Server", params); + ovmResource.start(); - conn = new Connection(hostIp, "oracle", agentPassword); - /* After resource start, we are able to execute our agent api */ - OvmHost.Details d = OvmHost.getDetails(conn); - details.put("agentVersion", d.agentVersion); - details.put(HostInfo.HOST_OS_KERNEL_VERSION, d.dom0KernelVersion); - details.put(HostInfo.HYPERVISOR_VERSION, d.hypervisorVersion); + conn = new Connection(hostIp, "oracle", agentPassword); + /* After resource start, we are able to execute our agent api */ + OvmHost.Details d = OvmHost.getDetails(conn); + details.put("agentVersion", d.agentVersion); + details.put(HostInfo.HOST_OS_KERNEL_VERSION, d.dom0KernelVersion); + details.put(HostInfo.HYPERVISOR_VERSION, d.hypervisorVersion); - Map> resources = new HashMap>(); - resources.put(ovmResource, details); - return resources; - } catch (XmlRpcException 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); - return null; - } catch (ConfigurationException 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); - return null; - } - } + Map> resources = new HashMap>(); + resources.put(ovmResource, details); + return resources; + } catch (XmlRpcException 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); + return null; + } catch (ConfigurationException 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); + return null; + } + } - @Override - public void postDiscovery(List hosts, long msId) - throws DiscoveryException { - // TODO Auto-generated method stub + @Override + public void postDiscovery(List hosts, long msId) throws DiscoveryException { + // TODO Auto-generated method stub - } + } - @Override - public boolean matchHypervisor(String hypervisor) { - return HypervisorType.Ovm.toString().equalsIgnoreCase(hypervisor); - } + @Override + public boolean matchHypervisor(String hypervisor) { + return HypervisorType.Ovm.toString().equalsIgnoreCase(hypervisor); + } - @Override - public HypervisorType getHypervisorType() { - return HypervisorType.Ovm; - } + @Override + public HypervisorType getHypervisorType() { + return HypervisorType.Ovm; + } - @Override - public HostVO createHostVOForConnectedAgent(HostVO host, - StartupCommand[] cmd) { - // TODO Auto-generated method stub - return null; - } + @Override + 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 details, List hostTags) { - StartupCommand firstCmd = startup[0]; - if (!(firstCmd instanceof StartupRoutingCommand)) { - return null; - } + @Override + public HostVO createHostVOForDirectConnectAgent(HostVO host, StartupCommand[] startup, ServerResource resource, Map details, List hostTags) { + StartupCommand firstCmd = startup[0]; + if (!(firstCmd instanceof StartupRoutingCommand)) { + return null; + } - StartupRoutingCommand ssCmd = ((StartupRoutingCommand) firstCmd); - if (ssCmd.getHypervisorType() != HypervisorType.Ovm) { - return null; - } + 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) { - return null; - } + @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) { + return null; + } - _resourceMgr.deleteRoutingHost(host, isForced, isForceDeleteStorage); - return new DeleteHostAnswer(true); - } + _resourceMgr.deleteRoutingHost(host, isForced, isForceDeleteStorage); + return new DeleteHostAnswer(true); + } } diff --git a/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java b/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java index bc22ba6c080..dec4a79a425 100755 --- a/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java +++ b/plugins/hypervisors/ucs/src/com/cloud/ucs/manager/UcsManagerImpl.java @@ -133,7 +133,7 @@ public class UcsManagerImpl implements UcsManager { private void syncBlades(UcsManagerVO mgr) { GenericQueryBuilder q = GenericQueryBuilder.create(UcsBladeVO.class); - q.addAnd(q.getEntity().getUcsManagerId(), Op.EQ, mgr.getId()); + q.and(q.entity().getUcsManagerId(), Op.EQ, mgr.getId()); List pblades = q.list(); if (pblades.isEmpty()) { return; @@ -211,7 +211,7 @@ public class UcsManagerImpl implements UcsManager { @DB public UcsManagerResponse addUcsManager(AddUcsManagerCmd cmd) { GenericQueryBuilder 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 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 serv = GenericQueryBuilder.create(UcsManagerVO.class); - serv.addAnd(serv.getEntity().getZoneId(), Op.EQ, cmd.getZoneId()); + serv.and(serv.entity().getZoneId(), Op.EQ, cmd.getZoneId()); List vos = serv.list(); for (UcsManagerVO vo : vos) { @@ -455,7 +455,7 @@ public class UcsManagerImpl implements UcsManager { @Override public ListResponse listUcsBlades(ListUcsBladeCmd cmd) { GenericQueryBuilder serv = GenericQueryBuilder.create(UcsBladeVO.class); - serv.addAnd(serv.getEntity().getUcsManagerId(), Op.EQ, cmd.getUcsManagerId()); + serv.and(serv.entity().getUcsManagerId(), Op.EQ, cmd.getUcsManagerId()); List vos = serv.list(); List rsps = new ArrayList(vos.size()); @@ -510,7 +510,7 @@ public class UcsManagerImpl implements UcsManager { @Override public void deleteUcsManager(Long id) { GenericQueryBuilder serv = GenericQueryBuilder.create(UcsBladeVO.class); - serv.addAnd(serv.getEntity().getUcsManagerId(), Op.EQ, id); + serv.and(serv.entity().getUcsManagerId(), Op.EQ, id); List vos = serv.list(); for (UcsBladeVO vo : vos) { bladeDao.remove(vo.getId()); diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java index 202b3405ead..bb357cabd64 100755 --- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java +++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java @@ -127,7 +127,7 @@ public class XcpServerDiscoverer extends DiscovererBase implements Discoverer, L _clusterDao.update(cluster.getId(), cluster); } catch (EntityExistsException e) { GenericQueryBuilder sc = GenericQueryBuilder.create(ClusterVO.class); - sc.addAnd(sc.getEntity().getGuid(), Op.EQ, guid); + sc.and(sc.entity().getGuid(), Op.EQ, guid); List clusters = sc.list(); ClusterVO clu = clusters.get(0); List clusterHosts = _resourceMgr.listAllHostsInCluster(clu.getId()); diff --git a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java index ecd6006edad..6b719eb1476 100644 --- a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java +++ b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java @@ -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()); } diff --git a/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/element/InternalLoadBalancerElement.java b/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/element/InternalLoadBalancerElement.java index 35b4d52f268..7080ca34106 100644 --- a/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/element/InternalLoadBalancerElement.java +++ b/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/element/InternalLoadBalancerElement.java @@ -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 searchForInternalLoadBalancerElements(Long id, Long ntwkSvsProviderId, Boolean enabled) { - GenericQueryBuilder sc = GenericQueryBuilder.create(VirtualRouterProviderVO.class); + QueryBuilder 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(); } diff --git a/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java b/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java index 587ae993553..5da6e022906 100644 --- a/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java +++ b/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java @@ -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()); diff --git a/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbelement/InternalLbElementServiceTest.java b/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbelement/InternalLbElementServiceTest.java index bdc50cafb8c..7a47af9c4c5 100644 --- a/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbelement/InternalLbElementServiceTest.java +++ b/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbelement/InternalLbElementServiceTest.java @@ -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!"); diff --git a/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbelement/InternalLbElementTest.java b/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbelement/InternalLbElementTest.java index 7af679649fe..f170fee28e1 100644 --- a/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbelement/InternalLbElementTest.java +++ b/plugins/network-elements/internal-loadbalancer/test/org/apache/cloudstack/internallbelement/InternalLbElementTest.java @@ -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!"); diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index 1ba55bfb56a..f4ca112936a 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -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(); diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index 8ad553adcd0..b6b9bb5114c 100755 --- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -1694,8 +1694,8 @@ VirtualMachineGuru, SystemVmLoadScanHandler, ResourceStateAdapter { protected HostVO findConsoleProxyHostByName(String name) { GenericQueryBuilder 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(); } diff --git a/server/src/com/cloud/ha/AbstractInvestigatorImpl.java b/server/src/com/cloud/ha/AbstractInvestigatorImpl.java index c64d2ec9e0d..e5513868765 100755 --- a/server/src/com/cloud/ha/AbstractInvestigatorImpl.java +++ b/server/src/com/cloud/ha/AbstractInvestigatorImpl.java @@ -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 findHostByPod(long podId, Long excludeHostId) { - GenericQueryBuilder 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 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 hosts = sc.list(); List hostIds = new ArrayList(hosts.size()); diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java b/server/src/com/cloud/network/NetworkServiceImpl.java index 4dbf48693f0..598b31c7bfe 100755 --- a/server/src/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/com/cloud/network/NetworkServiceImpl.java @@ -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; } diff --git a/server/src/com/cloud/network/StorageNetworkManagerImpl.java b/server/src/com/cloud/network/StorageNetworkManagerImpl.java index 5d6fd62d55f..2c6414e1097 100755 --- a/server/src/com/cloud/network/StorageNetworkManagerImpl.java +++ b/server/src/com/cloud/network/StorageNetworkManagerImpl.java @@ -340,7 +340,7 @@ public class StorageNetworkManagerImpl extends ManagerBase implements StorageNet @Override public boolean isStorageIpRangeAvailable(long zoneId) { GenericQueryBuilder sc = GenericQueryBuilder.create(StorageNetworkIpRangeVO.class); - sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, zoneId); + sc.and(sc.entity().getDataCenterId(), Op.EQ, zoneId); List entries = sc.list(); return entries.size() > 0; } diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java b/server/src/com/cloud/network/element/VirtualRouterElement.java index 00d52bffbae..0cd3bcf6db0 100755 --- a/server/src/com/cloud/network/element/VirtualRouterElement.java +++ b/server/src/com/cloud/network/element/VirtualRouterElement.java @@ -5,7 +5,7 @@ // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at -// +// // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, @@ -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,19 +91,16 @@ 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, +@Local(value = {NetworkElement.class, FirewallServiceProvider.class, + DhcpServiceProvider.class, UserDataServiceProvider.class, StaticNatServiceProvider.class, LoadBalancingServiceProvider.class, PortForwardingServiceProvider.class, IpDeployer.class, RemoteAccessVPNServiceProvider.class, NetworkMigrationResponder.class} ) -public class VirtualRouterElement extends AdapterBase implements VirtualRouterElementService, DhcpServiceProvider, +public class VirtualRouterElement extends AdapterBase implements VirtualRouterElementService, DhcpServiceProvider, UserDataServiceProvider, SourceNatServiceProvider, StaticNatServiceProvider, FirewallServiceProvider, LoadBalancingServiceProvider, PortForwardingServiceProvider, RemoteAccessVPNServiceProvider, IpDeployer, NetworkMigrationResponder { @@ -166,7 +163,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl } } else { if (!_networkMgr.isProviderSupportServiceInNetwork(network.getId(), service, getProvider())) { - s_logger.trace("Element " + getProvider().getName() + " doesn't support service " + service.getName() + s_logger.trace("Element " + getProvider().getName() + " doesn't support service " + service.getName() + " in the network " + network); return false; } @@ -187,19 +184,19 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl Map params = new HashMap(1); params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true); - List routers = _routerMgr.deployVirtualRouterInGuestNetwork(network, dest, - _accountMgr.getAccount(network.getAccountId()), params, + List routers = _routerMgr.deployVirtualRouterInGuestNetwork(network, dest, + _accountMgr.getAccount(network.getAccountId()), params, offering.getRedundantRouter()); if ((routers == null) || (routers.size() == 0)) { throw new ResourceUnavailableException("Can't find at least one running router!", DataCenter.class, network.getDataCenterId()); } - return true; + return true; } @Override - public boolean prepare(Network network, NicProfile nic, VirtualMachineProfile vm, + public boolean prepare(Network network, NicProfile nic, VirtualMachineProfile vm, DeployDestination dest, ReservationContext context) throws ConcurrentOperationException, InsufficientCapacityException, ResourceUnavailableException { if (vm.getType() != VirtualMachine.Type.User || vm.getHypervisorType() == HypervisorType.BareMetal) { @@ -219,15 +216,15 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl } @SuppressWarnings("unchecked") - VirtualMachineProfile uservm = (VirtualMachineProfile) vm; - List routers = _routerMgr.deployVirtualRouterInGuestNetwork(network, dest, + VirtualMachineProfile uservm = vm; + List routers = _routerMgr.deployVirtualRouterInGuestNetwork(network, dest, _accountMgr.getAccount(network.getAccountId()), uservm.getParameters(), offering.getRedundantRouter()); if ((routers == null) || (routers.size() == 0)) { throw new ResourceUnavailableException("Can't find at least one running router!", DataCenter.class, network.getDataCenterId()); } - return true; + return true; } @Override @@ -306,11 +303,11 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl expire = value; } if ((expire != null) && !containsOnlyNumbers(expire, timeEndChar)) { - throw new InvalidParameterValueException("Failed LB in validation rule id: " + rule.getId() + + throw new InvalidParameterValueException("Failed LB in validation rule id: " + rule.getId() + " Cause: expire is not in timeformat: " + expire); } if ((tablesize != null) && !containsOnlyNumbers(tablesize, "kmg")) { - throw new InvalidParameterValueException("Failed LB in validation rule id: " + rule.getId() + + throw new InvalidParameterValueException("Failed LB in validation rule id: " + rule.getId() + " Cause: tablesize is not in size format: " + tablesize); } @@ -337,11 +334,11 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl } if ((length != null) && (!containsOnlyNumbers(length, null))) { - throw new InvalidParameterValueException("Failed LB in validation rule id: " + rule.getId() + + throw new InvalidParameterValueException("Failed LB in validation rule id: " + rule.getId() + " Cause: length is not a number: " + length); } if ((holdTime != null) && (!containsOnlyNumbers(holdTime, timeEndChar) && !containsOnlyNumbers(holdTime, null))) { - throw new InvalidParameterValueException("Failed LB in validation rule id: " + rule.getId() + + throw new InvalidParameterValueException("Failed LB in validation rule id: " + rule.getId() + " Cause: holdtime is not in timeformat: " + holdTime); } } @@ -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,13 +429,13 @@ 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; } } @Override - public boolean applyIps(Network network, List ipAddress, Set services) + public boolean applyIps(Network network, List ipAddress, Set services) throws ResourceUnavailableException { boolean canHandle = true; for (Service service : services) { @@ -636,7 +633,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl } @Override - public boolean shutdown(Network network, ReservationContext context, boolean cleanup) + public boolean shutdown(Network network, ReservationContext context, boolean cleanup) throws ConcurrentOperationException, ResourceUnavailableException { List routers = _routerDao.listByNetworkAndRole(network.getId(), Role.VIRTUAL_ROUTER); if (routers == null || routers.isEmpty()) { @@ -672,7 +669,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl } @Override - public boolean savePassword(Network network, NicProfile nic, VirtualMachineProfile vm) + public boolean savePassword(Network network, NicProfile nic, VirtualMachineProfile vm) throws ResourceUnavailableException { if (!canHandle(network, null)) { 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) { @@ -786,7 +783,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl @Override public boolean isReady(PhysicalNetworkServiceProvider provider) { - VirtualRouterProviderVO element = _vrProviderDao.findByNspIdAndType(provider.getId(), + VirtualRouterProviderVO element = _vrProviderDao.findByNspIdAndType(provider.getId(), getVirtualRouterProvider()); if (element == null) { return false; @@ -795,10 +792,10 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl } @Override - public boolean shutdownProviderInstances(PhysicalNetworkServiceProvider provider, ReservationContext context) + public boolean shutdownProviderInstances(PhysicalNetworkServiceProvider provider, ReservationContext context) throws ConcurrentOperationException, ResourceUnavailableException { - VirtualRouterProviderVO element = _vrProviderDao.findByNspIdAndType(provider.getId(), + VirtualRouterProviderVO element = _vrProviderDao.findByNspIdAndType(provider.getId(), getVirtualRouterProvider()); if (element == null) { return true; @@ -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 routers = getRouters(network, dest); @@ -880,7 +877,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl } @Override - public boolean addDhcpEntry(Network network, NicProfile nic, VirtualMachineProfile vm, + public boolean addDhcpEntry(Network network, NicProfile nic, VirtualMachineProfile vm, DeployDestination dest, ReservationContext context) throws ConcurrentOperationException, InsufficientCapacityException, ResourceUnavailableException { if (canHandle(network, Service.Dhcp)) { @@ -889,7 +886,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl } @SuppressWarnings("unchecked") - VirtualMachineProfile uservm = (VirtualMachineProfile) vm; + VirtualMachineProfile uservm = vm; List 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 routers = getRouters(network, dest); @@ -935,7 +932,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl if (_networkMgr.isProviderSupportServiceInNetwork(network.getId(), Service.SourceNat, getProvider())) { publicNetwork = true; } - boolean isPodBased = (dest.getDataCenter().getNetworkType() == NetworkType.Basic + boolean isPodBased = (dest.getDataCenter().getNetworkType() == NetworkType.Basic || _networkMgr.isSecurityGroupSupportedInNetwork(network)) && network.getTrafficType() == TrafficType.Guest; @@ -969,19 +966,19 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl Long nspId = cmd.getNspId(); Boolean enabled = cmd.getEnabled(); - GenericQueryBuilder sc = GenericQueryBuilder.create(VirtualRouterProviderVO.class); + QueryBuilder 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(); } @@ -989,7 +986,7 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl @Override public boolean verifyServicesCombination(Set services) { if (!services.contains(Service.SourceNat)) { - if (services.contains(Service.StaticNat) || services.contains(Service.Firewall) || services.contains(Service.Lb) || + if (services.contains(Service.StaticNat) || services.contains(Service.Firewall) || services.contains(Service.Lb) || services.contains(Service.PortForwarding) || services.contains(Service.Vpn)) { String servicesList = "["; for (Service service : services) { @@ -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 rules) { - Map lbCaps = this.getCapabilities().get(Service.Lb); + Map 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); diff --git a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java index c512dda0058..b8a8246f76d 100644 --- a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java +++ b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java @@ -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 params = new HashMap(1); params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true); List 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 diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 7c026a4cb80..043c376f558 100755 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -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 volumes = _volumeDao.findByInstanceAndType(routerToBeAvoid.getId(), Type.ROOT); + List volumes = _volumeDao.findByInstanceAndType(routerToBeAvoid.getId(), Volume.Type.ROOT); if (volumes != null && volumes.size() != 0) { avoids[2].addPool(volumes.get(0).getPoolId()); } diff --git a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java index ea2d7c42884..12d90ef070c 100644 --- a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java @@ -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; } diff --git a/server/src/com/cloud/resource/ResourceManagerImpl.java b/server/src/com/cloud/resource/ResourceManagerImpl.java index 27f0600176b..7a9343cff41 100755 --- a/server/src/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/com/cloud/resource/ResourceManagerImpl.java @@ -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 findDirectlyConnectedHosts() { /* The resource column is not null for direct connected resource */ - GenericQueryBuilder sc = GenericQueryBuilder.create(HostVO.class); - sc.addAnd(sc.getEntity().getResource(), Op.NNULL); - sc.addAnd(sc.getEntity().getResourceState(), Op.NIN, ResourceState.Disabled); + QueryBuilder 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 listAllUpAndEnabledHosts(Type type, Long clusterId, Long podId, long dcId) { - GenericQueryBuilder sc = GenericQueryBuilder.create(HostVO.class); + QueryBuilder 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 findHostByGuid(long dcId, String guid) { - GenericQueryBuilder sc = GenericQueryBuilder.create(HostVO.class); - sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId); - sc.addAnd(sc.getEntity().getGuid(), Op.EQ, guid); + QueryBuilder 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 listAllHostsInCluster(long clusterId) { - GenericQueryBuilder sc = GenericQueryBuilder.create(HostVO.class); - sc.addAnd(sc.getEntity().getClusterId(), Op.EQ, clusterId); + QueryBuilder sc = QueryBuilder.create(HostVO.class); + sc.and(sc.entity().getClusterId(), Op.EQ,clusterId); return sc.list(); } @Override public List listHostsInClusterByStatus(long clusterId, Status status) { - GenericQueryBuilder sc = GenericQueryBuilder.create(HostVO.class); - sc.addAnd(sc.getEntity().getClusterId(), Op.EQ, clusterId); - sc.addAnd(sc.getEntity().getStatus(), Op.EQ, status); + QueryBuilder 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 listAllUpAndEnabledHostsInOneZoneByType(Type type, long dcId) { - GenericQueryBuilder 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 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 listAllNotInMaintenanceHostsInOneZone(Type type, Long dcId) { - GenericQueryBuilder sc = GenericQueryBuilder.create(HostVO.class); + QueryBuilder 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 listAllHostsInOneZoneByType(Type type, long dcId) { - GenericQueryBuilder sc = GenericQueryBuilder.create(HostVO.class); - sc.addAnd(sc.getEntity().getType(), Op.EQ, type); - sc.addAnd(sc.getEntity().getDataCenterId(), Op.EQ, dcId); + QueryBuilder 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 listAllHostsInAllZonesByType(Type type) { - GenericQueryBuilder sc = GenericQueryBuilder.create(HostVO.class); - sc.addAnd(sc.getEntity().getType(), Op.EQ, type); + QueryBuilder 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 sc = GenericQueryBuilder.create(HostVO.class); - sc.addAnd(sc.getEntity().getGuid(), Op.EQ, guid); + QueryBuilder sc = QueryBuilder.create(HostVO.class); + sc.and(sc.entity().getGuid(), Op.EQ,guid); return sc.find(); } @Override public HostVO findHostByName(String name) { - GenericQueryBuilder sc = GenericQueryBuilder.create(HostVO.class); - sc.addAnd(sc.getEntity().getName(), Op.EQ, name); + QueryBuilder 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 listAllUpAndEnabledHostsInOneZoneByHypervisor(HypervisorType type, long dcId) { - GenericQueryBuilder 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 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(); } diff --git a/server/src/com/cloud/storage/OCFS2ManagerImpl.java b/server/src/com/cloud/storage/OCFS2ManagerImpl.java index c258a96684a..e38ca5bae2f 100755 --- a/server/src/com/cloud/storage/OCFS2ManagerImpl.java +++ b/server/src/com/cloud/storage/OCFS2ManagerImpl.java @@ -142,10 +142,10 @@ public class OCFS2ManagerImpl extends ManagerBase implements OCFS2Manager, Resou } GenericQueryBuilder 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 hosts = sc.list(); if (hosts.isEmpty()) { s_logger.debug("There is no host in cluster " + clusterId + ", no need to prepare OCFS2 nodes"); diff --git a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java index a6af8119e3f..3a070349ace 100755 --- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java +++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java @@ -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 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 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 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 listUpAndConnectingSecondaryStorageVmHost(Long dcId) { - GenericQueryBuilder sc = GenericQueryBuilder.create(HostVO.class); + QueryBuilder 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(); }