Dhandapani Gopal has uploaded a new change for review.

Change subject: engine:[WIP] Service Stop command
......................................................................

engine:[WIP] Service Stop command

 Bll command to stop service on the given list of servers
 if server ids are passed, otherwise the service will be started on
 all the servers in the cluster.

 - New Bll and VDS command

Change-Id: If7a09dadc23555be59677c1412ed7eac9e8f1ca2
Signed-off-by: Dhandapani <[email protected]>
---
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/StopServiceCommand.java
A 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/gluster/StopServiceCommandTest.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/VdcEventNotificationUtils.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.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
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
M backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
M 
backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
M 
backend/manager/modules/dal/src/main/resources/bundles/ExecutionMessages.properties
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/StopServiceVDSCommand.java
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
M 
frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/VdsmErrors.java
M 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/LocalizedEnums.java
M 
frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties
19 files changed, 238 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/55/11455/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/StopServiceCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/StopServiceCommand.java
new file mode 100644
index 0000000..d634074
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/StopServiceCommand.java
@@ -0,0 +1,93 @@
+package org.ovirt.engine.core.bll.gluster;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.ovirt.engine.core.bll.NonTransactiveCommandAttribute;
+import org.ovirt.engine.core.common.AuditLogType;
+import org.ovirt.engine.core.common.action.gluster.ServiceParameters;
+import org.ovirt.engine.core.common.businessentities.VDS;
+import org.ovirt.engine.core.common.businessentities.gluster.ServiceEntity;
+import org.ovirt.engine.core.common.businessentities.gluster.ServiceStatus;
+import org.ovirt.engine.core.common.vdscommands.VDSCommandType;
+import org.ovirt.engine.core.common.vdscommands.VDSReturnValue;
+import org.ovirt.engine.core.common.vdscommands.gluster.ServiceVDSParameters;
+import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.dal.VdcBllMessages;
+
+/**
+ * BLL command to Stop Service
+ */
+@NonTransactiveCommandAttribute
+public class StopServiceCommand extends GlusterCommandBase<ServiceParameters> {
+
+    private static final long serialVersionUID = -9126568265627678077L;
+
+    public StopServiceCommand(ServiceParameters params) {
+        super(params);
+    }
+
+    @Override
+    protected void setActionMessageParameters() {
+        addCanDoActionMessage(VdcBllMessages.VAR__ACTION__STOP_SERVICE);
+        addCanDoActionMessage(VdcBllMessages.VAR__TYPE__SERVICE);
+    }
+
+    @Override
+    protected boolean canDoAction() {
+        if (!super.canDoAction()) {
+            return false;
+        }
+
+        if (getParameters().getServiceId() == null) {
+            
addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_SERVICE_ID_IS_REQUIRED);
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    protected void executeCommand() {
+        List<String> errors = new ArrayList<String>();
+        ServiceEntity service = 
getServervicesDao().getById(getParameters().getServiceId());
+        for (Guid upServerId : getUpServerIds()) {
+            VDSReturnValue returnValue =
+                    runVdsCommand(VDSCommandType.StopService,
+                            new ServiceVDSParameters(upServerId, 
service.getServiceName()));
+            if (!getSucceeded()) {
+                errors.add(returnValue.getVdsError().getMessage());
+            } else {
+                getServervicesDao().updateServiceStatus(service.getId(), 
ServiceStatus.STOPPED);
+            }
+        }
+
+        if (!errors.isEmpty()) {
+            handleVdsErrors(AuditLogType.SERVICE_STOP_FAILED, errors);
+        }
+
+        if (getUpServerIds().size() > errors.size()) {
+            setSucceeded(true);
+        }
+    }
+
+    protected List<Guid> getUpServerIds() {
+        List<Guid> serverIds = new ArrayList<Guid>();
+        if (getParameters().getServerIds().size() > 0) {
+            serverIds.addAll(getParameters().getServerIds());
+        } else {
+            for (VDS server : getAllUpServers(getVdsGroupId())) {
+                serverIds.add(server.getId());
+            }
+        }
+        return serverIds;
+    }
+
+    @Override
+    public AuditLogType getAuditLogTypeValue() {
+        if (getSucceeded()) {
+            return AuditLogType.SERVICE_STOP;
+        } else {
+            return errorType == null ? AuditLogType.SERVICE_STOP_FAILED : 
errorType;
+        }
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/gluster/StopServiceCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/gluster/StopServiceCommandTest.java
new file mode 100644
index 0000000..41960b7
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/gluster/StopServiceCommandTest.java
@@ -0,0 +1,94 @@
+package org.ovirt.engine.core.bll.gluster;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.ovirt.engine.core.common.action.gluster.ServiceParameters;
+import org.ovirt.engine.core.common.businessentities.VDS;
+import org.ovirt.engine.core.common.businessentities.VDSStatus;
+import org.ovirt.engine.core.common.businessentities.gluster.ServiceEntity;
+import org.ovirt.engine.core.common.businessentities.gluster.ServiceStatus;
+import org.ovirt.engine.core.compat.Guid;
+import org.ovirt.engine.core.dao.gluster.ServicesDao;
+import org.ovirt.engine.core.utils.RandomUtils;
+
+@RunWith(MockitoJUnitRunner.class)
+public class StopServiceCommandTest {
+
+    @Mock
+    ServicesDao servicesDao;
+
+    private static final Guid CLUSTER_ID = new 
Guid("b399944a-81ab-4ec5-8266-e19ba7c3c9d1");
+    private static final Guid SERVICE_ID = new 
Guid("b2cb2f73-fab3-4a42-93f0-d5e4c069a4ce");
+    private static final Guid SERVER_ID = new 
Guid("23f6d691-5dfb-472b-86dc-9e1d2d3c18f3");
+
+    /**
+     * The command under test.
+     */
+    private StopServiceCommand cmd;
+
+    private void prepareMocks(StopServiceCommand command) {
+        doReturn(servicesDao).when(command).getServervicesDao();
+        doReturn(getService(SERVICE_ID)).when(servicesDao).getById(SERVICE_ID);
+        doReturn(getUpServer()).when(command).getUpServer();
+        doReturn(getServerIds()).when(command).getUpServerIds();
+        doReturn(null).when(servicesDao).getById(null);
+    }
+
+    private VDS getUpServer() {
+        VDS vds = new VDS();
+        vds.setId(RandomUtils.instance().pickRandom(getServerIds()));
+        vds.setvds_name("gfs1");
+        vds.setvds_group_id(CLUSTER_ID);
+        vds.setstatus(VDSStatus.Up);
+        return vds;
+    }
+
+    private ServiceEntity getService(Guid serviceId) {
+        ServiceEntity service = new ServiceEntity();
+        service.setId(serviceId);
+        service.setServerId(SERVER_ID);
+        service.setServiceName("container-server");
+        service.setStatus(ServiceStatus.RUNNING);
+        return service;
+    }
+
+    private List<Guid> getServerIds() {
+        List<Guid> serverIds = new ArrayList<Guid>();
+        
serverIds.add(Guid.createGuidFromString("afce7a39-8e8c-4819-ba9c-796d316592e6"));
+        
serverIds.add(Guid.createGuidFromString("afce7a39-8e8c-4819-ba9c-796d316592e7"));
+        
serverIds.add(Guid.createGuidFromString("23f6d691-5dfb-472b-86dc-9e1d2d3c18f3"));
+        
serverIds.add(Guid.createGuidFromString("2001751e-549b-4e7a-aff6-32d36856c125"));
+        return serverIds;
+    }
+
+    @Test
+    public void canDoActionSucceeds() {
+        cmd = spy(new StopServiceCommand(new ServiceParameters(SERVICE_ID)));
+        prepareMocks(cmd);
+        assertTrue(cmd.canDoAction());
+    }
+
+    @Test
+    public void canDoActionSucceedsWithServerIds() {
+        cmd = spy(new StopServiceCommand(new ServiceParameters(SERVICE_ID, 
getServerIds())));
+        prepareMocks(cmd);
+        assertTrue(cmd.canDoAction());
+    }
+
+    @Test
+    public void canDoActionFailsOnNull() {
+        cmd = spy(new StopServiceCommand(new ServiceParameters(null)));
+        prepareMocks(cmd);
+        assertFalse(cmd.canDoAction());
+    }
+}
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 12cd093..c33a42a 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
@@ -230,6 +230,8 @@
     GLUSTER_SERVER_REMOVE(4038),
     SERVICE_START(4039),
     SERVICE_START_FAILED(4040),
+    SERVICE_STOP(4041),
+    SERVICE_STOP_FAILED(4042),
 
     USER_VDS_RESTART(41),
     USER_FAILED_VDS_RESTART(107),
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcEventNotificationUtils.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcEventNotificationUtils.java
index ae3d029..6d9ad6c 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcEventNotificationUtils.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcEventNotificationUtils.java
@@ -73,6 +73,8 @@
         AddEventNotificationEntry(EventNotificationEntity.GlusterVolume, 
AuditLogType.GLUSTER_VOLUME_PROFILE_STOP_FAILED);
         AddEventNotificationEntry(EventNotificationEntity.Service, 
AuditLogType.SERVICE_START);
         AddEventNotificationEntry(EventNotificationEntity.Service, 
AuditLogType.SERVICE_START_FAILED);
+        AddEventNotificationEntry(EventNotificationEntity.Service, 
AuditLogType.SERVICE_STOP);
+        AddEventNotificationEntry(EventNotificationEntity.Service, 
AuditLogType.SERVICE_STOP_FAILED);
 
         // DWH
         AddEventNotificationEntry(EventNotificationEntity.DWH, 
AuditLogType.DWH_STOPPED);
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 14c6f7e..4550d8e 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
@@ -264,6 +264,7 @@
     StopGlusterVolumeProfile(1411, ActionGroup.MANIPULATE_GLUSTER_VOLUME, 
QuotaDependency.NONE),
     RemoveGlusterServer(1412, ActionGroup.DELETE_HOST, QuotaDependency.NONE),
     StartService(1413, ActionGroup.MANIPULATE_SERVICE, QuotaDependency.NONE),
+    StopService(1414, ActionGroup.MANIPULATE_SERVICE, QuotaDependency.NONE),
 
     // External events
     AddExternalEvent(1500, ActionGroup.INJECT_EXTERNAL_EVENTS, 
QuotaDependency.NONE),
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 95f90e2..73c61f0 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
@@ -349,6 +349,7 @@
     RemoveGlusterServerFailed(4406),
     GlusterPeerListFailed(4407),
     ServiceStartFailed(4408),
+    ServiceStopFailed(4409),
 
     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 ebc837f..336add5 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
@@ -143,6 +143,7 @@
     GlusterVolumesList("org.ovirt.engine.core.vdsbroker.gluster"),
     GetGlusterVolumeProfileInfo("org.ovirt.engine.core.vdsbroker.gluster"),
     StartService("org.ovirt.engine.core.vdsbroker.gluster"),
+    StopService("org.ovirt.engine.core.vdsbroker.gluster"),
     ;
 
     String packageName;
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
index 528f1e2..e4692a6a 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/VdcBllMessages.java
@@ -72,6 +72,7 @@
     VAR__ACTION__START_PROFILE,
     VAR__ACTION__STOP_PROFILE,
     VAR__ACTION__START_SERVICE,
+    VAR__ACTION__STOP_SERVICE,
 
     // Host statuses replacements
     VAR__HOST_STATUS__UP,
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
index 85307ce..1180f19 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogDirector.java
@@ -99,6 +99,8 @@
         mSeverities.put(AuditLogType.GLUSTER_SERVER_REMOVED_FROM_CLI, 
AuditLogSeverity.WARNING);
         mSeverities.put(AuditLogType.SERVICE_START, AuditLogSeverity.NORMAL);
         mSeverities.put(AuditLogType.SERVICE_START_FAILED, 
AuditLogSeverity.ERROR);
+        mSeverities.put(AuditLogType.SERVICE_STOP, AuditLogSeverity.NORMAL);
+        mSeverities.put(AuditLogType.SERVICE_STOP_FAILED, 
AuditLogSeverity.ERROR);
     }
 
     private static void initDefaultSeverities() {
diff --git 
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties 
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
index 76e36f2..81e4cc9 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties
@@ -279,6 +279,7 @@
 VAR__HOST_STATUS__UP=$hostStatus Up
 VAR__HOST_STATUS__UP_MAINTENANCE_OR_NON_OPERATIONAL=$hostStatus Up, 
Maintenance or Non operational
 VAR__ACTION__START_SERVICE=$action starting service
+VAR__ACTION__STOP_SERVICE=$action stopping service
 
 ACTION_TYPE_FAILED_DISK_ALREADY_ATTACHED=Cannot ${action} ${type}. The disk is 
already attached to VM.
 ACTION_TYPE_FAILED_DISK_ALREADY_DETACHED=Cannot ${action} ${type}. The disk is 
already detached from VM.
diff --git 
a/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
 
b/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
index cf775ba..6f9d935 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties
@@ -580,3 +580,5 @@
 GLUSTER_SERVER_REMOVED_FROM_CLI=Server ${VdsName} was removed from Cluster 
${VdsGroupName} from gluster CLI. Now removed in engine DB as well.
 SERVICE_START=Service ${serviceName} started.
 SERVICE_START_FAILED=Could not start service ${serviceName}.
+SERVICE_STOP=Service ${serviceName} stopped.
+SERVICE_STOP_FAILED=Failed to stop service ${serviceName}.
diff --git 
a/backend/manager/modules/dal/src/main/resources/bundles/ExecutionMessages.properties
 
b/backend/manager/modules/dal/src/main/resources/bundles/ExecutionMessages.properties
index 18228be..d03303a 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/ExecutionMessages.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/ExecutionMessages.properties
@@ -84,6 +84,7 @@
 job.AddBricksToGlusterVolume=Adding Bricks to Gluster Volume ${GlusterVolume}
 job.RemoveGlusterServer=Removing Gluster Server ${VDS}
 job.StartService=Starting Service ${Service}
+job.StopService=Stopping Service ${Service}
 
 # Step types
 step.VALIDATING=Validating
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 2225506..7fd8a14 100644
--- 
a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
+++ 
b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties
@@ -328,7 +328,8 @@
 GlusterPeerListFailed=Gluster Peer List Failed
 GlusterVolumeStatusFailed=Could not fetch advanced volume details
 GlusterVolumeProfileInfoFailed=Gluster Volume Profile Info Failed
-ServiceStartFailed=Failed to start service
+ServiceStartFailed=Failed to start service
+ServiceStopFailed=Failed to stop service
 
 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 01e356c..dd94202 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
@@ -38,6 +38,7 @@
         case GlusterVolumeStatusFailed:
         case GlusterVolumeProfileInfoFailed:
         case ServiceStartFailed:
+        case ServiceStopFailed:
             // Capture error from gluster command and record failure
             getVDSReturnValue().setVdsError(new VDSError(returnStatus, 
getReturnStatus().mMessage));
             getVDSReturnValue().setSucceeded(false);
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/StopServiceVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/StopServiceVDSCommand.java
new file mode 100644
index 0000000..88db4bb
--- /dev/null
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/StopServiceVDSCommand.java
@@ -0,0 +1,19 @@
+package org.ovirt.engine.core.vdsbroker.gluster;
+
+import org.ovirt.engine.core.common.businessentities.gluster.ServiceAction;
+import org.ovirt.engine.core.common.vdscommands.gluster.ServiceVDSParameters;
+
+public class StopServiceVDSCommand<P extends ServiceVDSParameters> extends 
AbstractGlusterBrokerCommand<P> {
+    public StopServiceVDSCommand(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void ExecuteVdsBrokerCommand() {
+        status =
+                
getBroker().glusterServicesManage(getParameters().getServiceName(),
+                        ServiceAction.STOP.name());
+
+        ProceedProxyReturnValue();
+    }
+}
diff --git 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
index a395646..654a331 100644
--- 
a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
+++ 
b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java
@@ -753,6 +753,9 @@
     @DefaultStringValue("$action start service")
     String VAR__ACTION__START_SERVICE();
 
+    @DefaultStringValue("$action stop service")
+    String VAR__ACTION__STOP_SERVICE();
+
     @DefaultStringValue("$action assign")
     String VAR__ACTION__ASSIGN();
 
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 40e2df1..b25fb37 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
@@ -700,6 +700,9 @@
     @DefaultStringValue("Service Start Failed.")
     String ServiceStartFailed();
 
+    @DefaultStringValue("Service Stop Failed.")
+    String ServiceStopFailed();
+
     String ACTIVATE_NIC_FAILED();
 
     String DEACTIVATE_NIC_FAILED();
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/LocalizedEnums.java
 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/LocalizedEnums.java
index 5215e63..3c8a26f 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/LocalizedEnums.java
+++ 
b/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/LocalizedEnums.java
@@ -260,6 +260,10 @@
 
     String AuditLogType___SERVICE_START_FAILED();
 
+    String AuditLogType___SERVICE_STOP();
+
+    String AuditLogType___SERVICE_STOP_FAILED();
+
     String VdcActionType___ActivateVds();
 
        String VdcActionType___RecoveryStoragePool();
@@ -563,6 +567,8 @@
 
        String VdcActionType___StartService();
 
+       String VdcActionType___StopService();
+
        String VdcActionType___ConnectStorageToVds();
 
        String VdcObjectType___AdElements();
diff --git 
a/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties
 
b/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties
index 0a15474..189d0ca 100644
--- 
a/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties
+++ 
b/frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties
@@ -127,6 +127,8 @@
 AuditLogType___GLUSTER_VOLUME_PROFILE_STOP_FAILED=Failed to stop Gluster 
Volume Profile
 AuditLogType___SERVICE_START=Service Started
 AuditLogType___SERVICE_START_FAILED=Failed to Start Service
+AuditLogType___SERVICE_STOP=Service Stopped
+AuditLogType___SERVICE_STOP_FAILED=Failed to Stop Service
 
 VdcActionType___ActivateVds=Activate Host
 VdcActionType___RecoveryStoragePool=Reinitialize Data Center
@@ -253,6 +255,7 @@
 vdcActionType___StartGlusterVolumeProfile=Start Gluster Volume Profile
 vdcActionType___StopGlusterVolumeProfile=Stop Gluster Volume Profile
 VdcActionType___StartService=Start Service
+VdcActionType___StopService=Stop Service
 VdcActionType___ActivateStorageDomain=Activate Storage Domain
 VdcActionType___FenceVdsManualy=Fence Host Manually
 VdcActionType___AddEmptyStoragePool=New Data Center


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: If7a09dadc23555be59677c1412ed7eac9e8f1ca2
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Dhandapani Gopal <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to