Ramesh N has uploaded a new change for review. Change subject: gluster: vdsm change for fetching volume capacity info ......................................................................
gluster: vdsm change for fetching volume capacity info Fetch the volume capacity information as part of gluster volume advanced details. Change-Id: I126eb7057ee1cc9abb31c0a9579c48a5cccb8be0 Signed-off-by: Ramesh Nachimuthu <rnach...@redhat.com> --- M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeAdvancedDetails.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeEntity.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSizeInfo.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeStatusReturnForXmlRpc.java M frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml 5 files changed, 151 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/91/23091/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeAdvancedDetails.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeAdvancedDetails.java index 9ca1ead..1b79a81 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeAdvancedDetails.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeAdvancedDetails.java @@ -21,6 +21,7 @@ private List<BrickDetails> brickDetails; private List<GlusterServerService> serviceInfo; + private GlusterVolumeSizeInfo capacityInfo; public GlusterVolumeAdvancedDetails() { } @@ -105,4 +106,12 @@ public void setServiceInfo(List<GlusterServerService> serviceInfo) { this.serviceInfo = serviceInfo; } + + public GlusterVolumeSizeInfo getCapacityInfo() { + return capacityInfo; + } + + public void setCapacityInfo(GlusterVolumeSizeInfo capacityInfo) { + this.capacityInfo = capacityInfo; + } } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeEntity.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeEntity.java index e7fc8c2..aba97e7 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeEntity.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeEntity.java @@ -77,6 +77,8 @@ private GlusterAsyncTask asyncTask; + private GlusterVolumeAdvancedDetails advancedDetails; + public GlusterVolumeEntity() { options = new LinkedHashMap<String, GlusterVolumeOptionEntity>(); bricks = new ArrayList<GlusterBrickEntity>(); @@ -374,6 +376,7 @@ result = prime * result + ((accessProtocols == null) ? 0 : accessProtocols.hashCode()); result = prime * result + ((bricks == null) ? 0 : bricks.hashCode()); result = prime * result + ((asyncTask == null) ? 0 : asyncTask.hashCode()); + result = prime * result + ((advancedDetails == null) ? 0 : advancedDetails.hashCode()); return result; } @@ -417,6 +420,10 @@ return false; } + if (!ObjectUtils.objectsEqual(getAdvancedDetails(), volume.getAdvancedDetails())) { + return false; + } + return true; } @@ -453,4 +460,12 @@ public void setAsyncTask(GlusterAsyncTask asyncTask) { this.asyncTask = asyncTask; } + + public GlusterVolumeAdvancedDetails getAdvancedDetails() { + return advancedDetails; + } + + public void setAdvancedDetails(GlusterVolumeAdvancedDetails advancedDetails) { + this.advancedDetails = advancedDetails; + } } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSizeInfo.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSizeInfo.java new file mode 100644 index 0000000..2af0ca1 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSizeInfo.java @@ -0,0 +1,113 @@ +package org.ovirt.engine.core.common.businessentities.gluster; + +import java.io.Serializable; +import java.util.Date; + +import org.ovirt.engine.core.common.utils.ObjectUtils; +import org.ovirt.engine.core.compat.Guid; + +public class GlusterVolumeSizeInfo implements Serializable { + private static final long serialVersionUID = -5145858224564431005L; + + private Guid volumeId; + + private Long totalSize; + + private Long freeSize; + + private Long usedSize; + + private Date updatedAt; + + public GlusterVolumeSizeInfo() { + } + + public GlusterVolumeSizeInfo(Long totalSize, Long freeSize, Long usedSize, Date updatedAt) { + this.totalSize = totalSize; + this.freeSize = freeSize; + this.usedSize = usedSize; + this.updatedAt = updatedAt; + } + + public Guid getVolumeId() { + return this.volumeId; + } + + public void setVolumeId(Guid id) { + this.volumeId = id; + } + + public Long getTotalSize() { + return totalSize; + } + + public void setTotalSize(Long totalSize) { + this.totalSize = totalSize; + } + + public Long getFreeSize() { + return freeSize; + } + + public void setFreeSize(Long freeSize) { + this.freeSize = freeSize; + } + + public Long getUsedSize() { + return usedSize; + } + + public void setUsedSize(Long usedSize) { + this.usedSize = usedSize; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((volumeId == null) ? 0 : volumeId.hashCode()); + result = prime * result + ((totalSize == null) ? 0 : totalSize.hashCode()); + result = prime * result + ((freeSize == null) ? 0 : freeSize.hashCode()); + result = prime * result + ((usedSize == null) ? 0 : usedSize.hashCode()); + result = prime * result + ((updatedAt == null) ? 0 : updatedAt.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (!(obj instanceof GlusterVolumeSizeInfo)) { + return false; + } + GlusterVolumeSizeInfo sizeInfo = (GlusterVolumeSizeInfo) obj; + + if (!ObjectUtils.objectsEqual(volumeId, sizeInfo.getVolumeId())) { + return false; + } + + if (!ObjectUtils.objectsEqual(updatedAt, sizeInfo.getUpdatedAt())) { + return false; + } + + if (!ObjectUtils.objectsEqual(totalSize, sizeInfo.getTotalSize())) { + return false; + } + + if (!ObjectUtils.objectsEqual(freeSize, sizeInfo.getFreeSize())) { + return false; + } + + if (!ObjectUtils.objectsEqual(usedSize, sizeInfo.getUsedSize())) { + return false; + } + + return true; + } +} diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeStatusReturnForXmlRpc.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeStatusReturnForXmlRpc.java index 0b6896b..3fb9f53 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeStatusReturnForXmlRpc.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeStatusReturnForXmlRpc.java @@ -14,6 +14,7 @@ import org.ovirt.engine.core.common.businessentities.gluster.GlusterStatus; import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeAdvancedDetails; import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeSizeInfo; import org.ovirt.engine.core.common.businessentities.gluster.MallInfo; import org.ovirt.engine.core.common.businessentities.gluster.MemoryStatus; import org.ovirt.engine.core.common.businessentities.gluster.Mempool; @@ -42,6 +43,7 @@ private static final String DETAIL_SIZE_TOTAL = "sizeTotal"; private static final String DETAIL_SIZE_FREE = "sizeFree"; + private static final String DETAIL_SIZE_USED = "sizeUsed"; private static final String DETAIL_DEVICE = "device"; private static final String DETAIL_BLOCK_SIZE = "blockSize"; private static final String DETAIL_MNT_OPTIONS = "mntOptions"; @@ -90,6 +92,17 @@ List<BrickDetails> brickDetails = prepareBrickDetails(volume, (Object[]) statusInfo.get(BRICKS)); volumeAdvancedDetails.setBrickDetails(brickDetails); volumeAdvancedDetails.setServiceInfo(prepareServiceInfo(statusInfo)); + GlusterVolumeSizeInfo capacityInfo = null; + + // Fetch the volume capacity detail + if (statusInfo.containsKey(DETAIL_SIZE_TOTAL)) { + capacityInfo = new GlusterVolumeSizeInfo(); + capacityInfo.setVolumeId(volume.getId()); + capacityInfo.setTotalSize(Long.valueOf((String) statusInfo.get(DETAIL_SIZE_TOTAL))); + capacityInfo.setUsedSize(Long.valueOf((String) statusInfo.get(DETAIL_SIZE_USED))); + capacityInfo.setFreeSize(Long.valueOf((String) statusInfo.get(DETAIL_SIZE_FREE))); + volumeAdvancedDetails.setCapacityInfo(capacityInfo); + } } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml index 258ac04..d20fc8a 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml @@ -279,6 +279,7 @@ <include name="common/businessentities/gluster/GlusterHookStatus.java"/> <include name="common/businessentities/gluster/GlusterHookContentType.java"/> <include name="common/businessentities/gluster/GlusterHookConflictFlags.java"/> + <include name="common/businessentities/gluster/GlusterVolumeSizeInfo.java"/> <include name="common/asynctasks/gluster/GlusterAsyncTask.java"/> <include name="common/asynctasks/gluster/GlusterTaskStatus.java"/> <include name="common/asynctasks/gluster/GlusterTaskType.java"/> -- To view, visit http://gerrit.ovirt.org/23091 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I126eb7057ee1cc9abb31c0a9579c48a5cccb8be0 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ramesh N <rnach...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches