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

Reply via email to