Selvasundaram has uploaded a new change for review. Change subject: engine: Disable gluster hook command ......................................................................
engine: Disable gluster hook command Disable the gluster hook in all available up servers in the gluster cluster. - New bll command - New vds command Change-Id: I6fb3e034013d2ceb3590a61efc9bc46b1c3f378f Signed-off-by: Selvasundaram <sesub...@redhat.com> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/DisableGlusterHookCommand.java A backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/gluster/DisableGlusterHookCommandTest.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/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/DisableGlusterHookVDSCommand.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/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/LocalizedEnums.properties 18 files changed, 296 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/73/11073/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/DisableGlusterHookCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/DisableGlusterHookCommand.java new file mode 100644 index 0000000..ad307a8 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/DisableGlusterHookCommand.java @@ -0,0 +1,117 @@ +package org.ovirt.engine.core.bll.gluster; + +import java.util.ArrayList; +import java.util.List; + +import org.ovirt.engine.core.bll.LockIdNameAttribute; +import org.ovirt.engine.core.bll.NonTransactiveCommandAttribute; +import org.ovirt.engine.core.common.AuditLogType; +import org.ovirt.engine.core.common.action.gluster.GlusterHookParameters; +import org.ovirt.engine.core.common.businessentities.VDS; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterHookStatus; +import org.ovirt.engine.core.common.vdscommands.VDSCommandType; +import org.ovirt.engine.core.common.vdscommands.VDSReturnValue; +import org.ovirt.engine.core.common.vdscommands.gluster.GlusterHookVDSParameters; +import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.core.dal.VdcBllMessages; + +/** + * BLL command to disable Gluster hook + */ +@NonTransactiveCommandAttribute +@LockIdNameAttribute(isWait = true) +public class DisableGlusterHookCommand extends GlusterCommandBase<GlusterHookParameters> { + private static final long serialVersionUID = -664356063971083531L; + + public DisableGlusterHookCommand(GlusterHookParameters params) { + super(params); + setVdsGroupId(params.getClusterId()); + } + + @Override + protected void setActionMessageParameters() { + addCanDoActionMessage(VdcBllMessages.VAR__ACTION__DISABLE_GLUSTER_HOOK); + addCanDoActionMessage(VdcBllMessages.VAR__TYPE__GLUSTER_HOOK); + } + + @Override + protected boolean canDoAction() { + if (!super.canDoAction()) { + return false; + } + if (getParameters().getClusterId() == null) { + addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_CLUSTER_IS_NOT_VALID); + return false; + } + + if (getParameters().getHookName() == null || getParameters().getHookName().isEmpty()) { + addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_GLUSTER_HOOK_NAME_IS_REQUIRED); + return false; + } + if (getParameters().getGlusterCommand() == null || getParameters().getGlusterCommand().isEmpty()) { + addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_GLUSTER_COMMAND_IS_REQUIRED); + return false; + } + if (getParameters().getLevel() == null) { + addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_GLUSTER_HOOK_LEVEL_IS_REQUIRED); + return false; + } + + if (getParameters().getLevel() == null) { + addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_GLUSTER_HOOK_LEVEL_IS_REQUIRED); + return false; + } + + List<Guid> upServerIds = getUpServerIds(); + if (upServerIds == null || upServerIds.isEmpty()) { + addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_NO_UP_SERVER_FOUND); + return false; + } + return true; + } + + public List<Guid> getUpServerIds() { + List<Guid> upServerIds = new ArrayList<Guid>(); + for (VDS server : getAllUpServers(getParameters().getClusterId())) { + upServerIds.add(server.getId()); + } + return upServerIds; + } + + @Override + protected void executeCommand() { + List<String> errors = new ArrayList<String>(); + for (Guid upServerId : getUpServerIds()) { + VDSReturnValue returnValue = + runVdsCommand( + VDSCommandType.DisableGlusterHook, + new GlusterHookVDSParameters(upServerId, + getParameters().getGlusterCommand(), + getParameters().getLevel(), + getParameters().getHookName())); + if (!returnValue.getSucceeded()) { + errors.add(returnValue.getVdsError().getMessage()); + } + } + + if (!errors.isEmpty()) { + handleVdsErrors(AuditLogType.GLUSTER_HOOK_DISABLE_FAILED, errors); + } + + if (getUpServerIds().size() > errors.size()) { + UpdateHookStatusInDb(getParameters().getClusterId(), + getParameters().getHookName(), GlusterHookStatus.DISABLED); + setSucceeded(true); + } + } + + @Override + public AuditLogType getAuditLogTypeValue() { + if (getSucceeded()) { + return AuditLogType.GLUSTER_HOOK_DISABLE; + } else { + return errorType == null ? AuditLogType.GLUSTER_HOOK_DISABLE_FAILED : errorType; + } + } +} + diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/gluster/DisableGlusterHookCommandTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/gluster/DisableGlusterHookCommandTest.java new file mode 100644 index 0000000..3d89024 --- /dev/null +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/gluster/DisableGlusterHookCommandTest.java @@ -0,0 +1,118 @@ +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.GlusterHookParameters; +import org.ovirt.engine.core.common.businessentities.VDS; +import org.ovirt.engine.core.common.businessentities.VDSStatus; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterHookLevel; +import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.core.utils.RandomUtils; + +@RunWith(MockitoJUnitRunner.class) +public class DisableGlusterHookCommandTest { + + private static final Guid CLUSTER_ID = new Guid("b399944a-81ab-4ec5-8266-e19ba7c3c9d1"); + private static final String HOOK_NAME = "samba-config"; + private static final String GLUSTER_COMMAND = "create"; + private static final GlusterHookLevel LEVEL = GlusterHookLevel.POST; + + /** + * The command under test. + */ + @Mock + private DisableGlusterHookCommand cmd; + + private List<Guid> getGlusterServers() { + List<Guid> servers = new ArrayList<Guid>(); + servers.add(Guid.createGuidFromString("afce7a39-8e8c-4819-ba9c-796d316592e6")); + servers.add(Guid.createGuidFromString("afce7a39-8e8c-4819-ba9c-796d316592e7")); + servers.add(Guid.createGuidFromString("23f6d691-5dfb-472b-86dc-9e1d2d3c18f3")); + servers.add(Guid.createGuidFromString("2001751e-549b-4e7a-aff6-32d36856c125")); + return servers; + } + + private VDS getUpServer() { + VDS vds = new VDS(); + vds.setId(RandomUtils.instance().pickRandom(getGlusterServers())); + vds.setvds_name("gfs1"); + vds.setvds_group_id(CLUSTER_ID); + vds.setstatus(VDSStatus.Up); + return vds; + } + + private void prepareMocks(DisableGlusterHookCommand command, List<Guid> serverIds) { + doReturn(getUpServer()).when(command).getUpServer(); + doReturn(serverIds).when(command).getUpServerIds(); + doReturn(serverIds).when(command).getAllUpServers(CLUSTER_ID); + } + + @Test + public void canDoActionSucceeds() { + cmd = spy(new DisableGlusterHookCommand(new GlusterHookParameters(CLUSTER_ID, + HOOK_NAME, + GLUSTER_COMMAND, + LEVEL))); + prepareMocks(cmd, getGlusterServers()); + assertTrue(cmd.canDoAction()); + } + + @Test + public void canDoActionFailsOnNullCluster() { + cmd = spy(new DisableGlusterHookCommand(new GlusterHookParameters(null, + HOOK_NAME, + GLUSTER_COMMAND, + LEVEL))); + prepareMocks(cmd, getGlusterServers()); + assertFalse(cmd.canDoAction()); + } + + @Test + public void canDoActionFailsOnNullHookName() { + cmd = spy(new DisableGlusterHookCommand(new GlusterHookParameters(CLUSTER_ID, + null, + GLUSTER_COMMAND, + LEVEL))); + prepareMocks(cmd, getGlusterServers()); + assertFalse(cmd.canDoAction()); + } + + @Test + public void canDoActionFailsOnNullGlusterCommand() { + cmd = spy(new DisableGlusterHookCommand(new GlusterHookParameters(CLUSTER_ID, + HOOK_NAME, + null, + LEVEL))); + prepareMocks(cmd, getGlusterServers()); + assertFalse(cmd.canDoAction()); + } + + @Test + public void canDoActionFailsOnNullLevel() { + cmd = spy(new DisableGlusterHookCommand(new GlusterHookParameters(CLUSTER_ID, + HOOK_NAME, + GLUSTER_COMMAND, + null))); + prepareMocks(cmd, getGlusterServers()); + assertFalse(cmd.canDoAction()); + } + + @Test + public void canDoActionFailsOnNull() { + cmd = spy(new DisableGlusterHookCommand(new GlusterHookParameters(null, null, null, null))); + prepareMocks(cmd, null); + 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 a5003e2..fd81de7 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,7 +230,8 @@ GLUSTER_SERVER_REMOVE(4038), GLUSTER_HOOK_ENABLE(4039), GLUSTER_HOOK_ENABLE_FAILED(4040), - + GLUSTER_HOOK_DISABLE(4041), + GLUSTER_HOOK_DISABLE_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 96f3fc4..822edee 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 @@ -67,6 +67,8 @@ AddEventNotificationEntry(EventNotificationEntity.GlusterVolume, AuditLogType.GLUSTER_VOLUME_PROFILE_STOP_FAILED); AddEventNotificationEntry(EventNotificationEntity.GlusterHook, AuditLogType.GLUSTER_HOOK_ENABLE); AddEventNotificationEntry(EventNotificationEntity.GlusterHook, AuditLogType.GLUSTER_HOOK_ENABLE_FAILED); + AddEventNotificationEntry(EventNotificationEntity.GlusterHook, AuditLogType.GLUSTER_HOOK_DISABLE); + AddEventNotificationEntry(EventNotificationEntity.GlusterHook, AuditLogType.GLUSTER_HOOK_DISABLE_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 eb66f52..e11af04 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), EnableGlusterHook(1413, ActionGroup.MANIPULATE_GLUSTER_HOOK, QuotaDependency.NONE), + DisableGlusterHook(1414, ActionGroup.MANIPULATE_GLUSTER_HOOK, 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 dbdb786..2a468a7 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 @@ -350,7 +350,9 @@ GlusterPeerListFailed(4407), GlusterHookFailed(4500), GlusterHookEnableFailed(4501), + GlusterHookDisableFailed(4502), GlusterHookAlreadyEnabled(4503), + GlusterHookAlreadyDisabled(4504), GlusterHookNotFound(4505), GlusterHookReadFailed(4506), GlusterHookUpdateFailed(4507), 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 cc65080..fccf174 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"), EnableGlusterHook("org.ovirt.engine.core.vdsbroker.gluster"), + DisableGlusterHook("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 3666b22..0834b21 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__ENABLE_GLUSTER_HOOK, + VAR__ACTION__DISABLE_GLUSTER_HOOK, // Host statuses replacements VAR__HOST_STATUS__UP, 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 713a079..6ae0bb8 100644 --- a/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties +++ b/backend/manager/modules/dal/src/main/resources/bundles/AuditLogMessages.properties @@ -581,3 +581,5 @@ GLUSTER_SERVER_REMOVED_FROM_CLI=Server ${VdsName} was removed from Cluster ${VdsGroupName} from gluster CLI. Now removed in engine DB as well. GLUSTER_HOOK_ENABLE=Gluster Hook enabled on ${VdsName}. GLUSTER_HOOK_ENABLE_FAILED=Failed to enable Gluster Hook on ${VdsName}. +GLUSTER_HOOK_DISABLE=Gluster Hook disabled on ${VdsName}. +GLUSTER_HOOK_DISABLE_FAILED=Failed to disable Gluster Hook on ${VdsName}. \ No newline at end of file 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 a37a3d4..3889d6f 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.EnableGlusterHook=Enabling Gluster Hook on ${VDS} +job.DisableGlusterHook=Disabling Gluster Hook on ${VDS} # 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 95bfb8b..d0fbb30 100644 --- a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties +++ b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties @@ -334,6 +334,8 @@ GlusterHookNotFound=Gluster hook not found GlusterHookReadFailed=Failed to read Gluster hook GlusterHookUpdateFailed=Failed to update gluster hook +GlusterHookDisableFailed=Failed to disable gluster hook. +GlusterHookAlreadyDisabled=Gluster Hook already disabled. 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 FailedToPlugDisk=Failed to hot-plug disk 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 dcd02ca..15d3793 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 @@ -43,6 +43,8 @@ case GlusterHookNotFound: case GlusterHookReadFailed: case GlusterHookUpdateFailed: + case GlusterHookDisableFailed: + case GlusterHookAlreadyDisabled: // 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/DisableGlusterHookVDSCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/DisableGlusterHookVDSCommand.java new file mode 100644 index 0000000..889ed6a --- /dev/null +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/DisableGlusterHookVDSCommand.java @@ -0,0 +1,21 @@ +package org.ovirt.engine.core.vdsbroker.gluster; + +import org.ovirt.engine.core.common.vdscommands.gluster.GlusterHookVDSParameters; + +public class DisableGlusterHookVDSCommand<P extends GlusterHookVDSParameters> extends AbstractGlusterBrokerCommand<P> { + + public DisableGlusterHookVDSCommand(P parameters) { + super(parameters); + } + + @Override + protected void ExecuteVdsBrokerCommand() { + status = + getBroker().glusterHookDisable(getParameters().getGlusterCommand(), + getParameters().getLevel().toString(), + getParameters().getHookName()); + + 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 03c774e..fd1987d 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 @@ -249,4 +249,6 @@ GlusterVolumeProfileInfoReturnForXmlRpc glusterVolumeProfileInfo(Guid clusterId, String volumeName); StatusOnlyReturnForXmlRpc glusterHookEnable(String glusterCommand, String level, String hookName); + + StatusOnlyReturnForXmlRpc glusterHookDisable(String glusterCommand, String level, String hookName); } 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 0afe382..88e5317 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 @@ -238,4 +238,6 @@ public Map<String, Object> glusterVolumeProfileInfo(String volumeName); public Map<String, Object> glusterHookEnable(String glusterCommand, String level, String hookName); + + public Map<String, Object> glusterHookDisable(String glusterCommand, String level, String hookName); } 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 c3754ca..741ca4e 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 @@ -1228,4 +1228,16 @@ } } + @Override + public StatusOnlyReturnForXmlRpc glusterHookDisable(String glusterCommand, String level, String hookName) { + try { + + Map<String, Object> xmlRpcReturnValue = vdsServer.glusterHookDisable(glusterCommand, level, hookName); + StatusOnlyReturnForXmlRpc wrapper = new StatusOnlyReturnForXmlRpc(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 3995233..3447fc2 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 @@ -722,4 +722,10 @@ @DefaultStringValue("Failed to update gluster hook") String GlusterHookUpdateFailed(); + @DefaultStringValue("Failed to disable gluster hook.") + String GlusterHookDisableFailed(); + + @DefaultStringValue("Gluster Hook already disabled.") + String GlusterHookAlreadyDisabled(); + } 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 02e6d02..237308b 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___GLUSTER_HOOK_ENABLE=Gluster Hook Enabled AuditLogType___GLUSTER_HOOK_ENABLE_FAILED=Failed to Enable Gluster Hook +AuditLogType___GLUSTER_HOOK_DISABLE=Gluster Hook Disabled +AuditLogType___GLUSTER_HOOK_DISABLE_FAILED=Failed to Disable Gluster Hook VdcActionType___ActivateVds=Activate Host VdcActionType___RecoveryStoragePool=Reinitialize Data Center -- To view, visit http://gerrit.ovirt.org/11073 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6fb3e034013d2ceb3590a61efc9bc46b1c3f378f Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Selvasundaram <sesub...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches