Skip to content

Commit a8099d0

Browse files
committed
Merge branch '4.20' of https://github.com/apache/cloudstack into allow-emoji-volume-name-xen
2 parents 42b70e7 + 603cd84 commit a8099d0

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

server/src/main/java/com/cloud/resource/ResourceManagerImpl.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import java.util.Locale;
3333
import java.util.Map;
3434
import java.util.Random;
35-
import java.util.Set;
3635
import java.util.stream.Collectors;
3736

3837
import javax.inject.Inject;
@@ -60,10 +59,8 @@
6059
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
6160
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
6261
import org.apache.cloudstack.utils.identity.ManagementServerNode;
63-
6462
import org.apache.commons.collections.CollectionUtils;
6563
import org.apache.commons.lang.ObjectUtils;
66-
6764
import org.springframework.stereotype.Component;
6865

6966
import com.cloud.agent.AgentManager;
@@ -175,6 +172,7 @@
175172
import com.cloud.storage.dao.VolumeDao;
176173
import com.cloud.user.Account;
177174
import com.cloud.user.AccountManager;
175+
import com.cloud.utils.StringUtils;
178176
import com.cloud.utils.Ternary;
179177
import com.cloud.utils.UriUtils;
180178
import com.cloud.utils.component.Manager;
@@ -201,7 +199,6 @@
201199
import com.cloud.utils.ssh.SSHCmdHelper;
202200
import com.cloud.utils.ssh.SshException;
203201
import com.cloud.vm.UserVmManager;
204-
import com.cloud.utils.StringUtils;
205202
import com.cloud.vm.VMInstanceVO;
206203
import com.cloud.vm.VirtualMachine;
207204
import com.cloud.vm.VirtualMachine.State;
@@ -3266,12 +3263,16 @@ public List<HostVO> listAllHostsInAllZonesByType(final Type type) {
32663263

32673264
@Override
32683265
public List<HypervisorType> listAvailHypervisorInZone(final Long zoneId) {
3269-
List<VMTemplateVO> systemVMTemplates = _templateDao.listAllReadySystemVMTemplates(zoneId);
3270-
final Set<HypervisorType> hypervisors = new HashSet<>();
3271-
for (final VMTemplateVO systemVMTemplate : systemVMTemplates) {
3272-
hypervisors.add(systemVMTemplate.getHypervisorType());
3266+
final SearchCriteria<String> sc = _hypervisorsInDC.create();
3267+
if (zoneId != null) {
3268+
sc.setParameters("dataCenter", zoneId);
32733269
}
3274-
return new ArrayList<>(hypervisors);
3270+
sc.setParameters("type", Host.Type.Routing);
3271+
3272+
return _hostDao.customSearch(sc, null).stream()
3273+
// The search is not able to return list of enums, so getting
3274+
// list of hypervisors as strings and then converting them to enum
3275+
.map(HypervisorType::getType).collect(Collectors.toList());
32753276
}
32763277

32773278
@Override

0 commit comments

Comments
 (0)