Kanagaraj M has uploaded a new change for review. Change subject: gluster: add Host UUID to volume status ......................................................................
gluster: add Host UUID to volume status Added 'host_uuid' field to volume status. This can used to easily map the status output with host details availble in engine, instead comparing the ipaddress/hostname. Change-Id: I9cda0b69e3067d71d7c0fb8d71211a47691a68f5 Bug-Url: https://bugzilla.redhat.com/885592 Signed-off-by: Kanagaraj M <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeAdvancedDetailsQuery.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterServerService.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterDBUtils.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeStatusReturnForXmlRpc.java 4 files changed, 44 insertions(+), 2 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/99/21599/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeAdvancedDetailsQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeAdvancedDetailsQuery.java index 628a74d..4a4c059 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeAdvancedDetailsQuery.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GetGlusterVolumeAdvancedDetailsQuery.java @@ -6,6 +6,7 @@ import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.VDSStatus; import org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterServerService; 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; @@ -15,6 +16,7 @@ import org.ovirt.engine.core.common.vdscommands.VDSReturnValue; import org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeAdvancedDetailsVDSParameters; import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.core.dao.gluster.GlusterDBUtils; /** * Query to get volume advanced details @@ -49,7 +51,19 @@ brick = getBrick(getParameters().getBrickId()); getQueryReturnValue().setReturnValue(fetchAdvancedDetails(volume.getName())); } else { - getQueryReturnValue().setReturnValue(getServiceInfo()); + GlusterVolumeAdvancedDetails serviceDetails = getServiceInfo(); + if (serviceDetails != null) { + List<GlusterServerService> serviceList = serviceDetails.getServiceInfo(); + if (serviceList != null) { + for (GlusterServerService service : serviceList) { + String hostName = GlusterDBUtils.getInstance().getHostNameOrIP(service.getGlusterHostUuid()); + if (hostName != null) { + service.setHostName(hostName); + } + } + } + } + getQueryReturnValue().setReturnValue(serviceDetails); } } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterServerService.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterServerService.java index 7067663..94d76c3 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterServerService.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterServerService.java @@ -16,6 +16,7 @@ private Guid serviceId; private ServiceType serviceType; private String serviceName; + private Guid glusterHostUuid; private Guid serverId; private String hostName; private Integer port; @@ -79,6 +80,14 @@ this.message = message; } + public Guid getGlusterHostUuid() { + return glusterHostUuid; + } + + public void setGlusterHostUuid(Guid glusterHostUuid) { + this.glusterHostUuid = glusterHostUuid; + } + public Guid getServerId() { return serverId; } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterDBUtils.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterDBUtils.java index 010eba2..855a30f 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterDBUtils.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterDBUtils.java @@ -151,4 +151,18 @@ getGlusterVolumeDao().updateGlusterVolume(volume); } } + + public String getHostNameOrIP(Guid glusterHostUuid) { + String hostName = null; + if (glusterHostUuid != null) { + GlusterServer glusterServer = getGlusterServerDao().getByGlusterServerUuid(glusterHostUuid); + if(glusterServer != null) { + VdsStatic vds = getVdsStaticDao().get(glusterServer.getId()); + if(vds != null) { + hostName = vds.getHostName(); + } + } + } + return hostName; + } } 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 0839856..be98374 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 @@ -8,6 +8,7 @@ import org.ovirt.engine.core.common.businessentities.gluster.BrickProperties; import org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity; import org.ovirt.engine.core.common.businessentities.gluster.GlusterClientInfo; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterServerService; import org.ovirt.engine.core.common.businessentities.gluster.GlusterServiceStatus; import org.ovirt.engine.core.common.businessentities.gluster.GlusterStatus; import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeAdvancedDetails; @@ -15,7 +16,6 @@ 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; -import org.ovirt.engine.core.common.businessentities.gluster.GlusterServerService; import org.ovirt.engine.core.common.businessentities.gluster.ServiceType; import org.ovirt.engine.core.common.utils.gluster.GlusterCoreUtil; import org.ovirt.engine.core.compat.Guid; @@ -37,6 +37,7 @@ private static final String NFS_KEY = "nfs"; private static final String SHD_KEY = "shd"; private static final String HOSTNAME = "hostname"; + private static final String HOST_UUID = "id"; private static final String DETAIL_SIZE_TOTAL = "sizeTotal"; private static final String DETAIL_SIZE_FREE = "sizeFree"; @@ -117,6 +118,10 @@ serviceInfo.setHostName((String) volumeServiceInfo.get(HOSTNAME)); } + if (volumeServiceInfo.containsKey(HOST_UUID)) { + serviceInfo.setGlusterHostUuid(Guid.createGuidFromString((String) volumeServiceInfo.get(HOST_UUID))); + } + if (volumeServiceInfo.containsKey(STATUS)) { String brickStatus = (String) volumeServiceInfo.get(STATUS); if (brickStatus.toUpperCase().equals(ONLINE)) { -- To view, visit http://gerrit.ovirt.org/21599 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9cda0b69e3067d71d7c0fb8d71211a47691a68f5 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Kanagaraj M <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
