anmolbabu has uploaded a new change for review. Change subject: engine: gluster volume geo replication ......................................................................
engine: gluster volume geo replication Change-Id: If86abee9276b8f2e4bdd4a4276dbbd76b9514c68 Signed-off-by: Anmol Babu <[email protected]> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterVolumeGeoRepSessionCreateCommand.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/gluster/GlusterVolumeGeoRepParamater.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepDetailPair.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepMasterVolume.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepPair.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepSession.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepVolume.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeEntity.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeGeoRepVDSParamaters.java M backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AbstractGlusterBrokerCommand.java A backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeGeoRepSessionCreateVDSCommand.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java M frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/VdsmErrors.java 20 files changed, 348 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/05/29605/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterVolumeGeoRepSessionCreateCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterVolumeGeoRepSessionCreateCommand.java new file mode 100644 index 0000000..a67592a --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterVolumeGeoRepSessionCreateCommand.java @@ -0,0 +1,68 @@ +package org.ovirt.engine.core.bll.gluster; + +import org.ovirt.engine.core.common.AuditLogType; +import org.ovirt.engine.core.common.action.LockProperties; +import org.ovirt.engine.core.common.action.LockProperties.Scope; +import org.ovirt.engine.core.common.action.gluster.GlusterVolumeGeoRepParamater; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterStatus; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity; +import org.ovirt.engine.core.common.errors.VdcBllMessages; +import org.ovirt.engine.core.common.vdscommands.VDSCommandType; +import org.ovirt.engine.core.common.vdscommands.VDSReturnValue; +import org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeGeoRepVDSParamaters; + +public class GlusterVolumeGeoRepSessionCreateCommand extends GlusterCommandBase<GlusterVolumeGeoRepParamater>{ + + GlusterVolumeEntity masterVolume; + GlusterVolumeGeoRepParamater parameter; + + public GlusterVolumeGeoRepSessionCreateCommand(GlusterVolumeGeoRepParamater params) { + super(params); + } + + @Override + protected LockProperties applyLockProperties(LockProperties lockProperties) { + return lockProperties.withScope(Scope.Command); + } + + @Override + protected void setActionMessageParameters() { + addCanDoActionMessage(VdcBllMessages.VAR_ACTION_CREATE_GEO_REPLICATION_SESSION); + addCanDoActionMessage(VdcBllMessages.VAR__TYPE__GLUSTER_VOLUME); + super.setActionMessageParameters(); + } + + @Override + protected boolean canDoAction() { + parameter = getParameters(); + if (parameter == null || parameter.getVolumeId() == null || parameter.getSlaveNodeIp() == null || parameter.getSlaveVolumeId() == null) { + return false; + } + masterVolume = getGlusterVolumeDao().getById(parameter.getVolumeId()); + if (masterVolume.getStatus() == GlusterStatus.DOWN) { + return false; + } + return true; + } + + @Override + public AuditLogType getAuditLogTypeValue() { + if(getSucceeded()) { + return AuditLogType.GLUSTER_VOLUME_GEO_REP_START; + } else { + return AuditLogType.GLUSTER_VOLUME_GEO_REP_START_FAILED; + } + } + + @Override + protected void executeCommand() { + GlusterVolumeEntity slaveVolume = getGlusterVolumeDao().getById(parameter.getSlaveVolumeId()); + VDSReturnValue returnValue = runVdsCommand(VDSCommandType.CreateGlusterVolumeGeoRepSession, new GlusterVolumeGeoRepVDSParamaters(upServer.getId(), masterVolume.getName(), parameter.getSlaveNodeIp(), slaveVolume.getName(), parameter.isForce())); + if (!getSucceeded()) { + handleVdsError(AuditLogType.GLUSTER_VOLUME_GEO_REP_START_FAILED, returnValue.getVdsError().getMessage()); + return; + } + setSucceeded(returnValue.getSucceeded()); + getReturnValue().setActionReturnValue(returnValue); + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java index f8ca690..f7fc4af 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java @@ -374,6 +374,8 @@ REMOVE_GLUSTER_VOLUME_BRICKS_NOT_FOUND_FROM_CLI(4092, AuditLogSeverity.WARNING), GLUSTER_VOLUME_DETAILS_REFRESH(4093), GLUSTER_VOLUME_DETAILS_REFRESH_FAILED(4094, AuditLogSeverity.ERROR), + GLUSTER_VOLUME_GEO_REP_START(4095), + GLUSTER_VOLUME_GEO_REP_START_FAILED(4096, AuditLogSeverity.ERROR), USER_FORCE_SELECTED_SPM(159), USER_VDS_RESTART(41), diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/gluster/GlusterVolumeGeoRepParamater.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/gluster/GlusterVolumeGeoRepParamater.java new file mode 100644 index 0000000..e81bea0 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/gluster/GlusterVolumeGeoRepParamater.java @@ -0,0 +1,40 @@ +package org.ovirt.engine.core.common.action.gluster; + +import org.ovirt.engine.core.compat.Guid; + +public class GlusterVolumeGeoRepParamater extends GlusterVolumeParameters{ + + private static final long serialVersionUID = 1L; + + //Master Volume id is volumeId of base class + + private String slaveNodeIp; + + private Guid slaveVolumeId; + + private boolean isForce; + + public String getSlaveNodeIp() { + return slaveNodeIp; + } + + public void setSlaveNodeIp(String slaveNodeIp) { + this.slaveNodeIp = slaveNodeIp; + } + + public Guid getSlaveVolumeId() { + return slaveVolumeId; + } + + public void setSlaveVolumeId(Guid slaveVolumeId) { + this.slaveVolumeId = slaveVolumeId; + } + + public boolean isForce() { + return isForce; + } + + public void setForce(boolean isForce) { + this.isForce = isForce; + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepDetailPair.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepDetailPair.java new file mode 100644 index 0000000..d28043b --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepDetailPair.java @@ -0,0 +1,39 @@ +package org.ovirt.engine.core.common.businessentities.gluster; + +public class GlusterGeoRepDetailPair extends GlusterGeoRepPair{ + Long files_syncd; + Long files_pending; + Long bytes_pending; + Long deletes_pending; + Long files_skipped; + public Long getFiles_syncd() { + return files_syncd; + } + public void setFiles_syncd(Long files_syncd) { + this.files_syncd = files_syncd; + } + public Long getFiles_pending() { + return files_pending; + } + public void setFiles_pending(Long files_pending) { + this.files_pending = files_pending; + } + public Long getBytes_pending() { + return bytes_pending; + } + public void setBytes_pending(Long bytes_pending) { + this.bytes_pending = bytes_pending; + } + public Long getDeletes_pending() { + return deletes_pending; + } + public void setDeletes_pending(Long deletes_pending) { + this.deletes_pending = deletes_pending; + } + public Long getFiles_skipped() { + return files_skipped; + } + public void setFiles_skipped(Long files_skipped) { + this.files_skipped = files_skipped; + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepMasterVolume.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepMasterVolume.java new file mode 100644 index 0000000..9344708 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepMasterVolume.java @@ -0,0 +1,13 @@ +package org.ovirt.engine.core.common.businessentities.gluster; + +public class GlusterGeoRepMasterVolume extends GlusterGeoRepVolume { + String brickName; + + public String getBrickName() { + return brickName; + } + + public void setBrickName(String brickName) { + this.brickName = brickName; + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepPair.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepPair.java new file mode 100644 index 0000000..4b5dafd --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepPair.java @@ -0,0 +1,41 @@ +package org.ovirt.engine.core.common.businessentities.gluster; + + +public class GlusterGeoRepPair { + GlusterGeoRepVolume slaveVolume; + GlusterGeoRepMasterVolume masterVolume; + String pairStatus; + String checkPointStatus; + String crawlStatus; + + public GlusterGeoRepVolume getSlaveVolume() { + return slaveVolume; + } + public void setSlaveVolume(GlusterGeoRepVolume slaveVolume) { + this.slaveVolume = slaveVolume; + } + public GlusterGeoRepMasterVolume getMasterVolume() { + return masterVolume; + } + public void setMasterVolume(GlusterGeoRepMasterVolume masterVolume) { + this.masterVolume = masterVolume; + } + public String getPairStatus() { + return pairStatus; + } + public void setPairStatus(String pairStatus) { + this.pairStatus = pairStatus; + } + public String getCheckPointStatus() { + return checkPointStatus; + } + public void setCheckPointStatus(String checkPointStatus) { + this.checkPointStatus = checkPointStatus; + } + public String getCrawlStatus() { + return crawlStatus; + } + public void setCrawlStatus(String crawlStatus) { + this.crawlStatus = crawlStatus; + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepSession.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepSession.java new file mode 100644 index 0000000..605592f --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepSession.java @@ -0,0 +1,15 @@ +package org.ovirt.engine.core.common.businessentities.gluster; + +import java.util.List; + +public class GlusterGeoRepSession { + List<GlusterGeoRepPair> pairList; + + public List<GlusterGeoRepPair> getPairList() { + return pairList; + } + + public void setPairList(List<GlusterGeoRepPair> pairList) { + this.pairList = pairList; + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepVolume.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepVolume.java new file mode 100644 index 0000000..e6ea8ad --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterGeoRepVolume.java @@ -0,0 +1,43 @@ +package org.ovirt.engine.core.common.businessentities.gluster; + +import org.ovirt.engine.core.compat.Guid; + +public class GlusterGeoRepVolume { + + String nodeHostName; + String name; + Guid id; + Guid nodeUuid; + + public Guid getId() { + return id; + } + + public void setId(Guid id) { + this.id = id; + } + + public String getNodeHostName() { + return nodeHostName; + } + + public void setNodeHostName(String nodeHostName) { + this.nodeHostName = nodeHostName; + } + + public String getVolumeName() { + return name; + } + + public void setSlaveVolumeName(String slaveVolumeName) { + this.name = slaveVolumeName; + } + + public Guid getSlaveNodeUuid() { + return nodeUuid; + } + + public void setSlaveNodeUuid(Guid slaveNodeUuid) { + this.nodeUuid = slaveNodeUuid; + } +} 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 5a0f113..f097281 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 @@ -17,6 +17,7 @@ import org.ovirt.engine.core.common.businessentities.BusinessEntityWithStatus; import org.ovirt.engine.core.common.businessentities.IVdcQueryable; import org.ovirt.engine.core.common.constants.gluster.GlusterConstants; +import org.ovirt.engine.core.common.job.JobExecutionStatus; import org.ovirt.engine.core.common.utils.ListUtils; import org.ovirt.engine.core.common.utils.ObjectUtils; import org.ovirt.engine.core.common.validation.group.CreateEntity; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java index 32758a5..52530ee 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java @@ -376,6 +376,7 @@ GlusterVolumeProfileStopFailed(4159), GlusterVolumeProfileInfoFailed(4160), GlusterVolumeStatusAllFailedException(4161), + GlusterVolumeGeoReplicationSessionCreateFailed(4162), GlusterHostIsNotPartOfCluster(4403), GlusterAddHostFailed(4404), GlusterHostRemoveFailedException(4406), diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java index 2597294..55fad6d 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java @@ -86,6 +86,7 @@ VAR__ACTION__HOT_UNPLUG, VAR__ACTION__LOGON, VAR__ACTION__LOGOFF, + VAR_ACTION_CREATE_GEO_REPLICATION_SESSION, VAR__ACTION__REBALANCE_START, VAR__ACTION__REBALANCE_STOP, VAR__ACTION__REMOVE_BRICKS_START, diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java index 0b68804..898ee3d 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java @@ -136,6 +136,7 @@ StopRebalanceGlusterVolume("org.ovirt.engine.core.vdsbroker.gluster"), AddBricksToGlusterVolume("org.ovirt.engine.core.vdsbroker.gluster"), ReplaceGlusterVolumeBrick("org.ovirt.engine.core.vdsbroker.gluster"), + CreateGlusterVolumeGeoRepSession("org.ovirt.engine.core.vdsbroker.gluster"), RemoveGlusterServer("org.ovirt.engine.core.vdsbroker.gluster"), AddGlusterServer("org.ovirt.engine.core.vdsbroker.gluster"), GlusterServersList("org.ovirt.engine.core.vdsbroker.gluster"), diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeGeoRepVDSParamaters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeGeoRepVDSParamaters.java new file mode 100644 index 0000000..91ebc41 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeGeoRepVDSParamaters.java @@ -0,0 +1,45 @@ +package org.ovirt.engine.core.common.vdscommands.gluster; + +import org.ovirt.engine.core.compat.Guid; + +public class GlusterVolumeGeoRepVDSParamaters extends GlusterVolumeVDSParameters { + //Master Volume id is volumeId of base class + + private String slaveNodeIp; + + private String slaveVolumeName; + + private boolean isForce; + + + public GlusterVolumeGeoRepVDSParamaters(Guid serverId, String volumeName, String slaveNodeIp, String slaveVolumeName, boolean isForce) { + super(serverId, volumeName); + this.slaveNodeIp = slaveNodeIp; + this.slaveVolumeName = slaveVolumeName; + this.isForce = isForce; + } + + public String getSlaveNodeIp() { + return slaveNodeIp; + } + + public void setSlaveNodeIp(String slaveNodeIp) { + this.slaveNodeIp = slaveNodeIp; + } + + public boolean isForce() { + return isForce; + } + + public void setForce(boolean isForce) { + this.isForce = isForce; + } + + public String getSlaveVolumeName() { + return slaveVolumeName; + } + + public void setSlaveVolumeName(String slaveVolumeName) { + this.slaveVolumeName = slaveVolumeName; + } +} diff --git a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties index f98da09..5fcefd7 100644 --- a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties +++ b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties @@ -346,6 +346,7 @@ GlusterVolumeRemoveBricksCommitFailed=Failed to commit removal of Bricks from Gluster Volume GlusterVolumeProfileStartFailed=Gluster Volume Profile Start Failed GlusterVolumeProfileStopFailed=Gluster Volume Profile Stop Failed +GlusterVolumeGeoReplicationSessionCreateFailed=Gluster Volume Geo-Replication Session Creation Failed GlusterAddHostFailed=Gluster Server Add Failed GlusterHostRemoveFailedException=Gluster Host Remove Failed GlusterHostIsNotPartOfCluster=Host is not part of the cluster diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AbstractGlusterBrokerCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AbstractGlusterBrokerCommand.java index 2b2d573..266ce2f 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AbstractGlusterBrokerCommand.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/AbstractGlusterBrokerCommand.java @@ -66,6 +66,7 @@ case GlusterVolumeRemoveBricksStopFailed: case GlusterVolumeRemoveBrickStatusFailed: case GlusterVolumeRemoveBricksCommitFailed: + case GlusterVolumeGeoReplicationSessionCreateFailed: case GlusterLibgfapiException: case GlfsStatvfsException: case GlfsInitException: diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeGeoRepSessionCreateVDSCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeGeoRepSessionCreateVDSCommand.java new file mode 100644 index 0000000..d0c1ca5 --- /dev/null +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeGeoRepSessionCreateVDSCommand.java @@ -0,0 +1,18 @@ +package org.ovirt.engine.core.vdsbroker.gluster; + +import org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeGeoRepVDSParamaters; +import org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeVDSParameters; + +public class GlusterVolumeGeoRepSessionCreateVDSCommand<P extends GlusterVolumeVDSParameters> extends AbstractGlusterBrokerCommand<P> { + + public GlusterVolumeGeoRepSessionCreateVDSCommand(P parameters) { + super(parameters); + } + + @Override + protected void executeVdsBrokerCommand() { + GlusterVolumeGeoRepVDSParamaters parameters = (GlusterVolumeGeoRepVDSParamaters)getParameters(); + status = getBroker().glusterVolumeCreateGeoRepSession(parameters.getVdsId(), parameters.getVolumeName(), parameters.getSlaveNodeIp(), parameters.getSlaveVolumeName()); + proceedProxyReturnValue(); + } +} diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java index 64a7c68..632fcdc 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/IVdsServer.java @@ -267,6 +267,8 @@ StatusOnlyReturnForXmlRpc glusterVolumeProfileStop(String volumeName); + StatusOnlyReturnForXmlRpc glusterVolumeCreateGeoRepSession(Guid masterServerId, String masterVolumeName, String slaveServerIp, String slaveVolumeName); + GlusterVolumeStatusReturnForXmlRpc glusterVolumeStatus(Guid clusterId, String volumeName, String brickName, diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java index de27444..d5b2377 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerConnector.java @@ -3,6 +3,8 @@ import java.util.Map; import java.util.concurrent.FutureTask; +import org.ovirt.engine.core.compat.Guid; + public interface VdsServerConnector { public Map<String, Object> create(Map createInfo); @@ -239,6 +241,8 @@ public Map<String, Object> glusterVolumeReplaceBrickStart(String volumeName, String existingBrickDir, String newBrickDir); + public Map<String, Object> glusterVolumeCreateGeoRepSession(Guid masterServerId, String masterVolumeName, String slaveServerIp, String slaveVolumeName); + public Map<String, Object> glusterHostAdd(String hostName); public Map<String, Object> glusterHostsList(); diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java index 0d54aaa..cc7f155 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsServerWrapper.java @@ -1186,6 +1186,15 @@ } @Override + public StatusOnlyReturnForXmlRpc glusterVolumeCreateGeoRepSession(Guid masterServerId, String masterVolumeName, String slaveServerIp, String slaveVolumeName) { + try { + return new StatusOnlyReturnForXmlRpc(vdsServer.glusterVolumeCreateGeoRepSession(masterServerId, masterVolumeName, slaveServerIp, slaveVolumeName)); + } catch (UndeclaredThrowableException ute) { + throw new XmlRpcRunTimeException(ute); + } + } + + @Override public StatusOnlyReturnForXmlRpc glusterVolumeProfileStop(String volumeName) { try { return new StatusOnlyReturnForXmlRpc(vdsServer.glusterVolumeProfileStop(volumeName)); diff --git a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/VdsmErrors.java b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/VdsmErrors.java index 04cc904..1126a50 100644 --- a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/VdsmErrors.java +++ b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/VdsmErrors.java @@ -717,6 +717,9 @@ @DefaultStringValue("Gluster Volume Rebalance Start Failed.") String GlusterVolumeRebalanceStartFailed(); + @DefaultStringValue("Gluster Volume Geo-Replication Session Creation Failed") + String GlusterVolumeGeoReplicationSessionCreateFailed(); + @DefaultStringValue("Gluster Volume Rebalance Stop Failed.") String GlusterVolumeRebalanceStopFailed(); -- To view, visit http://gerrit.ovirt.org/29605 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If86abee9276b8f2e4bdd4a4276dbbd76b9514c68 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: anmolbabu <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
