|
122 | 122 | import com.cloud.uservm.UserVm; |
123 | 123 | import com.cloud.utils.LogUtils; |
124 | 124 | import com.cloud.utils.Pair; |
| 125 | +import com.cloud.utils.UuidUtils; |
125 | 126 | import com.cloud.utils.db.EntityManager; |
126 | 127 | import com.cloud.utils.exception.CloudRuntimeException; |
127 | 128 | import com.cloud.utils.net.NetUtils; |
|
183 | 184 | import java.util.ArrayList; |
184 | 185 | import java.util.Arrays; |
185 | 186 | import java.util.HashMap; |
| 187 | +import java.util.HashSet; |
186 | 188 | import java.util.LinkedHashMap; |
187 | 189 | import java.util.List; |
188 | 190 | import java.util.Map; |
@@ -565,11 +567,12 @@ private StoragePool getStoragePool(final UnmanagedInstanceTO.Disk disk, final Da |
565 | 567 | } |
566 | 568 |
|
567 | 569 | if (storagePool == null) { |
568 | | - List<StoragePoolVO> pools = primaryDataStoreDao.listPoolsByCluster(cluster.getId()); |
| 570 | + Set<StoragePoolVO> pools = new HashSet<>(primaryDataStoreDao.listPoolsByCluster(cluster.getId())); |
569 | 571 | pools.addAll(primaryDataStoreDao.listByDataCenterId(zone.getId())); |
| 572 | + boolean isNameUuid = StringUtils.isNotBlank(dsName) && UuidUtils.isUuid(dsName); |
570 | 573 | for (StoragePool pool : pools) { |
571 | 574 | String searchPoolParam = StringUtils.isNotBlank(dsPath) ? dsPath : dsName; |
572 | | - if ((StringUtils.contains(pool.getPath(), searchPoolParam) || pool.getUuid().equals(searchPoolParam)) && |
| 575 | + if ((StringUtils.contains(pool.getPath(), searchPoolParam) || isNameUuid && pool.getUuid().equals(dsName)) && |
573 | 576 | volumeApiService.doesStoragePoolSupportDiskOffering(pool, diskOffering)) { |
574 | 577 | storagePool = pool; |
575 | 578 | break; |
|
0 commit comments