Skip to content

Commit b78aede

Browse files
Updated listStoragePools response - added new managed parameter (#9588)
1 parent abaf4b5 commit b78aede

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

api/src/main/java/org/apache/cloudstack/api/response/StoragePoolResponse.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,10 @@ public class StoragePoolResponse extends BaseResponseWithAnnotations {
141141
@Param(description = "the storage pool capabilities")
142142
private Map<String, String> caps;
143143

144+
@SerializedName(ApiConstants.MANAGED)
145+
@Param(description = "whether this pool is managed or not")
146+
private Boolean managed;
147+
144148
public Map<String, String> getCaps() {
145149
return caps;
146150
}
@@ -383,4 +387,12 @@ public Boolean getTagARule() {
383387
public void setTagARule(Boolean tagARule) {
384388
isTagARule = tagARule;
385389
}
390+
391+
public Boolean getManaged() {
392+
return managed;
393+
}
394+
395+
public void setManaged(Boolean managed) {
396+
this.managed = managed;
397+
}
386398
}

server/src/main/java/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ public StoragePoolResponse newStoragePoolResponse(StoragePoolJoinVO pool, boolea
171171
poolResponse.setTags(pool.getTag());
172172
poolResponse.setIsTagARule(pool.getIsTagARule());
173173
poolResponse.setOverProvisionFactor(Double.toString(CapacityManager.StorageOverprovisioningFactor.valueIn(pool.getId())));
174+
poolResponse.setManaged(storagePool.isManaged());
174175

175176
// set async job
176177
if (pool.getJobId() != null) {
@@ -203,6 +204,7 @@ public StoragePoolResponse setStoragePoolResponse(StoragePoolResponse response,
203204

204205
@Override
205206
public StoragePoolResponse newStoragePoolForMigrationResponse(StoragePoolJoinVO pool) {
207+
StoragePool storagePool = storagePoolDao.findById(pool.getId());
206208
StoragePoolResponse poolResponse = new StoragePoolResponse();
207209
poolResponse.setId(pool.getUuid());
208210
poolResponse.setName(pool.getName());
@@ -229,6 +231,17 @@ public StoragePoolResponse newStoragePoolForMigrationResponse(StoragePoolJoinVO
229231
poolResponse.setDiskSizeTotal(pool.getCapacityBytes());
230232
poolResponse.setDiskSizeAllocated(allocatedSize);
231233
poolResponse.setCapacityIops(pool.getCapacityIops());
234+
235+
if (storagePool != null) {
236+
poolResponse.setManaged(storagePool.isManaged());
237+
if (storagePool.isManaged()) {
238+
DataStore store = dataStoreMgr.getDataStore(pool.getId(), DataStoreRole.Primary);
239+
PrimaryDataStoreDriver driver = (PrimaryDataStoreDriver) store.getDriver();
240+
long usedIops = driver.getUsedIops(storagePool);
241+
poolResponse.setAllocatedIops(usedIops);
242+
}
243+
}
244+
232245
poolResponse.setOverProvisionFactor(Double.toString(CapacityManager.StorageOverprovisioningFactor.valueIn(pool.getId())));
233246

234247
// TODO: StatsCollector does not persist data

0 commit comments

Comments
 (0)