Shubhendu Tripathi has uploaded a new change for review.

Change subject: gluster: VDS command to set volume snapshot config
......................................................................

gluster: VDS command to set volume snapshot config

Introduced VDS command for setting the volume snapshot configurations
parameter values.

Change-Id: I15a4915b8f0f0b884d335fb238f866b5a7823fab
Signed-off-by: Shubhendu Tripathi <[email protected]>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSnapshotConfig.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/vdscommands/VDSCommandType.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeSnapshotSetConfigVDSParameters.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/SetGlusterVolumeSnapshotConfigVDSCommand.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.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
M 
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/VdsmErrors.properties
13 files changed, 136 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/50/39350/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSnapshotConfig.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSnapshotConfig.java
index 78e923e..3bf665a 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSnapshotConfig.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSnapshotConfig.java
@@ -90,4 +90,19 @@
 
         return true;
     }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder("GlusterVolumeSnapshotConfig {");
+        sb.append("clusterId=");
+        sb.append(getClusterId());
+        sb.append(", volumeId=");
+        sb.append(getVolumeId());
+        sb.append(", paramName=");
+        sb.append(getParamName());
+        sb.append(", paramValue=");
+        sb.append(getParamValue());
+        sb.append("}");
+        return sb.toString();
+    }
 }
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 64ab287..86dc606 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
@@ -405,7 +405,8 @@
     GlusterSnapshotActivateFailedException(4704),
     GlusterSnapshotDeactivateFailedException(4705),
     GlusterSnapshotRestoreFailedException(4706),
-    GlusterSnapshotInfoFailedException(4708),
+    GlusterSnapshotConfigFailedException(4708),
+    GlusterSnapshotInfoFailedException(4710),
     GlusterSnapshotCreateFailedException(4701),
 
     UnicodeArgumentException(4900),
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 8116673..dead4eb 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
@@ -166,6 +166,7 @@
     DeactivateGlusterVolumeSnapshot("org.ovirt.engine.core.vdsbroker.gluster"),
     RestoreGlusterVolumeSnapshot("org.ovirt.engine.core.vdsbroker.gluster"),
     CreateGlusterVolumeSnapshot("org.ovirt.engine.core.vdsbroker.gluster"),
+    SetGlusterVolumeSnapshotConfig("org.ovirt.engine.core.vdsbroker.gluster"),
     SetNumberOfCpus("org.ovirt.engine.core.vdsbroker"),
     UpdateVmPolicy("org.ovirt.engine.core.vdsbroker"),
     List("org.ovirt.engine.core.vdsbroker.vdsbroker"),           // get a list 
of VMs with status only
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeSnapshotSetConfigVDSParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeSnapshotSetConfigVDSParameters.java
new file mode 100644
index 0000000..d7408da
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterVolumeSnapshotSetConfigVDSParameters.java
@@ -0,0 +1,26 @@
+package org.ovirt.engine.core.common.vdscommands.gluster;
+
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeSnapshotConfig;
+import org.ovirt.engine.core.common.vdscommands.VdsIdVDSCommandParametersBase;
+import org.ovirt.engine.core.compat.Guid;
+
+public class GlusterVolumeSnapshotSetConfigVDSParameters extends 
VdsIdVDSCommandParametersBase {
+    GlusterVolumeSnapshotConfig configParam;
+
+    public GlusterVolumeSnapshotSetConfigVDSParameters() {
+    }
+
+    public GlusterVolumeSnapshotSetConfigVDSParameters(Guid serverId, 
GlusterVolumeSnapshotConfig configParam) {
+        super(serverId);
+        this.configParam = configParam;
+    }
+
+    public GlusterVolumeSnapshotConfig getConfgParam() {
+        return this.configParam;
+    }
+
+    @Override
+    public String toString() {
+        return String.format("%s, configParam=%s", super.toString(), 
configParam);
+    }
+}
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 cbaa8c8..7134943 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
@@ -380,6 +380,7 @@
 GlusterSnapshotDeactivateFailedException=Failed to de-activate gluster volume 
snapshot
 GlusterSnapshotRestoreFailedException=Failed to restore the gluster volume 
snapshot
 GlusterSnapshotCreateFailedException=Failed to create snapshot for gluster 
volume
+GlusterSnapshotConfigFailedException=Failed to set the Gluster snapshot 
configuration
 
 CANT_RECONSTRUCT_WHEN_A_DOMAIN_IN_POOL_IS_LOCKED=Can't reconstruct the Master 
Domain when the Data Center contains Domains in Locked state.\nPlease wait 
until the operation for these Domains ends before trying to reconstruct the 
Master Domain again.
 NO_IMPLEMENTATION=Not implemented
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 185ca1c..2fe810c 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
@@ -78,6 +78,7 @@
         case GlusterSnapshotDeactivateFailedException:
         case GlusterSnapshotRestoreFailedException:
         case GlusterSnapshotCreateFailedException:
+        case GlusterSnapshotConfigFailedException:
 
             // Capture error from gluster command and record failure
             getVDSReturnValue().setVdsError(new VDSError(returnStatus, 
getReturnStatus().mMessage));
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/SetGlusterVolumeSnapshotConfigVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/SetGlusterVolumeSnapshotConfigVDSCommand.java
new file mode 100644
index 0000000..e9ba13f
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/SetGlusterVolumeSnapshotConfigVDSCommand.java
@@ -0,0 +1,37 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeSnapshotConfig;
+import 
org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeSnapshotSetConfigVDSParameters;
+import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+import org.ovirt.engine.core.vdsbroker.vdsbroker.StatusForXmlRpc;
+
+public class SetGlusterVolumeSnapshotConfigVDSCommand<P extends 
GlusterVolumeSnapshotSetConfigVDSParameters>
+        extends AbstractGlusterBrokerCommand<P> {
+    public SetGlusterVolumeSnapshotConfigVDSCommand(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected StatusForXmlRpc getReturnStatus() {
+        return status.mStatus;
+    }
+
+    @Override
+    protected void executeVdsBrokerCommand() {
+        GlusterVolumeSnapshotConfig cfgParam = getParameters()
+                .getConfgParam();
+
+        if (cfgParam.getVolumeId() != null) {
+            GlusterVolumeEntity volume = 
DbFacade.getInstance().getGlusterVolumeDao().getById(cfgParam.getVolumeId());
+            status =
+                    
getBroker().glusterVolumeSnapshotConfigSet(volume.getName(),
+                            cfgParam.getParamName(),
+                            cfgParam.getParamValue());
+        } else {
+            status = 
getBroker().glusterSnapshotConfigSet(cfgParam.getParamName(), 
cfgParam.getParamValue());
+        }
+
+        proceedProxyReturnValue();
+    }
+}
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java
index 22b60f4..1874166 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/jsonrpc/JsonRpcVdsServer.java
@@ -1563,4 +1563,27 @@
                 new FutureMap(this.client, request).withIgnoreResponseKey();
         return new OneUuidReturnForXmlRpc(response);
     }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotConfigSet(String 
volumeName, String configName, String configValue) {
+        JsonRpcRequest request =
+                new 
RequestBuilder("GlusterVolume.snapshotConfigSet").withParameter("volumeName", 
volumeName)
+                        .withParameter("option", configName)
+                        .withParameter("value", configValue)
+                        .build();
+
+        Map<String, Object> response = new FutureMap(this.client, 
request).withIgnoreResponseKey();
+        return new StatusOnlyReturnForXmlRpc(response);
+    }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterSnapshotConfigSet(String 
configName, String configValue) {
+        JsonRpcRequest request =
+                new 
RequestBuilder("GlusterSnapshot.configSet").withParameter("option", configName)
+                        .withParameter("value", configValue)
+                        .build();
+
+        Map<String, Object> response = new FutureMap(this.client, 
request).withIgnoreResponseKey();
+        return new StatusOnlyReturnForXmlRpc(response);
+    }
 }
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 646b668..4a92a68 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
@@ -329,4 +329,8 @@
     StatusOnlyReturnForXmlRpc glusterSnapshotRestore(String snapshotName);
 
     OneUuidReturnForXmlRpc glusterSnapshotCreate(String volumeName, String 
snapshotName, String description, boolean force);
+
+    StatusOnlyReturnForXmlRpc glusterVolumeSnapshotConfigSet(String 
volumeName, String cfgName, String cfgValue);
+
+    StatusOnlyReturnForXmlRpc glusterSnapshotConfigSet(String cfgName, String 
cfgValue);
 }
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 e6f3563..a4d9dcb 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
@@ -310,4 +310,8 @@
     public Map<String, Object> glusterSnapshotRestore(String snapshotName);
 
     public Map<String, Object> glusterSnapshotCreate(String volumeName, String 
snapshotName, String description, boolean force);
+
+    public Map<String, Object> glusterVolumeSnapshotConfigSet(String 
volumeName, String cfgName, String cfgValue);
+
+    public Map<String, Object> glusterSnapshotConfigSet(String cfgName, String 
cfgValue);
 }
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 4c358d3..6b94255 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
@@ -1534,4 +1534,22 @@
             throw new XmlRpcRunTimeException(ute);
         }
     }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterVolumeSnapshotConfigSet(String 
volumeName, String cfgName, String cfgValue) {
+        try {
+            return new 
StatusOnlyReturnForXmlRpc(vdsServer.glusterVolumeSnapshotConfigSet(volumeName, 
cfgName, cfgValue));
+        } catch (UndeclaredThrowableException ute) {
+            throw new XmlRpcRunTimeException(ute);
+        }
+    }
+
+    @Override
+    public StatusOnlyReturnForXmlRpc glusterSnapshotConfigSet(String cfgName, 
String cfgValue) {
+        try {
+            return new 
StatusOnlyReturnForXmlRpc(vdsServer.glusterSnapshotConfigSet(cfgName, 
cfgValue));
+        } catch (UndeclaredThrowableException ute) {
+            throw new XmlRpcRunTimeException(ute);
+        }
+    }
 }
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 a4ea7c7..75693e4 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
@@ -845,4 +845,7 @@
 
     @DefaultStringValue("Failed to create snapshot for gluster volume")
     String GlusterSnapshotCreateFailedException();
+
+    @DefaultStringValue("Failed to set the Gluster snapshot configuration")
+    String GlusterSnapshotConfigFailedException();
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/VdsmErrors.properties
 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/VdsmErrors.properties
index 23aecb4..1338527 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/VdsmErrors.properties
+++ 
b/frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/VdsmErrors.properties
@@ -389,3 +389,4 @@
 GlusterSnapshotDeactivateFailedException=Failed to de-activate gluster volume 
snapshot
 GlusterSnapshotRestoreFailedException=Failed to restore the gluster volume 
snapshot
 GlusterSnapshotCreateFailedException=Failed to create snapshot for gluster 
volume
+GlusterSnapshotConfigSetFailedException=Gluster snapshot configuration set 
failed


-- 
To view, visit https://gerrit.ovirt.org/39350
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I15a4915b8f0f0b884d335fb238f866b5a7823fab
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.5-gluster
Gerrit-Owner: Shubhendu Tripathi <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to