package org.ovirt.engine.core.vdsbroker.gluster;
import org.ovirt.engine.core.common.asynctasks.gluster.GlusterAsyncTask;
import org.ovirt.engine.core.common.vdscommands.gluster.GlusterVolumeRebalanceVDSParameters;
import org.ovirt.engine.core.vdsbroker.vdsbroker.Status;
public class StartRebalanceGlusterVolumeVDSCommand<P extends GlusterVolumeRebalanceVDSParameters> extends AbstractGlusterBrokerCommand<P> {
private GlusterTaskInfoReturn glusterTaskReturn;
private GlusterAsyncTask task;
public StartRebalanceGlusterVolumeVDSCommand(P parameters) {
super(parameters);
}
protected void executeVdsBrokerCommand() {
glusterTaskReturn = getBroker().glusterVolumeRebalanceStart(getParameters().getVolumeName(),
getParameters().isFixLayoutOnly(),
getParameters().isForceAction());
task = glusterTaskReturn.getGlusterTask();
proceedProxyReturnValue();
setReturnValue(task);
}
@Override
protected Status getReturnStatus() {
return glusterTaskReturn.getStatus();
}
@Override
public Object getReturnValue() {
return task;
}
}