|
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