diff --git a/server/src/com/cloud/dc/dao/ClusterDaoImpl.java b/server/src/com/cloud/dc/dao/ClusterDaoImpl.java index deece014259..2f04aa96b90 100644 --- a/server/src/com/cloud/dc/dao/ClusterDaoImpl.java +++ b/server/src/com/cloud/dc/dao/ClusterDaoImpl.java @@ -68,6 +68,7 @@ public class ClusterDaoImpl extends GenericDaoBase implements C ZoneSearch = createSearchBuilder(); ZoneSearch.and("dataCenterId", ZoneSearch.entity().getDataCenterId(), SearchCriteria.Op.EQ); + ZoneSearch.groupBy(ZoneSearch.entity().getHypervisorType()); ZoneSearch.done(); AvailHyperSearch = createSearchBuilder(); diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 3db8906cfa4..0872bfaadc6 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -4721,16 +4721,11 @@ public class ManagementServerImpl implements ManagementServer { int i = 0; List clustersForZone = _clusterDao.listByZoneId(zoneId); if(clustersForZone != null && clustersForZone.size() > 0) { - Set result = new HashSet(); + String[] result = new String[clustersForZone.size()]; for(ClusterVO cluster : clustersForZone) { - result.add(cluster.getHypervisorType().toString()); + result[i++] = cluster.getHypervisorType().toString(); } - - String[] resultArray = new String[result.size()]; - for(String entity : result) { - resultArray[i++] = entity; - } - return resultArray; + return result; } } return null;