anmolbabu has uploaded a new change for review. Change subject: engine : Bll Command to Create Geo Rep session ......................................................................
engine : Bll Command to Create Geo Rep session Bll Command to Create Geo Rep session. Change-Id: Iccc92235deea42d7818336b2402476193cbe789c Signed-off-by: Anmol Babu <anb...@redhat.com> --- 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 M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/gluster/GlusterVolumeGeoRepParamater.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 6 files changed, 135 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/34/29834/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..b7cdb13 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterVolumeGeoRepSessionCreateCommand.java @@ -0,0 +1,67 @@ +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 GlusterVolumeCommandBase<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.getSlaveVolumeName() == 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_CREATE; + } else { + return AuditLogType.GLUSTER_VOLUME_GEO_REP_CREATE_FAILED; + } + } + + @Override + protected void executeCommand() { + VDSReturnValue returnValue = runVdsCommand(VDSCommandType.GlusterVolumeGeoRepSessionCreate, new GlusterVolumeGeoRepVDSParamaters(upServer.getId(), masterVolume.getName(), parameter.getSlaveNodeIp(), parameter.getSlaveRootPassword(), parameter.getSlaveVolumeName(), parameter.isForce())); + if (!getSucceeded()) { + handleVdsError(AuditLogType.GLUSTER_VOLUME_GEO_REP_CREATE_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..a3e6257 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_CREATE(4095), + GLUSTER_VOLUME_GEO_REP_CREATE_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/VdcActionType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java index ffa9b86..1e838b3 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java @@ -302,6 +302,7 @@ StopRemoveGlusterVolumeBricks(1423, ActionGroup.MANIPULATE_GLUSTER_VOLUME, false, QuotaDependency.NONE), CommitRemoveGlusterVolumeBricks(1424, ActionGroup.MANIPULATE_GLUSTER_VOLUME, false, QuotaDependency.NONE), RefreshGlusterVolumeDetails(1425, ActionGroup.MANIPULATE_GLUSTER_VOLUME, QuotaDependency.NONE), + GlusterVolumeGeoRepSessionCreate(1426, ActionGroup.MANIPULATE_GLUSTER_VOLUME, QuotaDependency.NONE), // Cluster Policy AddClusterPolicy(1450, ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION, false, QuotaDependency.NONE), 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..c379441 --- /dev/null +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/gluster/GlusterVolumeGeoRepParamater.java @@ -0,0 +1,63 @@ +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 String slaveVolumeName; + + private String slaveRootPassword; + + private boolean isForce; + + public String getSlaveNodeIp() { + return slaveNodeIp; + } + + public GlusterVolumeGeoRepParamater() { + + } + + public GlusterVolumeGeoRepParamater(Guid masterVolumeId, String slaveNodeIp, String slaveVolumeName, String slaveRootPassword, boolean isForce) { + super(masterVolumeId); + this.slaveNodeIp = slaveNodeIp; + this.slaveVolumeName = slaveVolumeName; + this.slaveRootPassword = slaveRootPassword; + this.isForce = isForce; + } + + 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; + } + + public String getSlaveRootPassword() { + return slaveRootPassword; + } + + public void setSlaveRootPassword(String slaveRootPassword) { + this.slaveRootPassword = slaveRootPassword; + } +} 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, -- To view, visit http://gerrit.ovirt.org/29834 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iccc92235deea42d7818336b2402476193cbe789c Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: anmolbabu <anb...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches