mirror of https://github.com/apache/cloudstack.git
Handle datastore clusters in list storage pools to list only parent not the children in the Datastore cluster
This commit is contained in:
parent
b4a23ea5f6
commit
c9c38c0f37
|
|
@ -125,4 +125,6 @@ public interface PrimaryDataStoreDao extends GenericDao<StoragePoolVO, Long> {
|
|||
void deletePoolTags(long poolId);
|
||||
|
||||
List<StoragePoolVO> listChildStoragePoolsInDatastoreCluster(long poolId);
|
||||
|
||||
Integer countAll();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -557,5 +557,14 @@ public class PrimaryDataStoreDaoImpl extends GenericDaoBase<StoragePoolVO, Long>
|
|||
public List<StoragePoolVO> listChildStoragePoolsInDatastoreCluster(long poolId) {
|
||||
QueryBuilder<StoragePoolVO> sc = QueryBuilder.create(StoragePoolVO.class);
|
||||
sc.and(sc.entity().getParent(), Op.EQ, poolId);
|
||||
return sc.list(); }
|
||||
return sc.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer countAll() {
|
||||
SearchCriteria<StoragePoolVO> sc = createSearchCriteria();
|
||||
sc.addAnd("parent", SearchCriteria.Op.EQ, 0);
|
||||
sc.addAnd("removed", SearchCriteria.Op.NULL);
|
||||
return getCount(sc);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -181,7 +181,6 @@ import com.cloud.hypervisor.vmware.mo.StoragepodMO;
|
|||
import com.cloud.hypervisor.vmware.mo.VirtualEthernetCardType;
|
||||
import com.cloud.hypervisor.vmware.mo.VirtualMachineDiskInfoBuilder;
|
||||
import com.cloud.hypervisor.vmware.mo.VirtualMachineMO;
|
||||
import com.cloud.hypervisor.vmware.mo.VirtualStorageObjectManagerMO;
|
||||
import com.cloud.hypervisor.vmware.mo.VirtualSwitchType;
|
||||
import com.cloud.hypervisor.vmware.mo.VmwareHypervisorHost;
|
||||
import com.cloud.hypervisor.vmware.mo.VmwareHypervisorHostNetworkSummary;
|
||||
|
|
@ -227,7 +226,6 @@ import com.cloud.vm.VmDetailConstants;
|
|||
import com.google.common.base.Strings;
|
||||
import com.google.gson.Gson;
|
||||
import com.vmware.vim25.AboutInfo;
|
||||
import com.vmware.vim25.AlreadyExistsFaultMsg;
|
||||
import com.vmware.vim25.ArrayUpdateOperation;
|
||||
import com.vmware.vim25.BoolPolicy;
|
||||
import com.vmware.vim25.ComputeResourceSummary;
|
||||
|
|
@ -247,7 +245,6 @@ import com.vmware.vim25.HostCapability;
|
|||
import com.vmware.vim25.HostHostBusAdapter;
|
||||
import com.vmware.vim25.HostInternetScsiHba;
|
||||
import com.vmware.vim25.HostPortGroupSpec;
|
||||
import com.vmware.vim25.ID;
|
||||
import com.vmware.vim25.ManagedObjectReference;
|
||||
import com.vmware.vim25.NasDatastoreInfo;
|
||||
import com.vmware.vim25.ObjectContent;
|
||||
|
|
@ -269,8 +266,6 @@ import com.vmware.vim25.VAppProductSpec;
|
|||
import com.vmware.vim25.VAppPropertyInfo;
|
||||
import com.vmware.vim25.VAppPropertySpec;
|
||||
import com.vmware.vim25.VMwareDVSPortSetting;
|
||||
import com.vmware.vim25.VStorageObject;
|
||||
import com.vmware.vim25.VStorageObjectConfigInfo;
|
||||
import com.vmware.vim25.VimPortType;
|
||||
import com.vmware.vim25.VirtualDevice;
|
||||
import com.vmware.vim25.VirtualDeviceBackingInfo;
|
||||
|
|
|
|||
|
|
@ -2402,6 +2402,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q
|
|||
sb.and("clusterId", sb.entity().getClusterId(), SearchCriteria.Op.EQ);
|
||||
sb.and("hostAddress", sb.entity().getHostAddress(), SearchCriteria.Op.EQ);
|
||||
sb.and("scope", sb.entity().getScope(), SearchCriteria.Op.EQ);
|
||||
sb.and("parent", sb.entity().getParent(), Op.EQ);
|
||||
|
||||
SearchCriteria<StoragePoolJoinVO> sc = sb.create();
|
||||
|
||||
|
|
@ -2439,6 +2440,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q
|
|||
if (scopeType != null) {
|
||||
sc.setParameters("scope", scopeType.toString());
|
||||
}
|
||||
sc.setParameters("parent", 0);
|
||||
|
||||
// search Pool details by ids
|
||||
Pair<List<StoragePoolJoinVO>, Integer> uniquePoolPair = _poolJoinDao.searchAndCount(sc, searchFilter);
|
||||
|
|
|
|||
|
|
@ -139,6 +139,9 @@ public class StoragePoolJoinVO extends BaseViewVO implements InternalIdentity, I
|
|||
@Column(name = "storage_provider_name")
|
||||
private String storageProviderName;
|
||||
|
||||
@Column(name = "parent")
|
||||
private Long parent;
|
||||
|
||||
/**
|
||||
* @return the scope
|
||||
*/
|
||||
|
|
@ -263,4 +266,8 @@ public class StoragePoolJoinVO extends BaseViewVO implements InternalIdentity, I
|
|||
public String getStorageProviderName() {
|
||||
return storageProviderName;
|
||||
}
|
||||
|
||||
public Long getParent() {
|
||||
return parent;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue