Shubhendu Tripathi has uploaded a new change for review.

Change subject: gluster: VDS comand for start/stop of services
......................................................................

gluster: VDS comand for start/stop of services

VDS command to start/stop services for a given cluster id or server id.
Given action would be performed on all the services in the list
provided.

Change-Id: I53ffc535653b1632b598759d47d9cfc7d914269b
Signed-off-by: Shubhendu Tripathi <shtri...@redhat.com>
---
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/GlusterServiceVDSParameters.java
M backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
A 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/ManageGlusterServiceVDSCommand.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
8 files changed, 82 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/76/15076/1

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 82d2ec5..d130d3b 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
@@ -140,6 +140,7 @@
     UpdateGlusterHook("org.ovirt.engine.core.vdsbroker.gluster"),
     AddGlusterHook("org.ovirt.engine.core.vdsbroker.gluster"),
     RemoveGlusterHook("org.ovirt.engine.core.vdsbroker.gluster"),
+    ManageGlusterService("org.ovirt.engine.core.vdsbroker.gluster"),
     ;
 
     String packageName;
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterServiceVDSParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterServiceVDSParameters.java
new file mode 100644
index 0000000..aa16611
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/gluster/GlusterServiceVDSParameters.java
@@ -0,0 +1,33 @@
+package org.ovirt.engine.core.common.vdscommands.gluster;
+
+import java.util.List;
+
+import org.ovirt.engine.core.common.vdscommands.VdsIdVDSCommandParametersBase;
+import org.ovirt.engine.core.compat.Guid;
+
+public class GlusterServiceVDSParameters extends VdsIdVDSCommandParametersBase 
{
+    private List<String> serviceList;
+    private String actionType;
+
+    public GlusterServiceVDSParameters(Guid serverId, List<String> 
serviceList, String actionType) {
+        super(serverId);
+        this.serviceList = serviceList;
+        this.actionType = actionType;
+    }
+
+    public List<String> getServiceList() {
+        return serviceList;
+    }
+
+    public void setServiceList(List<String> serviceList) {
+        this.serviceList = serviceList;
+    }
+
+    public String getActionType() {
+        return actionType;
+    }
+
+    public void setActionType(String actionType) {
+        this.actionType = actionType;
+    }
+}
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 f6d4017..548ed4b 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
@@ -357,6 +357,7 @@
 GlusterHookChecksumMismatch=Failed to update hook due to mismatch in checksum
 GlusterHookAddFailed=Failed to add hook
 GlusterHookRemoveFailed=Failed to remove hook
+GlusterServicesManageFailed=Manage (start/stop/restart) service failed
 
 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/ManageGlusterServiceVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/ManageGlusterServiceVDSCommand.java
new file mode 100644
index 0000000..f9a0d64
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/ManageGlusterServiceVDSCommand.java
@@ -0,0 +1,29 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import 
org.ovirt.engine.core.common.vdscommands.gluster.GlusterHookVDSParameters;
+import 
org.ovirt.engine.core.common.vdscommands.gluster.GlusterServiceVDSParameters;
+import org.ovirt.engine.core.vdsbroker.vdsbroker.StatusForXmlRpc;
+
+public class ManageGlusterServiceVDSCommand<P extends 
GlusterHookVDSParameters> extends 
AbstractGlusterBrokerCommand<GlusterServiceVDSParameters> {
+
+    protected GlusterServicesReturnForXmlRpc returnValue;
+
+    public ManageGlusterServiceVDSCommand(GlusterServiceVDSParameters params) {
+        super(params);
+    }
+
+    @Override
+    protected StatusForXmlRpc getReturnStatus() {
+        return returnValue.mStatus;
+    }
+
+    @Override
+    protected void ExecuteVdsBrokerCommand() {
+        returnValue =
+                getBroker().glusterServiceManage(getParameters().getVdsId(),
+                        (String[]) getParameters().getServiceList().toArray(),
+                        getParameters().getActionType(),
+                        true);
+        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 342249f..71b1f4d 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
@@ -247,4 +247,6 @@
     StatusOnlyReturnForXmlRpc glusterHookAdd(String glusterCommand, String 
stage, String hookName, String content, String checksum, Boolean enabled);
 
     StatusOnlyReturnForXmlRpc glusterHookRemove(String glusterCommand, String 
stage, String hookName);
+
+    GlusterServicesReturnForXmlRpc glusterServiceManage(Guid serverId, String 
[] serviceList, String actionType, boolean failOnError);
 }
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 a54a856..fef08a3 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
@@ -234,4 +234,6 @@
     public Map<String,Object> glusterHookAdd(String glusterCommand, String 
stage, String hookName, String content, String checksum, Boolean enabled);
 
     public Map<String,Object> glusterHookRemove(String glusterCommand, String 
stage, String hookName);
+
+    public Map<String, Object> glusterServicesManage(String[] serviceNames, 
String action, boolean failOnError);
 }
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 52f4e9c..62a1dc1 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
@@ -1198,4 +1198,15 @@
             throw new XmlRpcRunTimeException(ute);
         }
     }
+
+    @Override
+    public GlusterServicesReturnForXmlRpc glusterServiceManage(Guid serverId, 
String [] serviceList, String actionType, boolean failOnError) {
+        try {
+          Map<String, Object> xmlRpcReturnValue = 
vdsServer.glusterServicesManage(serviceList, actionType, failOnError);
+          GlusterServicesReturnForXmlRpc wrapper = new 
GlusterServicesReturnForXmlRpc(serverId, xmlRpcReturnValue);
+          return wrapper;
+        } 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 efa8532..29b642d 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
@@ -762,4 +762,7 @@
 
     @DefaultStringValue("Failed to remove hook")
     String GlusterHookRemoveFailed();
+
+    @DefaultStringValue("Manage (start/stop/restart) service failed")
+    String GlusterServicesManageFailed();
 }


--
To view, visit http://gerrit.ovirt.org/15076
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I53ffc535653b1632b598759d47d9cfc7d914269b
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Shubhendu Tripathi <shtri...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to