Sahina Bose has uploaded a new change for review. Change subject: gluster:VDS command to get gluster tasks list ......................................................................
gluster:VDS command to get gluster tasks list Returns a list of running gluster tasks. This command can be executed on any of the servers in a cluster. Change-Id: I3bf9c1075cd7b27adcbbff8d71de183f40a02eea Signed-off-by: Sahina Bose <sab...@redhat.com> --- 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/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/GlusterTasksListReturnForXmlRpc.java A backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterTasksListVDSCommand.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 11 files changed, 94 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/72/15972/1 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 7eb7175..7c0416d 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 @@ -364,6 +364,7 @@ GlusterVolumeProfileStartFailed(4158), GlusterVolumeProfileStopFailed(4159), GlusterVolumeProfileInfoFailed(4160), + GlusterVolumeStatusAllFailedException(4161), GlusterAddHostFailed(4404), RemoveGlusterServerFailed(4406), GlusterPeerListFailed(4407), 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 d130d3b..1ab1638 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 @@ -141,6 +141,7 @@ AddGlusterHook("org.ovirt.engine.core.vdsbroker.gluster"), RemoveGlusterHook("org.ovirt.engine.core.vdsbroker.gluster"), ManageGlusterService("org.ovirt.engine.core.vdsbroker.gluster"), + GlusterTasksList("org.ovirt.engine.core.vdsbroker.gluster"), ; String packageName; 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 10aa585..af14f3c 100644 --- a/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties +++ b/backend/manager/modules/dal/src/main/resources/bundles/VdsmErrors.properties @@ -361,6 +361,7 @@ GlusterServiceActionNotSupported=Gluster service action not supported GlusterServiceManageFailed=Manage (start/stop/restart) service failed GlusterServiceNotSupported=Gluster service not supported +GlusterVolumeStatusAllFailedException=Failed to get gluster tasks list 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 8ee2a43..b7f4b7b 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 @@ -60,6 +60,7 @@ case GlusterServiceActionNotSupported: case GlusterServiceManageFailed: case GlusterServiceNotSupported: + case GlusterVolumeStatusAllFailedException: // 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/GlusterTasksListReturnForXmlRpc.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterTasksListReturnForXmlRpc.java new file mode 100644 index 0000000..25faf6c --- /dev/null +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterTasksListReturnForXmlRpc.java @@ -0,0 +1,41 @@ +package org.ovirt.engine.core.vdsbroker.gluster; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.ovirt.engine.core.common.asynctasks.gluster.GlusterAsyncTask; +import org.ovirt.engine.core.vdsbroker.irsbroker.StatusReturnForXmlRpc; + +public class GlusterTasksListReturnForXmlRpc extends StatusReturnForXmlRpc { + + private static final String TASKS_LIST = "tasksList"; + private List<GlusterAsyncTask> tasks = new ArrayList<GlusterAsyncTask>(); + + @SuppressWarnings("unchecked") + public GlusterTasksListReturnForXmlRpc(Map<String, Object> innerMap) { + super(innerMap); + + if (mStatus.mCode != 0) { + return; + } + + Object[] tasksArr = (Object[]) innerMap.get(TASKS_LIST); + if (tasksArr != null) { + for (Object taskMap : tasksArr) { + tasks.add(getTask((Map<String, Object>)taskMap)); + } + } + + } + + private GlusterAsyncTask getTask(Map<String, Object> map) { + GlusterAsyncTask task = new GlusterAsyncTask(); + return task; + } + + public List<GlusterAsyncTask> getGlusterTasks() { + return tasks; + } + +} diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterTasksListVDSCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterTasksListVDSCommand.java new file mode 100644 index 0000000..1ffe37f --- /dev/null +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterTasksListVDSCommand.java @@ -0,0 +1,28 @@ +package org.ovirt.engine.core.vdsbroker.gluster; + +import org.ovirt.engine.core.common.vdscommands.VdsIdVDSCommandParametersBase; +import org.ovirt.engine.core.vdsbroker.vdsbroker.StatusForXmlRpc; + +public class GlusterTasksListVDSCommand<P extends VdsIdVDSCommandParametersBase> extends AbstractGlusterBrokerCommand<P> { + + private GlusterTasksListReturnForXmlRpc glusterTasksReturn; + + public GlusterTasksListVDSCommand(P parameters) { + super(parameters); + } + + @Override + protected void ExecuteVdsBrokerCommand() { + glusterTasksReturn = getBroker().glusterTasksList(); + + ProceedProxyReturnValue(); + if (getVDSReturnValue().getSucceeded()) { + setReturnValue(glusterTasksReturn.getGlusterTasks()); + } + } + + @Override + protected StatusForXmlRpc getReturnStatus() { + return glusterTasksReturn.mStatus; + } +} 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 e6c026f..71cb59f 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 @@ -9,6 +9,7 @@ import org.ovirt.engine.core.vdsbroker.gluster.GlusterHooksListReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterServersListReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterServicesReturnForXmlRpc; +import org.ovirt.engine.core.vdsbroker.gluster.GlusterTasksListReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeOptionsInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeProfileInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeStatusReturnForXmlRpc; @@ -251,4 +252,6 @@ StatusOnlyReturnForXmlRpc glusterHookRemove(String glusterCommand, String stage, String hookName); GlusterServicesReturnForXmlRpc glusterServiceManage(Guid serverId, String [] serviceList, String actionType, boolean failOnError); + + GlusterTasksListReturnForXmlRpc glusterTasksList(); } 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 0078042..5b486aa 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> glusterHookRemove(String glusterCommand, String stage, String hookName); public Map<String, Object> glusterServicesManage(String[] serviceNames, String action, boolean failOnError); + + public Map<String, Object> glusterTasksList(); } 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 70bffd2..280c52b 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 @@ -11,6 +11,7 @@ import org.ovirt.engine.core.vdsbroker.gluster.GlusterHooksListReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterServersListReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterServicesReturnForXmlRpc; +import org.ovirt.engine.core.vdsbroker.gluster.GlusterTasksListReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeOptionsInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeProfileInfoReturnForXmlRpc; import org.ovirt.engine.core.vdsbroker.gluster.GlusterVolumeStatusReturnForXmlRpc; @@ -1220,4 +1221,15 @@ throw new XmlRpcRunTimeException(ute); } } + + @Override + public GlusterTasksListReturnForXmlRpc glusterTasksList() { + try { + Map<String, Object> xmlRpcReturnValue = vdsServer.glusterTasksList(); + GlusterTasksListReturnForXmlRpc wrapper = new GlusterTasksListReturnForXmlRpc(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 f887e87..590864a 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 @@ -778,4 +778,7 @@ @DefaultStringValue("Gluster service not supported") String GlusterServiceNotSupported(); + + @DefaultStringValue("Failed to get gluster tasks list") + String GlusterVolumeStatusAllFailedException(); } 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 77c7f08..762f51b 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 @@ -368,3 +368,4 @@ GlusterServiceActionNotSupported=Gluster service action not supported GlusterServiceManageFailed=Manage (start/stop/restart) service failed GlusterServiceNotSupported=Gluster service not supported +GlusterVolumeStatusAllFailedException=Failed to get gluster tasks list -- To view, visit http://gerrit.ovirt.org/15972 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I3bf9c1075cd7b27adcbbff8d71de183f40a02eea Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Sahina Bose <sab...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches