mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Merge branch '4.13'
This commit is contained in:
commit
a62a10c814
@ -29,7 +29,7 @@ public interface Project extends PartOf, Identity, InternalIdentity {
|
||||
}
|
||||
|
||||
public enum ListProjectResourcesCriteria {
|
||||
ListProjectResourcesOnly, SkipProjectResources
|
||||
ListProjectResourcesOnly, SkipProjectResources, ListAllIncludingProjectResources
|
||||
}
|
||||
|
||||
String getDisplayText();
|
||||
|
||||
@ -125,7 +125,7 @@ public class ListClustersCmd extends BaseListCmd {
|
||||
return s_name;
|
||||
}
|
||||
|
||||
protected List<ClusterResponse> getClusterResponses() {
|
||||
protected Pair<List<ClusterResponse>, Integer> getClusterResponses() {
|
||||
Pair<List<? extends Cluster>, Integer> result = _mgr.searchForClusters(this);
|
||||
List<ClusterResponse> clusterResponses = new ArrayList<ClusterResponse>();
|
||||
for (Cluster cluster : result.first()) {
|
||||
@ -133,14 +133,14 @@ public class ListClustersCmd extends BaseListCmd {
|
||||
clusterResponse.setObjectName("cluster");
|
||||
clusterResponses.add(clusterResponse);
|
||||
}
|
||||
return clusterResponses;
|
||||
return new Pair<List<ClusterResponse>, Integer>(clusterResponses, result.second());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
List<ClusterResponse> clusterResponses = getClusterResponses();
|
||||
Pair<List<ClusterResponse>, Integer> clusterResponses = getClusterResponses();
|
||||
ListResponse<ClusterResponse> response = new ListResponse<ClusterResponse>();
|
||||
response.setResponses(clusterResponses, clusterResponses.size());
|
||||
response.setResponses(clusterResponses.first(), clusterResponses.second());
|
||||
response.setResponseName(getCommandName());
|
||||
this.setResponseObject(response);
|
||||
}
|
||||
|
||||
@ -37,6 +37,8 @@ import com.cloud.utils.fsm.StateDao;
|
||||
public interface HostDao extends GenericDao<HostVO, Long>, StateDao<Status, Status.Event, Host> {
|
||||
long countBy(long clusterId, ResourceState... states);
|
||||
|
||||
Integer countAllByType(final Host.Type type);
|
||||
|
||||
/**
|
||||
* Mark all hosts associated with a certain management server
|
||||
* as disconnected.
|
||||
|
||||
@ -105,6 +105,7 @@ public class HostDaoImpl extends GenericDaoBase<HostVO, Long> implements HostDao
|
||||
protected SearchBuilder<HostVO> UnmanagedDirectConnectSearch;
|
||||
protected SearchBuilder<HostVO> UnmanagedApplianceSearch;
|
||||
protected SearchBuilder<HostVO> MaintenanceCountSearch;
|
||||
protected SearchBuilder<HostVO> HostTypeCountSearch;
|
||||
protected SearchBuilder<HostVO> ClusterStatusSearch;
|
||||
protected SearchBuilder<HostVO> TypeNameZoneSearch;
|
||||
protected SearchBuilder<HostVO> AvailHypevisorInZone;
|
||||
@ -159,6 +160,11 @@ public class HostDaoImpl extends GenericDaoBase<HostVO, Long> implements HostDao
|
||||
MaintenanceCountSearch.and("resourceState", MaintenanceCountSearch.entity().getResourceState(), SearchCriteria.Op.IN);
|
||||
MaintenanceCountSearch.done();
|
||||
|
||||
HostTypeCountSearch = createSearchBuilder();
|
||||
HostTypeCountSearch.and("type", HostTypeCountSearch.entity().getType(), SearchCriteria.Op.EQ);
|
||||
HostTypeCountSearch.and("removed", HostTypeCountSearch.entity().getRemoved(), SearchCriteria.Op.NULL);
|
||||
HostTypeCountSearch.done();
|
||||
|
||||
TypePodDcStatusSearch = createSearchBuilder();
|
||||
HostVO entity = TypePodDcStatusSearch.entity();
|
||||
TypePodDcStatusSearch.and("type", entity.getType(), SearchCriteria.Op.EQ);
|
||||
@ -429,6 +435,13 @@ public class HostDaoImpl extends GenericDaoBase<HostVO, Long> implements HostDao
|
||||
return hosts.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer countAllByType(final Host.Type type) {
|
||||
SearchCriteria<HostVO> sc = HostTypeCountSearch.create();
|
||||
sc.setParameters("type", type);
|
||||
return getCount(sc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HostVO> listByDataCenterId(long id) {
|
||||
SearchCriteria<HostVO> sc = DcSearch.create();
|
||||
|
||||
@ -96,6 +96,13 @@ public interface DomainRouterDao extends GenericDao<DomainRouterVO, Long> {
|
||||
*/
|
||||
public List<DomainRouterVO> listRunningByDomain(Long id);
|
||||
|
||||
/**
|
||||
* gets the total count by role
|
||||
* @Param role Router role
|
||||
* @return count of resources
|
||||
*/
|
||||
Integer countAllByRole(Role role);
|
||||
|
||||
List<DomainRouterVO> findBy(long accountId, long dcId, Role role);
|
||||
|
||||
List<DomainRouterVO> findByNetwork(long networkId);
|
||||
|
||||
@ -185,6 +185,14 @@ public class DomainRouterDaoImpl extends GenericDaoBase<DomainRouterVO, Long> im
|
||||
return listBy(sc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer countAllByRole(final Role role) {
|
||||
final SearchCriteria<DomainRouterVO> sc = createSearchCriteria();
|
||||
sc.addAnd("role", SearchCriteria.Op.EQ, role);
|
||||
sc.addAnd("removed", Op.NULL);
|
||||
return getCount(sc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DomainRouterVO> findBy(final long accountId, final long dcId) {
|
||||
final SearchCriteria<DomainRouterVO> sc = AllFieldsSearch.create();
|
||||
|
||||
@ -35,6 +35,8 @@ public interface ImageStoreDao extends GenericDao<ImageStoreVO, Long> {
|
||||
|
||||
List<ImageStoreVO> findImageCacheByScope(ZoneScope scope);
|
||||
|
||||
Integer countAllImageStores();
|
||||
|
||||
List<ImageStoreVO> listImageStores();
|
||||
|
||||
List<ImageStoreVO> listImageCacheStores();
|
||||
|
||||
@ -110,6 +110,14 @@ public class ImageStoreDaoImpl extends GenericDaoBase<ImageStoreVO, Long> implem
|
||||
return listBy(sc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer countAllImageStores() {
|
||||
SearchCriteria<ImageStoreVO> sc = createSearchCriteria();
|
||||
sc.addAnd("role", SearchCriteria.Op.EQ, DataStoreRole.Image);
|
||||
sc.addAnd("removed", SearchCriteria.Op.NULL);
|
||||
return getCount(sc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ImageStoreVO> listImageStores() {
|
||||
SearchCriteria<ImageStoreVO> sc = createSearchCriteria();
|
||||
|
||||
@ -278,4 +278,6 @@ public interface GenericDao<T, ID extends Serializable> {
|
||||
Map<String, Attribute> getAllAttributes();
|
||||
|
||||
Pair<List<T>, Integer> searchAndDistinctCount(final SearchCriteria<T> sc, final Filter filter, final String[] distinctColumns);
|
||||
|
||||
Integer countAll();
|
||||
}
|
||||
|
||||
@ -2001,6 +2001,15 @@ public abstract class GenericDaoBase<T, ID extends Serializable> extends Compone
|
||||
}
|
||||
}
|
||||
|
||||
public Integer countAll() {
|
||||
SearchCriteria<T> sc = null;
|
||||
if (_removed != null) {
|
||||
sc = createSearchCriteria();
|
||||
sc.addAnd(_removed.second().field.getName(), SearchCriteria.Op.NULL);
|
||||
}
|
||||
return getCount(sc);
|
||||
}
|
||||
|
||||
public Integer getCount(SearchCriteria<T> sc) {
|
||||
String clause = sc != null ? sc.getWhereClause() : null;
|
||||
if (clause != null && clause.length() == 0) {
|
||||
|
||||
@ -19,6 +19,7 @@ package org.apache.cloudstack.api;
|
||||
|
||||
import org.apache.cloudstack.acl.RoleType;
|
||||
import org.apache.cloudstack.api.command.admin.cluster.ListClustersCmd;
|
||||
import org.apache.cloudstack.api.response.ClusterResponse;
|
||||
import org.apache.cloudstack.api.response.ListResponse;
|
||||
import org.apache.cloudstack.metrics.MetricsService;
|
||||
import org.apache.cloudstack.response.ClusterMetricsResponse;
|
||||
@ -26,6 +27,8 @@ import org.apache.cloudstack.response.ClusterMetricsResponse;
|
||||
import javax.inject.Inject;
|
||||
import java.util.List;
|
||||
|
||||
import com.cloud.utils.Pair;
|
||||
|
||||
@APICommand(name = ListClustersMetricsCmd.APINAME, description = "Lists clusters metrics", responseObject = ClusterMetricsResponse.class,
|
||||
requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, responseView = ResponseObject.ResponseView.Full,
|
||||
since = "4.9.3", authorized = {RoleType.Admin})
|
||||
@ -42,9 +45,10 @@ public class ListClustersMetricsCmd extends ListClustersCmd {
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
final List<ClusterMetricsResponse> metricsResponses = metricsService.listClusterMetrics(getClusterResponses());
|
||||
Pair<List<ClusterResponse>, Integer> clusterResponses = getClusterResponses();
|
||||
final List<ClusterMetricsResponse> metricsResponses = metricsService.listClusterMetrics(clusterResponses);
|
||||
ListResponse<ClusterMetricsResponse> response = new ListResponse<>();
|
||||
response.setResponses(metricsResponses, metricsResponses.size());
|
||||
response.setResponses(metricsResponses, clusterResponses.second());
|
||||
response.setResponseName(getCommandName());
|
||||
setResponseObject(response);
|
||||
}
|
||||
|
||||
@ -21,6 +21,7 @@ package org.apache.cloudstack.api;
|
||||
import com.cloud.host.Host;
|
||||
import org.apache.cloudstack.acl.RoleType;
|
||||
import org.apache.cloudstack.api.command.admin.host.ListHostsCmd;
|
||||
import org.apache.cloudstack.api.response.HostResponse;
|
||||
import org.apache.cloudstack.api.response.ListResponse;
|
||||
import org.apache.cloudstack.metrics.MetricsService;
|
||||
import org.apache.cloudstack.response.HostMetricsResponse;
|
||||
@ -45,9 +46,10 @@ public class ListHostsMetricsCmd extends ListHostsCmd {
|
||||
@Override
|
||||
public void execute() {
|
||||
setType(Host.Type.Routing.toString());
|
||||
final List<HostMetricsResponse> metricsResponses = metricsService.listHostMetrics(getHostResponses().getResponses());
|
||||
ListResponse<HostResponse> hosts = getHostResponses();
|
||||
final List<HostMetricsResponse> metricsResponses = metricsService.listHostMetrics(hosts.getResponses());
|
||||
ListResponse<HostMetricsResponse> response = new ListResponse<>();
|
||||
response.setResponses(metricsResponses, metricsResponses.size());
|
||||
response.setResponses(metricsResponses, hosts.getCount());
|
||||
response.setResponseName(getCommandName());
|
||||
setResponseObject(response);
|
||||
}
|
||||
|
||||
@ -20,6 +20,7 @@ package org.apache.cloudstack.api;
|
||||
import org.apache.cloudstack.acl.RoleType;
|
||||
import org.apache.cloudstack.api.command.admin.storage.ListStoragePoolsCmd;
|
||||
import org.apache.cloudstack.api.response.ListResponse;
|
||||
import org.apache.cloudstack.api.response.StoragePoolResponse;
|
||||
import org.apache.cloudstack.metrics.MetricsService;
|
||||
import org.apache.cloudstack.response.StoragePoolMetricsResponse;
|
||||
|
||||
@ -42,9 +43,10 @@ public class ListStoragePoolsMetricsCmd extends ListStoragePoolsCmd {
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
final List<StoragePoolMetricsResponse> metricsResponses = metricsService.listStoragePoolMetrics(_queryService.searchForStoragePools(this).getResponses());
|
||||
ListResponse<StoragePoolResponse> storagePools = _queryService.searchForStoragePools(this);
|
||||
final List<StoragePoolMetricsResponse> metricsResponses = metricsService.listStoragePoolMetrics(storagePools.getResponses());
|
||||
ListResponse<StoragePoolMetricsResponse> response = new ListResponse<>();
|
||||
response.setResponses(metricsResponses, metricsResponses.size());
|
||||
response.setResponses(metricsResponses, storagePools.getCount());
|
||||
response.setResponseName(getCommandName());
|
||||
setResponseObject(response);
|
||||
}
|
||||
|
||||
@ -20,6 +20,7 @@ package org.apache.cloudstack.api;
|
||||
import org.apache.cloudstack.acl.RoleType;
|
||||
import org.apache.cloudstack.api.command.admin.vm.ListVMsCmdByAdmin;
|
||||
import org.apache.cloudstack.api.response.ListResponse;
|
||||
import org.apache.cloudstack.api.response.UserVmResponse;
|
||||
import org.apache.cloudstack.metrics.MetricsService;
|
||||
import org.apache.cloudstack.response.VmMetricsResponse;
|
||||
|
||||
@ -42,9 +43,10 @@ public class ListVMsMetricsCmd extends ListVMsCmdByAdmin {
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
final List<VmMetricsResponse> metricsResponses = metricsService.listVmMetrics(_queryService.searchForUserVMs(this).getResponses());
|
||||
ListResponse<UserVmResponse> userVms = _queryService.searchForUserVMs(this);
|
||||
final List<VmMetricsResponse> metricsResponses = metricsService.listVmMetrics(userVms.getResponses());
|
||||
ListResponse<VmMetricsResponse> response = new ListResponse<>();
|
||||
response.setResponses(metricsResponses, metricsResponses.size());
|
||||
response.setResponses(metricsResponses, userVms.getCount());
|
||||
response.setResponseName(getCommandName());
|
||||
setResponseObject(response);
|
||||
}
|
||||
|
||||
@ -24,6 +24,7 @@ import javax.inject.Inject;
|
||||
import org.apache.cloudstack.acl.RoleType;
|
||||
import org.apache.cloudstack.api.command.user.volume.ListVolumesCmd;
|
||||
import org.apache.cloudstack.api.response.ListResponse;
|
||||
import org.apache.cloudstack.api.response.VolumeResponse;
|
||||
import org.apache.cloudstack.metrics.MetricsService;
|
||||
import org.apache.cloudstack.response.VolumeMetricsResponse;
|
||||
|
||||
@ -47,9 +48,10 @@ public class ListVolumesMetricsCmd extends ListVolumesCmd {
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
final List<VolumeMetricsResponse> metricsResponses = metricsService.listVolumeMetrics(_queryService.searchForVolumes(this).getResponses());
|
||||
ListResponse<VolumeResponse> volumes = _queryService.searchForVolumes(this);
|
||||
final List<VolumeMetricsResponse> metricsResponses = metricsService.listVolumeMetrics(volumes.getResponses());
|
||||
ListResponse<VolumeMetricsResponse> response = new ListResponse<>();
|
||||
response.setResponses(metricsResponses, metricsResponses.size());
|
||||
response.setResponses(metricsResponses, volumes.getCount());
|
||||
response.setResponseName(getCommandName());
|
||||
setResponseObject(response);
|
||||
}
|
||||
|
||||
@ -20,6 +20,7 @@ package org.apache.cloudstack.api;
|
||||
import org.apache.cloudstack.acl.RoleType;
|
||||
import org.apache.cloudstack.api.command.user.zone.ListZonesCmd;
|
||||
import org.apache.cloudstack.api.response.ListResponse;
|
||||
import org.apache.cloudstack.api.response.ZoneResponse;
|
||||
import org.apache.cloudstack.metrics.MetricsService;
|
||||
import org.apache.cloudstack.response.ZoneMetricsResponse;
|
||||
|
||||
@ -42,9 +43,10 @@ public class ListZonesMetricsCmd extends ListZonesCmd {
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
final List<ZoneMetricsResponse> metricsResponses = metricsService.listZoneMetrics(_queryService.listDataCenters(this).getResponses());
|
||||
ListResponse<ZoneResponse> zones = _queryService.listDataCenters(this);
|
||||
final List<ZoneMetricsResponse> metricsResponses = metricsService.listZoneMetrics(zones.getResponses());
|
||||
ListResponse<ZoneMetricsResponse> response = new ListResponse<>();
|
||||
response.setResponses(metricsResponses, metricsResponses.size());
|
||||
response.setResponses(metricsResponses, zones.getCount());
|
||||
response.setResponseName(getCommandName());
|
||||
setResponseObject(response);
|
||||
}
|
||||
|
||||
@ -17,6 +17,7 @@
|
||||
|
||||
package org.apache.cloudstack.metrics;
|
||||
|
||||
import com.cloud.utils.Pair;
|
||||
import com.cloud.utils.component.PluggableService;
|
||||
import org.apache.cloudstack.api.response.ClusterResponse;
|
||||
import org.apache.cloudstack.api.response.HostResponse;
|
||||
@ -41,6 +42,6 @@ public interface MetricsService extends PluggableService {
|
||||
List<VmMetricsResponse> listVmMetrics(List<UserVmResponse> vmResponses);
|
||||
List<StoragePoolMetricsResponse> listStoragePoolMetrics(List<StoragePoolResponse> poolResponses);
|
||||
List<HostMetricsResponse> listHostMetrics(List<HostResponse> poolResponses);
|
||||
List<ClusterMetricsResponse> listClusterMetrics(List<ClusterResponse> poolResponses);
|
||||
List<ClusterMetricsResponse> listClusterMetrics(Pair<List<ClusterResponse>, Integer> clusterResponses);
|
||||
List<ZoneMetricsResponse> listZoneMetrics(List<ZoneResponse> poolResponses);
|
||||
}
|
||||
|
||||
@ -51,6 +51,7 @@ import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
|
||||
import org.apache.commons.beanutils.BeanUtils;
|
||||
|
||||
import com.cloud.alert.AlertManager;
|
||||
import com.cloud.alert.dao.AlertDao;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.query.dao.HostJoinDao;
|
||||
import com.cloud.api.query.vo.HostJoinVO;
|
||||
@ -68,11 +69,13 @@ import com.cloud.host.Host;
|
||||
import com.cloud.host.HostStats;
|
||||
import com.cloud.host.Status;
|
||||
import com.cloud.host.dao.HostDao;
|
||||
import com.cloud.network.router.VirtualRouter;
|
||||
import com.cloud.org.Cluster;
|
||||
import com.cloud.org.Grouping;
|
||||
import com.cloud.org.Managed;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.AccountManager;
|
||||
import com.cloud.utils.Pair;
|
||||
import com.cloud.utils.component.ComponentLifecycleBase;
|
||||
import com.cloud.vm.VMInstanceVO;
|
||||
import com.cloud.vm.VirtualMachine;
|
||||
@ -105,6 +108,8 @@ public class MetricsServiceImpl extends ComponentLifecycleBase implements Metric
|
||||
private AccountManager accountMgr;
|
||||
@Inject
|
||||
private ManagementServerHostDao managementServerHostDao;
|
||||
@Inject
|
||||
private AlertDao alertDao;
|
||||
|
||||
protected MetricsServiceImpl() {
|
||||
super();
|
||||
@ -133,14 +138,16 @@ public class MetricsServiceImpl extends ComponentLifecycleBase implements Metric
|
||||
@Override
|
||||
public InfrastructureResponse listInfrastructure() {
|
||||
final InfrastructureResponse response = new InfrastructureResponse();
|
||||
response.setZones(dataCenterDao.listAllZones().size());
|
||||
response.setPods(podDao.listAllPods(null).size());
|
||||
response.setClusters(clusterDao.listAllClusters(null).size());
|
||||
response.setHosts(hostDao.listByType(Host.Type.Routing).size());
|
||||
response.setStoragePools(storagePoolDao.listAll().size());
|
||||
response.setImageStores(imageStoreDao.listImageStores().size());
|
||||
response.setZones(dataCenterDao.countAll());
|
||||
response.setPods(podDao.countAll());
|
||||
response.setClusters(clusterDao.countAll());
|
||||
response.setHosts(hostDao.countAllByType(Host.Type.Routing));
|
||||
response.setStoragePools(storagePoolDao.countAll());
|
||||
response.setImageStores(imageStoreDao.countAllImageStores());
|
||||
response.setSystemvms(vmInstanceDao.listByTypes(VirtualMachine.Type.ConsoleProxy, VirtualMachine.Type.SecondaryStorageVm).size());
|
||||
response.setRouters(domainRouterDao.listAll().size());
|
||||
response.setRouters(domainRouterDao.countAllByRole(VirtualRouter.Role.VIRTUAL_ROUTER));
|
||||
response.setInternalLbs(domainRouterDao.countAllByRole(VirtualRouter.Role.INTERNAL_LB_VM));
|
||||
response.setAlerts(alertDao.countAll());
|
||||
int cpuSockets = 0;
|
||||
for (final Host host : hostDao.listByType(Host.Type.Routing)) {
|
||||
if (host.getCpuSockets() != null) {
|
||||
@ -309,9 +316,9 @@ public class MetricsServiceImpl extends ComponentLifecycleBase implements Metric
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ClusterMetricsResponse> listClusterMetrics(List<ClusterResponse> clusterResponses) {
|
||||
public List<ClusterMetricsResponse> listClusterMetrics(Pair<List<ClusterResponse>, Integer> clusterResponses) {
|
||||
final List<ClusterMetricsResponse> metricsResponses = new ArrayList<>();
|
||||
for (final ClusterResponse clusterResponse: clusterResponses) {
|
||||
for (final ClusterResponse clusterResponse: clusterResponses.first()) {
|
||||
ClusterMetricsResponse metricsResponse = new ClusterMetricsResponse();
|
||||
|
||||
try {
|
||||
|
||||
@ -55,6 +55,10 @@ public class InfrastructureResponse extends BaseResponse {
|
||||
@Param(description = "Number of routers")
|
||||
private Integer routers;
|
||||
|
||||
@SerializedName("ilbvms")
|
||||
@Param(description = "Number of internal LBs")
|
||||
private Integer internalLbs;
|
||||
|
||||
@SerializedName("cpusockets")
|
||||
@Param(description = "Number of cpu sockets")
|
||||
private Integer cpuSockets;
|
||||
@ -63,6 +67,10 @@ public class InfrastructureResponse extends BaseResponse {
|
||||
@Param(description = "Number of management servers")
|
||||
private Integer managementServers;
|
||||
|
||||
@SerializedName("alerts")
|
||||
@Param(description = "Number of Alerts")
|
||||
private Integer alerts;
|
||||
|
||||
public InfrastructureResponse() {
|
||||
setObjectName("infrastructure");
|
||||
}
|
||||
@ -106,4 +114,8 @@ public class InfrastructureResponse extends BaseResponse {
|
||||
public void setManagementServers(Integer managementServers) {
|
||||
this.managementServers = managementServers;
|
||||
}
|
||||
|
||||
public void setAlerts(Integer alerts) { this.alerts = alerts; }
|
||||
|
||||
public void setInternalLbs(Integer internalLbs) { this.internalLbs = internalLbs; }
|
||||
}
|
||||
|
||||
@ -2737,7 +2737,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q
|
||||
}
|
||||
}
|
||||
}
|
||||
return new Pair<>(result.first(), result.first().size());
|
||||
return new Pair<>(result.first(), result.second());
|
||||
}
|
||||
|
||||
private List<ServiceOfferingJoinVO> filterOfferingsOnCurrentTags(List<ServiceOfferingJoinVO> offerings, ServiceOfferingVO currentVmOffering) {
|
||||
@ -2948,7 +2948,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q
|
||||
}
|
||||
}
|
||||
}
|
||||
return new Pair<>(filteredOfferings, filteredOfferings.size());
|
||||
return new Pair<>(filteredOfferings, result.second());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -3702,7 +3702,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q
|
||||
affinityGroups.addAll(listDomainLevelAffinityGroups(scDomain, searchFilter, domainId));
|
||||
}
|
||||
|
||||
return new Pair<List<AffinityGroupJoinVO>, Integer>(affinityGroups, affinityGroups.size());
|
||||
return new Pair<List<AffinityGroupJoinVO>, Integer>(affinityGroups, uniqueGroupsPair.second());
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -1310,7 +1310,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
|
||||
plan = new DataCenterDeployment(srcHost.getDataCenterId(), srcHost.getPodId(), srcHost.getClusterId(), null, null, null);
|
||||
}
|
||||
|
||||
final Pair<List<? extends Host>, Integer> otherHosts = new Pair<List<? extends Host>, Integer>(allHosts, new Integer(allHosts.size()));
|
||||
final Pair<List<? extends Host>, Integer> otherHosts = new Pair<List<? extends Host>, Integer>(allHosts, allHostsPair.second());
|
||||
List<Host> suitableHosts = new ArrayList<Host>();
|
||||
final ExcludeList excludes = new ExcludeList();
|
||||
excludes.addHost(srcHostId);
|
||||
|
||||
@ -2667,16 +2667,18 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
|
||||
// set project information
|
||||
if (projectId != null) {
|
||||
if (!forProjectInvitation) {
|
||||
if (projectId.longValue() == -1) {
|
||||
if (caller.getType() == Account.ACCOUNT_TYPE_NORMAL) {
|
||||
if (projectId == -1L) {
|
||||
if (caller.getType() == Account.ACCOUNT_TYPE_ADMIN) {
|
||||
domainIdRecursiveListProject.third(Project.ListProjectResourcesCriteria.ListProjectResourcesOnly);
|
||||
if (listAll) {
|
||||
domainIdRecursiveListProject.third(ListProjectResourcesCriteria.ListAllIncludingProjectResources);
|
||||
}
|
||||
} else {
|
||||
permittedAccounts.addAll(_projectMgr.listPermittedProjectAccounts(caller.getId()));
|
||||
|
||||
//permittedAccounts can be empty when the caller is not a part of any project (a domain account)
|
||||
// permittedAccounts can be empty when the caller is not a part of any project (a domain account)
|
||||
if (permittedAccounts.isEmpty()) {
|
||||
permittedAccounts.add(caller.getId());
|
||||
}
|
||||
} else {
|
||||
domainIdRecursiveListProject.third(Project.ListProjectResourcesCriteria.ListProjectResourcesOnly);
|
||||
}
|
||||
} else {
|
||||
Project project = _projectMgr.getProject(projectId);
|
||||
|
||||
@ -283,6 +283,11 @@ public class MockUsageEventDao implements UsageEventDao{
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer countAll() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UsageEventVO> listLatestEvents(Date endDate) {
|
||||
return null;
|
||||
|
||||
@ -2455,7 +2455,7 @@
|
||||
*/
|
||||
if (cloudStack.context && cloudStack.context.projects == null) { //non-project view
|
||||
$.ajax({
|
||||
url: createURL("listRouters&zoneid=" + selectedZoneObj.id + "&listAll=true&page=" + args.page + "&pagesize=" + pageSize + array1.join("") + "&projectid=-1"),
|
||||
url: createURL("listRouters&zoneid=" + selectedZoneObj.id + "&page=" + args.page + "&pagesize=" + pageSize + array1.join("") + "&projectid=-1"),
|
||||
data: data2,
|
||||
async: false,
|
||||
success: function (json) {
|
||||
@ -3039,7 +3039,7 @@
|
||||
|
||||
// Get project routers
|
||||
$.ajax({
|
||||
url: createURL("listInternalLoadBalancerVMs&zoneid=" + selectedZoneObj.id + "&listAll=true&page=" + args.page + "&pagesize=" + pageSize + array1.join("") + "&projectid=-1"),
|
||||
url: createURL("listInternalLoadBalancerVMs&zoneid=" + selectedZoneObj.id + "&page=" + args.page + "&pagesize=" + pageSize + array1.join("") + "&projectid=-1"),
|
||||
success: function (json) {
|
||||
var items = json.listinternallbvmsresponse.internalloadbalancervm ?
|
||||
json.listinternallbvmsresponse.internalloadbalancervm:[];
|
||||
@ -3592,7 +3592,7 @@
|
||||
*/
|
||||
if (cloudStack.context && cloudStack.context.projects == null) { //non-project view
|
||||
$.ajax({
|
||||
url: createURL("listRouters&zoneid=" + selectedZoneObj.id + "&listAll=true&page=" + args.page + "&pagesize=" + pageSize + array1.join("") + "&projectid=-1"),
|
||||
url: createURL("listRouters&zoneid=" + selectedZoneObj.id + "&page=" + args.page + "&pagesize=" + pageSize + array1.join("") + "&projectid=-1"),
|
||||
dataType: 'json',
|
||||
data: data2,
|
||||
async: false,
|
||||
@ -6571,7 +6571,7 @@
|
||||
|
||||
// Get project routers
|
||||
$.ajax({
|
||||
url: createURL("listRouters&zoneid=" + selectedZoneObj.id + "&listAll=true&page=" + args.page + "&pagesize=" + pageSize + array1.join("") + "&projectid=-1"),
|
||||
url: createURL("listRouters&zoneid=" + selectedZoneObj.id + "&page=" + args.page + "&pagesize=" + pageSize + array1.join("") + "&projectid=-1"),
|
||||
data: data2,
|
||||
success: function (json) {
|
||||
var items = json.listroutersresponse.router ?
|
||||
@ -9554,7 +9554,7 @@
|
||||
*/
|
||||
if (cloudStack.context && cloudStack.context.projects == null) { //non-project view
|
||||
$.ajax({
|
||||
url: createURL("listRouters&listAll=true&page=" + args.page + "&pagesize=" + pageSize + "&projectid=-1"),
|
||||
url: createURL("listRouters&page=" + args.page + "&pagesize=" + pageSize + "&projectid=-1"),
|
||||
async: false,
|
||||
success: function (json) {
|
||||
var items = json.listroutersresponse.router ? json.listroutersresponse.router:[];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user